From 5cda8b1b035d37a3693dc2288abd4df35c774735 Mon Sep 17 00:00:00 2001 From: Takanori Matsumoto Date: Mon, 25 Mar 2024 13:01:05 +0900 Subject: [PATCH 01/11] =?UTF-8?q?test:=20=E2=9C=85=20add=20the=20first=20E?= =?UTF-8?q?2E=20test=20and=20configuration=20to=20CI=20(#316)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add tests --- .dockerignore | 1 + .github/workflows/e2e.yml | 31 + jest.config.ts | 27 + out/cli.cjs | 25 +- out/github-action.cjs | 17 +- package-lock.json | 4147 +++++++++++++++++++++++++++++++++++- package.json | 8 +- src/commands/config.ts | 5 +- src/engine/openAi.ts | 2 +- src/engine/testAi.ts | 12 + src/utils/engine.ts | 3 + test/Dockerfile | 21 + test/e2e/noChanges.test.ts | 13 + test/e2e/oneFile.test.ts | 56 + test/e2e/utils.ts | 31 + test/jest-setup.ts | 7 + tsconfig.json | 3 + 17 files changed, 4380 insertions(+), 29 deletions(-) create mode 100644 .dockerignore create mode 100644 .github/workflows/e2e.yml create mode 100644 jest.config.ts create mode 100644 src/engine/testAi.ts create mode 100644 test/Dockerfile create mode 100644 test/e2e/noChanges.test.ts create mode 100644 test/e2e/oneFile.test.ts create mode 100644 test/e2e/utils.ts create mode 100644 test/jest-setup.ts diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.env diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 0000000..f4f092d --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,31 @@ +name: E2E Testing + +on: [pull_request] + +jobs: + e2e-test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [20.x] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + - name: Install git + run: | + sudo apt-get update + sudo apt-get install -y git + git --version + - name: Setup git + run: | + git config --global user.email "test@example.com" + git config --global user.name "Test User" + - name: Install dependencies + run: npm install + - name: Build + run: npm run build + - name: Run E2E Tests + run: npm run test:e2e diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000..2130dc1 --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,27 @@ +/** + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +import type {Config} from 'jest'; + +const config: Config = { + coverageProvider: "v8", + moduleDirectories: [ + "node_modules", + "src", + ], + preset: 'ts-jest', + setupFilesAfterEnv: ['/test/jest-setup.ts'], + testEnvironment: "node", + testRegex: [ + '.*\\.test\\.ts$', + ], + transform: { + '^.+\\.(ts|tsx)$': ['ts-jest', { + diagnostics: false, + }], + } +}; + +export default config; diff --git a/out/cli.cjs b/out/cli.cjs index f33017d..dbcdc14 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -16431,19 +16431,25 @@ var package_default = { "build:push": "npm run build && git add . && git commit -m 'build' && git push", deploy: "npm version patch && npm run build:push && git push --tags && npm publish --tag latest", lint: "eslint src --ext ts && tsc --noEmit", - format: "prettier --write src" + format: "prettier --write src", + "test:e2e": "jest test/e2e", + "test:e2e:docker": "docker build -t oco-e2e -f test/Dockerfile . && DOCKER_CONTENT_TRUST=0 docker run oco-e2e" }, devDependencies: { "@commitlint/types": "^17.4.4", "@types/ini": "^1.3.31", "@types/inquirer": "^9.0.3", + "@types/jest": "^29.5.12", "@types/node": "^16.18.14", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "cli-testing-library": "^2.0.2", dotenv: "^16.0.3", esbuild: "^0.15.18", eslint: "^8.28.0", + jest: "^29.7.0", prettier: "^2.8.4", + "ts-jest": "^29.1.2", "ts-node": "^10.9.1", typescript: "^4.9.3" }, @@ -18662,7 +18668,7 @@ var configValidators = { ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { validateConfig( "API_KEY", - value || config8.OCO_AI_PROVIDER == "ollama", + value || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", "You need to provide an API key" ); validateConfig( @@ -18778,7 +18784,8 @@ var configValidators = { [ "", "openai", - "ollama" + "ollama", + "test" ].includes(value), `${value} is not supported yet, use 'ollama' or 'openai' (default)` ); @@ -21945,7 +21952,7 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; +var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama" || config3?.OCO_AI_PROVIDER == "test"; if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { ae("opencommit"); ce( @@ -22029,11 +22036,21 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// src/engine/testAi.ts +var TestAi = class { + async generateCommitMessage(messages) { + return "test commit message"; + } +}; +var testAi = new TestAi(); + // src/utils/engine.ts function getEngine() { const config8 = getConfig(); if (config8?.OCO_AI_PROVIDER == "ollama") { return ollamaAi; + } else if (config8?.OCO_AI_PROVIDER == "test") { + return testAi; } return api; } diff --git a/out/github-action.cjs b/out/github-action.cjs index 967d82a..ddc1700 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -24157,7 +24157,7 @@ var configValidators = { ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) { validateConfig( "API_KEY", - value || config7.OCO_AI_PROVIDER == "ollama", + value || config7.OCO_AI_PROVIDER == "ollama" || config7.OCO_AI_PROVIDER == "test", "You need to provide an API key" ); validateConfig( @@ -24273,7 +24273,8 @@ var configValidators = { [ "", "openai", - "ollama" + "ollama", + "test" ].includes(value), `${value} is not supported yet, use 'ollama' or 'openai' (default)` ); @@ -27440,7 +27441,7 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; +var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama" || config3?.OCO_AI_PROVIDER == "test"; if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { ae("opencommit"); ce( @@ -27524,11 +27525,21 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// src/engine/testAi.ts +var TestAi = class { + async generateCommitMessage(messages) { + return "test commit message"; + } +}; +var testAi = new TestAi(); + // src/utils/engine.ts function getEngine() { const config7 = getConfig(); if (config7?.OCO_AI_PROVIDER == "ollama") { return ollamaAi; + } else if (config7?.OCO_AI_PROVIDER == "test") { + return testAi; } return api; } diff --git a/package-lock.json b/package-lock.json index 1a26a7b..0582019 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,13 +35,17 @@ "@commitlint/types": "^17.4.4", "@types/ini": "^1.3.31", "@types/inquirer": "^9.0.3", + "@types/jest": "^29.5.12", "@types/node": "^16.18.14", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "cli-testing-library": "^2.0.2", "dotenv": "^16.0.3", "esbuild": "^0.15.18", "eslint": "^8.28.0", + "jest": "^29.7.0", "prettier": "^2.8.4", + "ts-jest": "^29.1.2", "ts-node": "^10.9.1", "typescript": "^4.9.3" } @@ -156,7 +160,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -165,11 +168,361 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/parser": { + "node_modules/@babel/code-frame": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.1.tgz", + "integrity": "sha512-bC49z4spJQR3j8vFtJBLqzyzFV0ciuL5HYX7qfSl3KEqeMVV+eTquRvmXxpvB0AMubRrvv7y5DILiLLPi57Ewg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.1", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.1.tgz", + "integrity": "sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "peer": true, + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.1.tgz", + "integrity": "sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.1.tgz", + "integrity": "sha512-EPmDPxidWe/Ex+HTFINpvXdPHRmgSF3T8hGvzondYjmgzTQ/0EbLpSxyt+w3zzlYSk9cNBQNF9k0dT5Z2NiBjw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -177,6 +530,259 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "node_modules/@clack/core": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.2.tgz", @@ -368,20 +974,626 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "peer": true, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", @@ -391,10 +1603,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "peer": true, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } @@ -673,6 +1884,30 @@ "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-6.11.0.tgz", "integrity": "sha512-AanzbulOHljrku1NGfafxdpTCfw2ENaWzH01N2vqQM+cUFbk868Cgh0xylz0JIM9BoKbfI++bdD6EYX0Q/UTEw==" }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -697,12 +1932,62 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, "node_modules/@types/estree": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", "peer": true }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/ini": { "version": "1.3.31", "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.31.tgz", @@ -719,6 +2004,40 @@ "rxjs": "^7.2.0" } }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -737,6 +2056,12 @@ "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, "node_modules/@types/through": { "version": "0.0.30", "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", @@ -746,6 +2071,21 @@ "@types/node": "*" } }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.54.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.1.tgz", @@ -1191,6 +2531,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -1221,6 +2574,15 @@ "node": ">=8" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1245,6 +2607,153 @@ "dequal": "^2.0.3" } }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1307,6 +2816,59 @@ "node": ">=8" } }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -1330,6 +2892,12 @@ "ieee754": "^1.2.1" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1339,6 +2907,35 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001599", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", + "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, "node_modules/chalk": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", @@ -1350,11 +2947,41 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, "node_modules/cleye": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/cleye/-/cleye-1.3.2.tgz", @@ -1392,6 +3019,147 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-testing-library": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cli-testing-library/-/cli-testing-library-2.0.2.tgz", + "integrity": "sha512-sbVmrdkexfApGuhKa36QknUvBvBtvtwuRrtMcyzBylhwCK+c0WPMALpgVijU2/YP7Af8Yud0rs+6ZsUO0uS9jA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "jest-matcher-utils": "^27.4.2", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2", + "redent": "^3.0.0", + "slice-ansi": "^4.0.0", + "strip-ansi": "^6.0.1", + "strip-final-newline": "^2.0.0", + "tree-kill": "^1.2.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cli-testing-library/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-testing-library/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-testing-library/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/cli-testing-library/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/cli-testing-library/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/cli-testing-library/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/cli-testing-library/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/cli-testing-library/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-testing-library/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/cli-testing-library/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cli-width": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.0.0.tgz", @@ -1400,6 +3168,72 @@ "node": ">= 12" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -1408,6 +3242,16 @@ "node": ">=0.8" } }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, "node_modules/code-red": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", @@ -1421,6 +3265,12 @@ "periscopic": "^3.1.0" } }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1456,6 +3306,64 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -1517,12 +3425,35 @@ } } }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -1555,6 +3486,15 @@ "node": ">=6" } }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -1564,6 +3504,15 @@ "node": ">=0.3.1" } }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -1602,11 +3551,38 @@ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, + "node_modules/electron-to-chromium": { + "version": "1.4.710", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.710.tgz", + "integrity": "sha512-w+9yAVHoHhysCa+gln7AzbO9CdjFcL/wN/5dd+XW/Msl2d/4+WisEaCF1nty0xbAKaxdaJfgLB2296U7zZB7BA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/esbuild": { "version": "0.15.18", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", @@ -1964,6 +3940,15 @@ "node": ">=12" } }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2152,6 +4137,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -2251,6 +4249,31 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -2319,6 +4342,15 @@ "reusify": "^1.0.4" } }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, "node_modules/figures": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", @@ -2442,6 +4474,56 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2520,6 +4602,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/grapheme-splitter": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", @@ -2535,6 +4623,24 @@ "node": ">=8" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "node_modules/human-signals": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.0.tgz", @@ -2597,6 +4703,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -2606,6 +4731,15 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2679,6 +4813,24 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2688,6 +4840,24 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2773,6 +4943,1207 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/js-sdsl": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", @@ -2786,8 +6157,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "peer": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -2801,6 +6171,24 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2813,6 +6201,36 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2826,6 +6244,12 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "node_modules/locate-character": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", @@ -2852,6 +6276,12 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2897,6 +6327,15 @@ "node": ">=10" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/magic-string": { "version": "0.30.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", @@ -2909,12 +6348,51 @@ "node": ">=12" } }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -2978,6 +6456,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3049,6 +6536,27 @@ } } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -3215,6 +6723,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3227,6 +6744,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3253,6 +6788,12 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -3290,6 +6831,79 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -3342,6 +6956,45 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -3356,6 +7009,22 @@ "node": ">=6" } }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3388,6 +7057,12 @@ "node": ">=0.10.0" } }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -3401,6 +7076,25 @@ "node": ">= 6" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -3413,6 +7107,53 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3422,6 +7163,15 @@ "node": ">=4" } }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/restore-cursor": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", @@ -3609,6 +7359,38 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/solid-js": { "version": "1.7.12", "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.7.12.tgz", @@ -3631,6 +7413,15 @@ "swr-store": "^0.10" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -3640,6 +7431,22 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, "node_modules/sswr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.0.0.tgz", @@ -3651,6 +7458,27 @@ "svelte": "^4.0.0" } }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -3659,6 +7487,19 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -3712,6 +7553,15 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -3723,6 +7573,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3747,6 +7609,18 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/svelte": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", @@ -3824,6 +7698,20 @@ "url": "https://github.com/privatenumber/terminal-columns?sponsor=1" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -3846,6 +7734,21 @@ "node": ">=0.6.0" } }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3863,6 +7766,73 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", + "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -3952,6 +7922,15 @@ "node": ">= 0.8.0" } }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -3990,6 +7969,36 @@ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -4026,6 +8035,30 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/vue": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", @@ -4039,6 +8072,15 @@ "@vue/shared": "3.3.4" } }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -4130,12 +8172,81 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 0b2fe31..4df5cec 100644 --- a/package.json +++ b/package.json @@ -47,19 +47,25 @@ "build:push": "npm run build && git add . && git commit -m 'build' && git push", "deploy": "npm version patch && npm run build:push && git push --tags && npm publish --tag latest", "lint": "eslint src --ext ts && tsc --noEmit", - "format": "prettier --write src" + "format": "prettier --write src", + "test:e2e": "jest test/e2e", + "test:e2e:docker": "docker build -t oco-e2e -f test/Dockerfile . && DOCKER_CONTENT_TRUST=0 docker run oco-e2e" }, "devDependencies": { "@commitlint/types": "^17.4.4", "@types/ini": "^1.3.31", "@types/inquirer": "^9.0.3", + "@types/jest": "^29.5.12", "@types/node": "^16.18.14", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "cli-testing-library": "^2.0.2", "dotenv": "^16.0.3", "esbuild": "^0.15.18", "eslint": "^8.28.0", + "jest": "^29.7.0", "prettier": "^2.8.4", + "ts-jest": "^29.1.2", "ts-node": "^10.9.1", "typescript": "^4.9.3" }, diff --git a/src/commands/config.ts b/src/commands/config.ts index 9bc2e3e..4a574b3 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -57,7 +57,7 @@ export const configValidators = { //need api key unless running locally with ollama validateConfig( 'API_KEY', - value || config.OCO_AI_PROVIDER == 'ollama', + value || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', 'You need to provide an API key' ); validateConfig( @@ -190,7 +190,8 @@ export const configValidators = { [ '', 'openai', - 'ollama' + 'ollama', + 'test' ].includes(value), `${value} is not supported yet, use 'ollama' or 'openai' (default)` ); diff --git a/src/engine/openAi.ts b/src/engine/openAi.ts index 4148073..15d63be 100644 --- a/src/engine/openAi.ts +++ b/src/engine/openAi.ts @@ -27,7 +27,7 @@ let apiKey = config?.OCO_OPENAI_API_KEY const [command, mode] = process.argv.slice(2); -const isLocalModel = config?.OCO_AI_PROVIDER == 'ollama' +const isLocalModel = config?.OCO_AI_PROVIDER == 'ollama' || config?.OCO_AI_PROVIDER == 'test'; if (!apiKey && command !== 'config' && mode !== CONFIG_MODES.set && !isLocalModel) { diff --git a/src/engine/testAi.ts b/src/engine/testAi.ts new file mode 100644 index 0000000..2d4f72b --- /dev/null +++ b/src/engine/testAi.ts @@ -0,0 +1,12 @@ +import { ChatCompletionRequestMessage } from 'openai'; +import { AiEngine } from './Engine'; + +export class TestAi implements AiEngine { + async generateCommitMessage( + messages: Array + ): Promise { + return 'test commit message'; + } +} + +export const testAi = new TestAi(); diff --git a/src/utils/engine.ts b/src/utils/engine.ts index 74d780b..c95dd96 100644 --- a/src/utils/engine.ts +++ b/src/utils/engine.ts @@ -2,11 +2,14 @@ import { AiEngine } from '../engine/Engine'; import { api } from '../engine/openAi'; import { getConfig } from '../commands/config'; import { ollamaAi } from '../engine/ollama'; +import { testAi } from '../engine/testAi'; export function getEngine(): AiEngine { const config = getConfig(); if (config?.OCO_AI_PROVIDER == 'ollama') { return ollamaAi; + } else if (config?.OCO_AI_PROVIDER == 'test') { + return testAi; } //open ai gpt by default return api; diff --git a/test/Dockerfile b/test/Dockerfile new file mode 100644 index 0000000..80c8f3c --- /dev/null +++ b/test/Dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:latest + +RUN apt-get update && apt-get install -y curl git + +# Install Node.js v20 +RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - +RUN apt-get install -y nodejs + +# Setup git +RUN git config --global user.email "test@example.com" +RUN git config --global user.name "Test User" + +COPY . /app +WORKDIR /app + +RUN ls -la + +RUN npm install +RUN npm run build + +CMD ["npm", "run", "test:e2e"] diff --git a/test/e2e/noChanges.test.ts b/test/e2e/noChanges.test.ts new file mode 100644 index 0000000..031e88b --- /dev/null +++ b/test/e2e/noChanges.test.ts @@ -0,0 +1,13 @@ +import { resolve } from 'path' +import { render } from 'cli-testing-library' +import 'cli-testing-library/extend-expect'; +import { prepareEnvironment } from './utils'; + +it('cli flow when there are no changes', async () => { + const { gitDir, cleanup } = await prepareEnvironment(); + + const { findByText } = await render(`OCO_AI_PROVIDER='test' node`, [resolve('./out/cli.cjs')], { cwd: gitDir }); + expect(await findByText('No changes detected')).toBeInTheConsole(); + + await cleanup(); +}); diff --git a/test/e2e/oneFile.test.ts b/test/e2e/oneFile.test.ts new file mode 100644 index 0000000..d1cc31d --- /dev/null +++ b/test/e2e/oneFile.test.ts @@ -0,0 +1,56 @@ +import { resolve } from 'path' +import { render } from 'cli-testing-library' +import 'cli-testing-library/extend-expect'; +import { prepareEnvironment } from './utils'; + +it('cli flow to generate commit message for 1 new file (staged)', async () => { + const { gitDir, cleanup } = await prepareEnvironment(); + + await render('echo' ,[`'console.log("Hello World");' > index.ts`], { cwd: gitDir }); + await render('git' ,['add index.ts'], { cwd: gitDir }); + + const { queryByText, findByText, userEvent } = await render(`OCO_AI_PROVIDER='test' node`, [resolve('./out/cli.cjs')], { cwd: gitDir }); + + expect(await queryByText('No files are staged')).not.toBeInTheConsole(); + expect(await queryByText('Do you want to stage all files and generate commit message?')).not.toBeInTheConsole(); + + expect(await findByText('Generating the commit message')).toBeInTheConsole(); + expect(await findByText('Confirm the commit message?')).toBeInTheConsole(); + userEvent.keyboard('[Enter]'); + + expect(await findByText('Do you want to run `git push`?')).toBeInTheConsole(); + userEvent.keyboard('[Enter]'); + + expect(await findByText('Successfully pushed all commits to origin')).toBeInTheConsole(); + + await cleanup(); +}); + +it('cli flow to generate commit message for 1 changed file (not staged)', async () => { + const { gitDir, cleanup } = await prepareEnvironment(); + + await render('echo' ,[`'console.log("Hello World");' > index.ts`], { cwd: gitDir }); + await render('git' ,['add index.ts'], { cwd: gitDir }); + await render('git' ,[`commit -m 'add new file'`], { cwd: gitDir }); + + await render('echo' ,[`'console.log("Good night World");' >> index.ts`], { cwd: gitDir }); + + const { findByText, userEvent } = await render(`OCO_AI_PROVIDER='test' node`, [resolve('./out/cli.cjs')], { cwd: gitDir }); + + expect(await findByText('No files are staged')).toBeInTheConsole(); + expect(await findByText('Do you want to stage all files and generate commit message?')).toBeInTheConsole(); + userEvent.keyboard('[Enter]'); + + expect(await findByText('Generating the commit message')).toBeInTheConsole(); + expect(await findByText('Confirm the commit message?')).toBeInTheConsole(); + userEvent.keyboard('[Enter]'); + + expect(await findByText('Successfully committed')).toBeInTheConsole(); + + expect(await findByText('Do you want to run `git push`?')).toBeInTheConsole(); + userEvent.keyboard('[Enter]'); + + expect(await findByText('Successfully pushed all commits to origin')).toBeInTheConsole(); + + await cleanup(); +}); diff --git a/test/e2e/utils.ts b/test/e2e/utils.ts new file mode 100644 index 0000000..3094966 --- /dev/null +++ b/test/e2e/utils.ts @@ -0,0 +1,31 @@ +import path from 'path' +import { mkdtemp, rm } from 'fs' +import { promisify } from 'util'; +import { tmpdir } from 'os'; +import { exec } from 'child_process'; +const fsMakeTempDir = promisify(mkdtemp); +const fsExec = promisify(exec); +const fsRemove = promisify(rm); + +/** + * Prepare the environment for the test + * Create a temporary git repository in the temp directory + */ +export const prepareEnvironment = async (): Promise<{ + gitDir: string; + cleanup: () => Promise; +}> => { + const tempDir = await fsMakeTempDir(path.join(tmpdir(), 'opencommit-test-')); + // Create a remote git repository int the temp directory. This is necessary to execute the `git push` command + await fsExec('git init --bare remote.git', { cwd: tempDir }); + await fsExec('git clone remote.git test', { cwd: tempDir }); + const gitDir = path.resolve(tempDir, 'test'); + + const cleanup = async () => { + return fsRemove(tempDir, { recursive: true }); + } + return { + gitDir, + cleanup, + } +} diff --git a/test/jest-setup.ts b/test/jest-setup.ts new file mode 100644 index 0000000..eb782d3 --- /dev/null +++ b/test/jest-setup.ts @@ -0,0 +1,7 @@ +import 'cli-testing-library/extend-expect' +import { configure } from 'cli-testing-library' + +/** + * Adjusted the wait time for waitFor/findByText to 2000ms, because the default 1000ms makes the test results flaky + */ +configure({ asyncUtilTimeout: 2000 }) diff --git a/tsconfig.json b/tsconfig.json index 3998f29..3009ccd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,6 +21,9 @@ "skipLibCheck": true }, + "include": [ + "test/jest-setup.ts" + ], "exclude": ["node_modules"], "ts-node": { "esm": true, From c410486e3099cf6db65a07e08b93a3401a5bdee3 Mon Sep 17 00:00:00 2001 From: Moret84 Date: Fri, 29 Mar 2024 03:57:20 +0100 Subject: [PATCH 02/11] Add push config (#220) --- README.md | 7 +++++++ src/commands/commit.ts | 6 +++++- src/commands/config.ts | 11 ++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab12d62..725ed6b 100644 --- a/README.md +++ b/README.md @@ -169,6 +169,13 @@ oco config set OCO_LANGUAGE=franΓ§aise The default language setting is **English** All available languages are currently listed in the [i18n](https://github.com/di-sukharev/opencommit/tree/master/src/i18n) folder +### Push to git + +Pushing to git is on by default but if you would like to turn it off just use: +```sh +oc config set OCO_GITPUSH=false +``` + ### Switch to `@commitlint` OpenCommit allows you to choose the prompt module used to generate commit messages. By default, OpenCommit uses its conventional-commit message generator. However, you can switch to using the `@commitlint` prompt module if you prefer. This option lets you generate commit messages in respect with the local config. diff --git a/src/commands/commit.ts b/src/commands/commit.ts index a2d4550..1727db7 100644 --- a/src/commands/commit.ts +++ b/src/commands/commit.ts @@ -94,13 +94,17 @@ ${chalk.grey('β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”')}` const remotes = await getGitRemotes(); + // user isn't pushing, return early + if (config?.OCO_GITPUSH === false) + return + if (!remotes.length) { const { stdout } = await execa('git', ['push']); if (stdout) outro(stdout); process.exit(0); } - if (remotes.length === 1) { + if (remotes.length === 1 && config?.OCO_GITPUSH !== true) { const isPushConfirmedByUser = await confirm({ message: 'Do you want to run `git push`?' }); diff --git a/src/commands/config.ts b/src/commands/config.ts index 4a574b3..3be2bf4 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -25,6 +25,7 @@ export enum CONFIG_KEYS { OCO_MESSAGE_TEMPLATE_PLACEHOLDER = 'OCO_MESSAGE_TEMPLATE_PLACEHOLDER', OCO_PROMPT_MODULE = 'OCO_PROMPT_MODULE', OCO_AI_PROVIDER = 'OCO_AI_PROVIDER', + OCO_GITPUSH = 'OCO_GITPUSH', OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT' } @@ -180,7 +181,15 @@ export const configValidators = { ['conventional-commit', '@commitlint'].includes(value), `${value} is not supported yet, use '@commitlint' or 'conventional-commit' (default)` ); + return value; + }, + [CONFIG_KEYS.OCO_GITPUSH](value: any) { + validateConfig( + CONFIG_KEYS.OCO_GITPUSH, + typeof value === 'boolean', + 'Must be true or false' + ); return value; }, @@ -233,6 +242,7 @@ export const getConfig = (): ConfigType | null => { process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || '$msg', OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || 'conventional-commit', OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || 'openai', + OCO_GITPUSH: process.env.OCO_GITPUSH === 'false' ? false : true, OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === 'true' ? true : false }; @@ -244,7 +254,6 @@ export const getConfig = (): ConfigType | null => { for (const configKey of Object.keys(config)) { if ( - !config[configKey] || ['null', 'undefined'].includes(config[configKey]) ) { config[configKey] = undefined; From a4480893cb308356ae04e5025d2b279e09238b34 Mon Sep 17 00:00:00 2001 From: yowatari <4982161+YOwatari@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:55:41 +0900 Subject: [PATCH 03/11] feat: add instructions and support for configuring gpt-4-turbo (#320) * 3.0.12 * build * feat: add 'gpt-4-turbo' to supported models in README and config validation --------- Co-authored-by: di-sukharev --- README.md | 2 +- out/cli.cjs | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/commands/config.ts | 7 ++++--- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 725ed6b..538b9f8 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ OCO_TOKENS_MAX_OUTPUT= OCO_OPENAI_BASE_PATH= OCO_DESCRIPTION= OCO_EMOJI= -OCO_MODEL= +OCO_MODEL= OCO_LANGUAGE= OCO_MESSAGE_TEMPLATE_PLACEHOLDER= OCO_PROMPT_MODULE= diff --git a/out/cli.cjs b/out/cli.cjs index dbcdc14..48533c1 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -16384,7 +16384,7 @@ function G3(t, e2) { // package.json var package_default = { name: "opencommit", - version: "3.0.11", + version: "3.0.12", description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}", keywords: [ "git", diff --git a/package-lock.json b/package-lock.json index 0582019..28c4112 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "opencommit", - "version": "3.0.11", + "version": "3.0.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencommit", - "version": "3.0.11", + "version": "3.0.12", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", diff --git a/package.json b/package.json index 4df5cec..b9f645d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencommit", - "version": "3.0.11", + "version": "3.0.12", "description": "Auto-generate impressive commits in 1 second. Killing lame commits with AI πŸ€―πŸ”«", "keywords": [ "git", diff --git a/src/commands/config.ts b/src/commands/config.ts index 3be2bf4..b914abd 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -159,10 +159,11 @@ export const configValidators = { 'gpt-3.5-turbo-0125', 'gpt-4', 'gpt-4-1106-preview', - 'gpt-4-turbo-preview', - 'gpt-4-0125-preview' + 'gpt-4-0125-preview', + 'gpt-4-turbo', + 'gpt-4-turbo-preview' ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` ); return value; }, From 91399a0c6835dc2ab72ef932a497d29360b7a785 Mon Sep 17 00:00:00 2001 From: Takanori Matsumoto Date: Sat, 13 Apr 2024 21:42:32 +0900 Subject: [PATCH 04/11] =?UTF-8?q?=E2=9C=85=20fix=20the=20broken=20E2E=20te?= =?UTF-8?q?sts=20due=20to=20the=20addition=20of=20OCO=5FGITPUSH=20(#321)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test(oneFile.test.ts): update test expectations to match new push prompt text * build --- out/cli.cjs | 22 +++++++++++++++++----- out/github-action.cjs | 18 ++++++++++++++---- test/e2e/oneFile.test.ts | 4 ++-- 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/out/cli.cjs b/out/cli.cjs index 48533c1..5247d2f 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -18755,10 +18755,11 @@ var configValidators = { "gpt-3.5-turbo-0125", "gpt-4", "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" + "gpt-4-0125-preview", + "gpt-4-turbo", + "gpt-4-turbo-preview" ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` ); return value; }, @@ -18778,6 +18779,14 @@ var configValidators = { ); return value; }, + ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { + validateConfig( + "OCO_GITPUSH" /* OCO_GITPUSH */, + typeof value === "boolean", + "Must be true or false" + ); + return value; + }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, @@ -18814,6 +18823,7 @@ var getConfig = () => { OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", + OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); @@ -18822,7 +18832,7 @@ var getConfig = () => { const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); const config8 = (0, import_ini.parse)(configFile); for (const configKey of Object.keys(config8)) { - if (!config8[configKey] || ["null", "undefined"].includes(config8[configKey])) { + if (["null", "undefined"].includes(config8[configKey])) { config8[configKey] = void 0; continue; } @@ -22472,13 +22482,15 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(`${source_default.green("\u2714")} Successfully committed`); ce(stdout); const remotes = await getGitRemotes(); + if (config7?.OCO_GITPUSH === false) + return; if (!remotes.length) { const { stdout: stdout2 } = await execa("git", ["push"]); if (stdout2) ce(stdout2); process.exit(0); } - if (remotes.length === 1) { + if (remotes.length === 1 && config7?.OCO_GITPUSH !== true) { const isPushConfirmedByUser = await Q3({ message: "Do you want to run `git push`?" }); diff --git a/out/github-action.cjs b/out/github-action.cjs index ddc1700..943c66f 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -24244,10 +24244,11 @@ var configValidators = { "gpt-3.5-turbo-0125", "gpt-4", "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" + "gpt-4-0125-preview", + "gpt-4-turbo", + "gpt-4-turbo-preview" ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` ); return value; }, @@ -24267,6 +24268,14 @@ var configValidators = { ); return value; }, + ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { + validateConfig( + "OCO_GITPUSH" /* OCO_GITPUSH */, + typeof value === "boolean", + "Must be true or false" + ); + return value; + }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, @@ -24303,6 +24312,7 @@ var getConfig = () => { OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", + OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); @@ -24311,7 +24321,7 @@ var getConfig = () => { const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); const config7 = (0, import_ini.parse)(configFile); for (const configKey of Object.keys(config7)) { - if (!config7[configKey] || ["null", "undefined"].includes(config7[configKey])) { + if (["null", "undefined"].includes(config7[configKey])) { config7[configKey] = void 0; continue; } diff --git a/test/e2e/oneFile.test.ts b/test/e2e/oneFile.test.ts index d1cc31d..aaa69c1 100644 --- a/test/e2e/oneFile.test.ts +++ b/test/e2e/oneFile.test.ts @@ -18,7 +18,7 @@ it('cli flow to generate commit message for 1 new file (staged)', async () => { expect(await findByText('Confirm the commit message?')).toBeInTheConsole(); userEvent.keyboard('[Enter]'); - expect(await findByText('Do you want to run `git push`?')).toBeInTheConsole(); + expect(await findByText('Choose a remote to push to')).toBeInTheConsole(); userEvent.keyboard('[Enter]'); expect(await findByText('Successfully pushed all commits to origin')).toBeInTheConsole(); @@ -47,7 +47,7 @@ it('cli flow to generate commit message for 1 changed file (not staged)', async expect(await findByText('Successfully committed')).toBeInTheConsole(); - expect(await findByText('Do you want to run `git push`?')).toBeInTheConsole(); + expect(await findByText('Choose a remote to push to')).toBeInTheConsole(); userEvent.keyboard('[Enter]'); expect(await findByText('Successfully pushed all commits to origin')).toBeInTheConsole(); From 673eee209d7e1de843a503d6c9738b18f52f9bff Mon Sep 17 00:00:00 2001 From: metavind <94786679+metavind@users.noreply.github.com> Date: Sun, 14 Apr 2024 07:20:12 +0200 Subject: [PATCH 05/11] Feat: Add Claude 3 support (#318) * 3.0.12 * build * feat: anthropic claude 3 support * fix: add system prompt * fix: type check * fix: package version * fix: update anthropic for dependency bug fix * feat: update build files * feat: update version number --------- Co-authored-by: di-sukharev --- out/cli.cjs | 17358 ++++++++++++++++++--- out/github-action.cjs | 30699 +++++++++++++++++++++++++++++++++++--- out/tiktoken_bg.wasm | Bin 794184 -> 1098236 bytes package-lock.json | 3036 ++-- package.json | 3 +- src/commands/config.ts | 61 +- src/engine/anthropic.ts | 124 + src/engine/openAi.ts | 35 +- src/utils/engine.ts | 3 + 9 files changed, 45753 insertions(+), 5566 deletions(-) create mode 100644 src/engine/anthropic.ts diff --git a/out/cli.cjs b/out/cli.cjs index 5247d2f..523e6da 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -6,9 +6,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; +var __export = (target, all3) => { + for (var name in all3) + __defProp(target, name, { get: all3[name], enumerable: true }); +}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -27,7 +34,7 @@ var require_windows = __commonJS({ "node_modules/isexe/windows.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs4 = require("fs"); + var fs5 = require("fs"); function checkPathExt(path5, options) { var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT; if (!pathext) { @@ -37,8 +44,8 @@ var require_windows = __commonJS({ if (pathext.indexOf("") !== -1) { return true; } - for (var i2 = 0; i2 < pathext.length; i2++) { - var p4 = pathext[i2].toLowerCase(); + for (var i3 = 0; i3 < pathext.length; i3++) { + var p4 = pathext[i3].toLowerCase(); if (p4 && path5.substr(-p4.length).toLowerCase() === p4) { return true; } @@ -52,12 +59,12 @@ var require_windows = __commonJS({ return checkPathExt(path5, options); } function isexe(path5, options, cb) { - fs4.stat(path5, function(er, stat) { - cb(er, er ? false : checkStat(stat, path5, options)); + fs5.stat(path5, function(er2, stat) { + cb(er2, er2 ? false : checkStat(stat, path5, options)); }); } function sync(path5, options) { - return checkStat(fs4.statSync(path5), path5, options); + return checkStat(fs5.statSync(path5), path5, options); } } }); @@ -67,14 +74,14 @@ var require_mode = __commonJS({ "node_modules/isexe/mode.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs4 = require("fs"); + var fs5 = require("fs"); function isexe(path5, options, cb) { - fs4.stat(path5, function(er, stat) { - cb(er, er ? false : checkStat(stat, options)); + fs5.stat(path5, function(er2, stat) { + cb(er2, er2 ? false : checkStat(stat, options)); }); } function sync(path5, options) { - return checkStat(fs4.statSync(path5), options); + return checkStat(fs5.statSync(path5), options); } function checkStat(stat, options) { return stat.isFile() && checkMode(stat, options); @@ -85,11 +92,11 @@ var require_mode = __commonJS({ var gid = stat.gid; var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid(); var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid(); - var u2 = parseInt("100", 8); - var g3 = parseInt("010", 8); - var o2 = parseInt("001", 8); - var ug = u2 | g3; - var ret = mod & o2 || mod & g3 && gid === myGid || mod & u2 && uid === myUid || mod & ug && myUid === 0; + var u3 = parseInt("100", 8); + var g4 = parseInt("010", 8); + var o3 = parseInt("001", 8); + var ug = u3 | g4; + var ret = mod & o3 || mod & g4 && gid === myGid || mod & u3 && uid === myUid || mod & ug && myUid === 0; return ret; } } @@ -98,7 +105,7 @@ var require_mode = __commonJS({ // node_modules/isexe/index.js var require_isexe = __commonJS({ "node_modules/isexe/index.js"(exports, module2) { - var fs4 = require("fs"); + var fs5 = require("fs"); var core; if (process.platform === "win32" || global.TESTING_WINDOWS) { core = require_windows(); @@ -117,33 +124,33 @@ var require_isexe = __commonJS({ throw new TypeError("callback not provided"); } return new Promise(function(resolve, reject) { - isexe(path5, options || {}, function(er, is) { - if (er) { - reject(er); + isexe(path5, options || {}, function(er2, is) { + if (er2) { + reject(er2); } else { resolve(is); } }); }); } - core(path5, options || {}, function(er, is) { - if (er) { - if (er.code === "EACCES" || options && options.ignoreErrors) { - er = null; + core(path5, options || {}, function(er2, is) { + if (er2) { + if (er2.code === "EACCES" || options && options.ignoreErrors) { + er2 = null; is = false; } } - cb(er, is); + cb(er2, is); }); } function sync(path5, options) { try { return core.sync(path5, options || {}); - } catch (er) { - if (options && options.ignoreErrors || er.code === "EACCES") { + } catch (er2) { + if (options && options.ignoreErrors || er2.code === "EACCES") { return false; } else { - throw er; + throw er2; } } } @@ -185,27 +192,27 @@ var require_which = __commonJS({ opt = {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - const step = (i2) => new Promise((resolve, reject) => { - if (i2 === pathEnv.length) + const step = (i3) => new Promise((resolve, reject) => { + if (i3 === pathEnv.length) return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd)); - const ppRaw = pathEnv[i2]; + const ppRaw = pathEnv[i3]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - resolve(subStep(p4, i2, 0)); + resolve(subStep(p4, i3, 0)); }); - const subStep = (p4, i2, ii) => new Promise((resolve, reject) => { + const subStep = (p4, i3, ii) => new Promise((resolve, reject) => { if (ii === pathExt.length) - return resolve(step(i2 + 1)); + return resolve(step(i3 + 1)); const ext = pathExt[ii]; - isexe(p4 + ext, { pathExt: pathExtExe }, (er, is) => { - if (!er && is) { + isexe(p4 + ext, { pathExt: pathExtExe }, (er2, is) => { + if (!er2 && is) { if (opt.all) found.push(p4 + ext); else return resolve(p4 + ext); } - return resolve(subStep(p4, i2, ii + 1)); + return resolve(subStep(p4, i3, ii + 1)); }); }); return cb ? step(0).then((res) => cb(null, res), cb) : step(0); @@ -214,13 +221,13 @@ var require_which = __commonJS({ opt = opt || {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - for (let i2 = 0; i2 < pathEnv.length; i2++) { - const ppRaw = pathEnv[i2]; + for (let i3 = 0; i3 < pathEnv.length; i3++) { + const ppRaw = pathEnv[i3]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - for (let j3 = 0; j3 < pathExt.length; j3++) { - const cur = p4 + pathExt[j3]; + for (let j4 = 0; j4 < pathExt.length; j4++) { + const cur = p4 + pathExt[j4]; try { const is = isexe.sync(cur, { pathExt: pathExtExe }); if (is) { @@ -285,7 +292,7 @@ var require_resolveCommand = __commonJS({ path: env2[getPathKey({ env: env2 })], pathExt: withoutPathExt ? path5.delimiter : void 0 }); - } catch (e2) { + } catch (e3) { } finally { if (shouldSwitchCwd) { process.chdir(cwd); @@ -360,17 +367,17 @@ var require_shebang_command = __commonJS({ var require_readShebang = __commonJS({ "node_modules/cross-spawn/lib/util/readShebang.js"(exports, module2) { "use strict"; - var fs4 = require("fs"); + var fs5 = require("fs"); var shebangCommand = require_shebang_command(); - function readShebang(command2) { + function readShebang(command3) { const size = 150; const buffer = Buffer.alloc(size); let fd; try { - fd = fs4.openSync(command2, "r"); - fs4.readSync(fd, buffer, 0, size, 0); - fs4.closeSync(fd); - } catch (e2) { + fd = fs5.openSync(command3, "r"); + fs5.readSync(fd, buffer, 0, size, 0); + fs5.closeSync(fd); + } catch (e3) { } return shebangCommand(buffer.toString()); } @@ -417,7 +424,7 @@ var require_parse = __commonJS({ } return parsed; } - function parse(command2, args, options) { + function parse(command3, args, options) { if (args && !Array.isArray(args)) { options = args; args = null; @@ -425,12 +432,12 @@ var require_parse = __commonJS({ args = args ? args.slice(0) : []; options = Object.assign({}, options); const parsed = { - command: command2, + command: command3, args, options, file: void 0, original: { - command: command2, + command: command3, args } }; @@ -497,14 +504,14 @@ var require_cross_spawn = __commonJS({ var cp = require("child_process"); var parse = require_parse(); var enoent = require_enoent(); - function spawn(command2, args, options) { - const parsed = parse(command2, args, options); + function spawn(command3, args, options) { + const parsed = parse(command3, args, options); const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); enoent.hookChildProcess(spawned, parsed); return spawned; } - function spawnSync(command2, args, options) { - const parsed = parse(command2, args, options); + function spawnSync(command3, args, options) { + const parsed = parse(command3, args, options); const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); return result; @@ -554,11 +561,11 @@ var require_signals = __commonJS({ // node_modules/signal-exit/index.js var require_signal_exit = __commonJS({ "node_modules/signal-exit/index.js"(exports, module2) { - var process5 = global.process; - var processOk = function(process6) { - return process6 && typeof process6 === "object" && typeof process6.removeListener === "function" && typeof process6.emit === "function" && typeof process6.reallyExit === "function" && typeof process6.listeners === "function" && typeof process6.kill === "function" && typeof process6.pid === "number" && typeof process6.on === "function"; + var process7 = global.process; + var processOk = function(process8) { + return process8 && typeof process8 === "object" && typeof process8.removeListener === "function" && typeof process8.emit === "function" && typeof process8.reallyExit === "function" && typeof process8.listeners === "function" && typeof process8.kill === "function" && typeof process8.pid === "number" && typeof process8.on === "function"; }; - if (!processOk(process5)) { + if (!processOk(process7)) { module2.exports = function() { return function() { }; @@ -566,15 +573,15 @@ var require_signal_exit = __commonJS({ } else { assert = require("assert"); signals = require_signals(); - isWin = /^win/i.test(process5.platform); + isWin = /^win/i.test(process7.platform); EE = require("events"); if (typeof EE !== "function") { EE = EE.EventEmitter; } - if (process5.__signal_exit_emitter__) { - emitter = process5.__signal_exit_emitter__; + if (process7.__signal_exit_emitter__) { + emitter = process7.__signal_exit_emitter__; } else { - emitter = process5.__signal_exit_emitter__ = new EE(); + emitter = process7.__signal_exit_emitter__ = new EE(); emitter.count = 0; emitter.emitted = {}; } @@ -611,12 +618,12 @@ var require_signal_exit = __commonJS({ loaded = false; signals.forEach(function(sig) { try { - process5.removeListener(sig, sigListeners[sig]); - } catch (er) { + process7.removeListener(sig, sigListeners[sig]); + } catch (er2) { } }); - process5.emit = originalProcessEmit; - process5.reallyExit = originalProcessReallyExit; + process7.emit = originalProcessEmit; + process7.reallyExit = originalProcessReallyExit; emitter.count -= 1; }; module2.exports.unload = unload; @@ -633,7 +640,7 @@ var require_signal_exit = __commonJS({ if (!processOk(global.process)) { return; } - var listeners = process5.listeners(sig); + var listeners = process7.listeners(sig); if (listeners.length === emitter.count) { unload(); emit("exit", null, sig); @@ -641,7 +648,7 @@ var require_signal_exit = __commonJS({ if (isWin && sig === "SIGHUP") { sig = "SIGINT"; } - process5.kill(process5.pid, sig); + process7.kill(process7.pid, sig); } }; }); @@ -657,35 +664,35 @@ var require_signal_exit = __commonJS({ emitter.count += 1; signals = signals.filter(function(sig) { try { - process5.on(sig, sigListeners[sig]); + process7.on(sig, sigListeners[sig]); return true; - } catch (er) { + } catch (er2) { return false; } }); - process5.emit = processEmit; - process5.reallyExit = processReallyExit; + process7.emit = processEmit; + process7.reallyExit = processReallyExit; }; module2.exports.load = load; - originalProcessReallyExit = process5.reallyExit; + originalProcessReallyExit = process7.reallyExit; processReallyExit = function processReallyExit2(code) { if (!processOk(global.process)) { return; } - process5.exitCode = code || 0; - emit("exit", process5.exitCode, null); - emit("afterexit", process5.exitCode, null); - originalProcessReallyExit.call(process5, process5.exitCode); + process7.exitCode = code || 0; + emit("exit", process7.exitCode, null); + emit("afterexit", process7.exitCode, null); + originalProcessReallyExit.call(process7, process7.exitCode); }; - originalProcessEmit = process5.emit; + originalProcessEmit = process7.emit; processEmit = function processEmit2(ev, arg) { if (ev === "exit" && processOk(global.process)) { if (arg !== void 0) { - process5.exitCode = arg; + process7.exitCode = arg; } var ret = originalProcessEmit.apply(this, arguments); - emit("exit", process5.exitCode, null); - emit("afterexit", process5.exitCode, null); + emit("exit", process7.exitCode, null); + emit("afterexit", process7.exitCode, null); return ret; } else { return originalProcessEmit.apply(this, arguments); @@ -838,8 +845,8 @@ var require_merge_stream = __commonJS({ return sources.length == 0; } function remove(source) { - sources = sources.filter(function(it) { - return it !== source; + sources = sources.filter(function(it2) { + return it2 !== source; }); if (!sources.length && output.readable) { output.end(); @@ -857,21 +864,21 @@ var require_src = __commonJS({ var CSI = `${ESC}[`; var beep = "\x07"; var cursor = { - to(x4, y5) { - if (!y5) - return `${CSI}${x4 + 1}G`; - return `${CSI}${y5 + 1};${x4 + 1}H`; + to(x5, y6) { + if (!y6) + return `${CSI}${x5 + 1}G`; + return `${CSI}${y6 + 1};${x5 + 1}H`; }, - move(x4, y5) { + move(x5, y6) { let ret = ""; - if (x4 < 0) - ret += `${CSI}${-x4}D`; - else if (x4 > 0) - ret += `${CSI}${x4}C`; - if (y5 < 0) - ret += `${CSI}${-y5}A`; - else if (y5 > 0) - ret += `${CSI}${y5}B`; + if (x5 < 0) + ret += `${CSI}${-x5}D`; + else if (x5 > 0) + ret += `${CSI}${x5}C`; + if (y6 < 0) + ret += `${CSI}${-y6}A`; + else if (y6 > 0) + ret += `${CSI}${y6}B`; return ret; }, up: (count = 1) => `${CSI}${count}A`, @@ -899,8 +906,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i2 = 0; i2 < count; i2++) - clear += this.line + (i2 < count - 1 ? cursor.up() : ""); + for (let i3 = 0; i3 < count; i3++) + clear += this.line + (i3 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -928,7 +935,7 @@ var require_picocolors = __commonJS({ }; var createColors = (enabled = isColorSupported) => ({ isColorSupported: enabled, - reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, + reset: enabled ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, @@ -966,8 +973,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } return fn.apply(thisArg, args); }; @@ -993,7 +1000,7 @@ var require_utils = __commonJS({ function isArrayBuffer2(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData2(val) { + function isFormData3(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -1014,7 +1021,7 @@ var require_utils = __commonJS({ function isObject2(val) { return val !== null && typeof val === "object"; } - function isPlainObject2(val) { + function isPlainObject4(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -1024,17 +1031,17 @@ var require_utils = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile2(val) { + function isFile3(val) { return toString3.call(val) === "[object File]"; } - function isBlob2(val) { + function isBlob3(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction2(val) { + function isFunction4(val) { return toString3.call(val) === "[object Function]"; } function isStream3(val) { - return isObject2(val) && isFunction2(val.pipe); + return isObject2(val) && isFunction4(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -1056,8 +1063,8 @@ var require_utils = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { for (var key in obj) { @@ -1070,9 +1077,9 @@ var require_utils = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject2(result[key]) && isPlainObject2(val)) { + if (isPlainObject4(result[key]) && isPlainObject4(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject2(val)) { + } else if (isPlainObject4(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -1080,20 +1087,20 @@ var require_utils = __commonJS({ result[key] = val; } } - for (var i2 = 0, l = arguments.length; i2 < l; i2++) { - forEach2(arguments[i2], assignValue); + for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + forEach2(arguments[i3], assignValue); } return result; } - function extend2(a2, b6, thisArg) { - forEach2(b6, function assignValue(val, key) { + function extend2(a4, b7, thisArg) { + forEach2(b7, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a2[key] = bind2(val, thisArg); + a4[key] = bind2(val, thisArg); } else { - a2[key] = val; + a4[key] = val; } }); - return a2; + return a4; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -1105,17 +1112,17 @@ var require_utils = __commonJS({ isArray: isArray2, isArrayBuffer: isArrayBuffer2, isBuffer: isBuffer2, - isFormData: isFormData2, + isFormData: isFormData3, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, isObject: isObject2, - isPlainObject: isPlainObject2, + isPlainObject: isPlainObject4, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile2, - isBlob: isBlob2, - isFunction: isFunction2, + isFile: isFile3, + isBlob: isBlob3, + isFunction: isFunction4, isStream: isStream3, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, @@ -1136,9 +1143,9 @@ var require_buildURL = __commonJS({ function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } - module2.exports = function buildURL2(url3, params, paramsSerializer) { + module2.exports = function buildURL2(url2, params, paramsSerializer) { if (!params) { - return url3; + return url2; } var serializedParams; if (paramsSerializer) { @@ -1156,25 +1163,25 @@ var require_buildURL = __commonJS({ } else { val = [val]; } - utils.forEach(val, function parseValue(v4) { - if (utils.isDate(v4)) { - v4 = v4.toISOString(); - } else if (utils.isObject(v4)) { - v4 = JSON.stringify(v4); + utils.forEach(val, function parseValue(v5) { + if (utils.isDate(v5)) { + v5 = v5.toISOString(); + } else if (utils.isObject(v5)) { + v5 = JSON.stringify(v5); } - parts.push(encode3(key) + "=" + encode3(v4)); + parts.push(encode3(key) + "=" + encode3(v5)); }); }); serializedParams = parts.join("&"); } if (serializedParams) { - var hashmarkIndex = url3.indexOf("#"); + var hashmarkIndex = url2.indexOf("#"); if (hashmarkIndex !== -1) { - url3 = url3.slice(0, hashmarkIndex); + url2 = url2.slice(0, hashmarkIndex); } - url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url3; + return url2; }; } }); @@ -1232,8 +1239,8 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config8, code, request, response) { - error.config = config8; + module2.exports = function enhanceError(error, config9, code, request, response) { + error.config = config9; if (code) { error.code = code; } @@ -1277,9 +1284,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config8, code, request, response) { + module2.exports = function createError(message, config9, code, request, response) { var error = new Error(message); - return enhanceError(error, config8, code, request, response); + return enhanceError(error, config9, code, request, response); }; } }); @@ -1311,7 +1318,7 @@ var require_cookies = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { return { write: function write(name, value, expires, path5, domain, secure) { var cookie = []; @@ -1338,7 +1345,7 @@ var require_cookies = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return { write: function write() { }, @@ -1356,8 +1363,8 @@ var require_cookies = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL2(url3) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); + module2.exports = function isAbsoluteURL3(url2) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); }; } }); @@ -1376,10 +1383,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL2 = require_isAbsoluteURL(); + var isAbsoluteURL3 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL2(requestedURL)) { + if (baseURL && !isAbsoluteURL3(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -1415,14 +1422,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i2; + var i3; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i2 = line.indexOf(":"); - key = utils.trim(line.substr(0, i2)).toLowerCase(); - val = utils.trim(line.substr(i2 + 1)); + i3 = line.indexOf(":"); + key = utils.trim(line.substr(0, i3)).toLowerCase(); + val = utils.trim(line.substr(i3 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -1444,12 +1451,12 @@ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; - function resolveURL(url3) { - var href = url3; + function resolveURL(url2) { + var href = url2; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -1471,7 +1478,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -1508,32 +1515,32 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config8) { + module2.exports = function xhrAdapter(config9) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config8.data; - var requestHeaders = config8.headers; - var responseType = config8.responseType; + var requestData = config9.data; + var requestHeaders = config9.headers; + var responseType = config9.responseType; var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } var request = new XMLHttpRequest(); - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + if (config9.auth) { + var username = config9.auth.username || ""; + var password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL2(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + var fullPath = buildFullPath2(config9.baseURL, config9.url); + request.open(config9.method.toUpperCase(), buildURL2(fullPath, config9.params, config9.paramsSerializer), true); + request.timeout = config9.timeout; function onloadend() { if (!request) { return; @@ -1545,7 +1552,7 @@ var require_xhr = __commonJS({ status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config8, + config: config9, request }; settle2(function _resolve(value) { @@ -1574,31 +1581,31 @@ var require_xhr = __commonJS({ if (!request) { return; } - reject(createError("Request aborted", config8, "ECONNABORTED", request)); + reject(createError("Request aborted", config9, "ECONNABORTED", request)); request = null; }; request.onerror = function handleError() { - reject(createError("Network Error", config8, null, request)); + reject(createError("Network Error", config9, null, request)); request = null; }; request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config8.transitional || transitionalDefaults; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + var timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config9.transitional || transitionalDefaults; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config8, + config9, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", request )); request = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config8.withCredentials || isURLSameOrigin(fullPath)) && config8.xsrfCookieName ? cookies.read(config8.xsrfCookieName) : void 0; + var xsrfValue = (config9.withCredentials || isURLSameOrigin(fullPath)) && config9.xsrfCookieName ? cookies.read(config9.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config8.xsrfHeaderName] = xsrfValue; + requestHeaders[config9.xsrfHeaderName] = xsrfValue; } } if ("setRequestHeader" in request) { @@ -1610,19 +1617,19 @@ var require_xhr = __commonJS({ } }); } - if (!utils.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils.isUndefined(config9.withCredentials)) { + request.withCredentials = !!config9.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request.responseType = config9.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", config8.onDownloadProgress); + if (typeof config9.onDownloadProgress === "function") { + request.addEventListener("progress", config9.onDownloadProgress); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config8.onUploadProgress); + if (typeof config9.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", config9.onUploadProgress); } - if (config8.cancelToken || config8.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = function(cancel) { if (!request) { return; @@ -1631,9 +1638,9 @@ var require_xhr = __commonJS({ request.abort(); request = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } if (!requestData) { @@ -1648,12 +1655,12 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s = 1e3; - var m4 = s * 60; - var h4 = m4 * 60; - var d6 = h4 * 24; - var w6 = d6 * 7; - var y5 = d6 * 365.25; + var s2 = 1e3; + var m5 = s2 * 60; + var h4 = m5 * 60; + var d7 = h4 * 24; + var w7 = d7 * 7; + var y6 = d7 * 365.25; module2.exports = function(val, options) { options = options || {}; var type = typeof val; @@ -1677,7 +1684,7 @@ var require_ms = __commonJS({ if (!match) { return; } - var n = parseFloat(match[1]); + var n2 = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": @@ -1685,78 +1692,78 @@ var require_ms = __commonJS({ case "yrs": case "yr": case "y": - return n * y5; + return n2 * y6; case "weeks": case "week": case "w": - return n * w6; + return n2 * w7; case "days": case "day": case "d": - return n * d6; + return n2 * d7; case "hours": case "hour": case "hrs": case "hr": case "h": - return n * h4; + return n2 * h4; case "minutes": case "minute": case "mins": case "min": case "m": - return n * m4; + return n2 * m5; case "seconds": case "second": case "secs": case "sec": case "s": - return n * s; + return n2 * s2; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n; + return n2; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d6) { - return Math.round(ms / d6) + "d"; + if (msAbs >= d7) { + return Math.round(ms / d7) + "d"; } if (msAbs >= h4) { return Math.round(ms / h4) + "h"; } - if (msAbs >= m4) { - return Math.round(ms / m4) + "m"; + if (msAbs >= m5) { + return Math.round(ms / m5) + "m"; } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; + if (msAbs >= s2) { + return Math.round(ms / s2) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d6) { - return plural(ms, msAbs, d6, "day"); + if (msAbs >= d7) { + return plural(ms, msAbs, d7, "day"); } if (msAbs >= h4) { return plural(ms, msAbs, h4, "hour"); } - if (msAbs >= m4) { - return plural(ms, msAbs, m4, "minute"); + if (msAbs >= m5) { + return plural(ms, msAbs, m5, "minute"); } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); + if (msAbs >= s2) { + return plural(ms, msAbs, s2, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n2, name) { + var isPlural = msAbs >= n2 * 1.5; + return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); } } }); @@ -1781,8 +1788,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i2 = 0; i2 < namespace.length; i2++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i2); + for (let i3 = 0; i3 < namespace.length; i3++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i3); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -1793,11 +1800,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug(...args) { - if (!debug.enabled) { + function debug2(...args) { + if (!debug2.enabled) { return; } - const self2 = debug; + const self2 = debug2; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -1827,12 +1834,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend2; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { enumerable: true, configurable: false, get: () => { @@ -1845,14 +1852,14 @@ var require_common = __commonJS({ } return enabledCache; }, - set: (v4) => { - enableOverride = v4; + set: (v5) => { + enableOverride = v5; } }); if (typeof createDebug.init === "function") { - createDebug.init(debug); + createDebug.init(debug2); } - return debug; + return debug2; } function extend2(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); @@ -1864,14 +1871,14 @@ var require_common = __commonJS({ createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i2; + let i3; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i2 = 0; i2 < len; i2++) { - if (!split[i2]) { + for (i3 = 0; i3 < len; i3++) { + if (!split[i3]) { continue; } - namespaces = split[i2].replace(/\*/g, ".*?"); + namespaces = split[i3].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -1891,15 +1898,15 @@ var require_common = __commonJS({ if (name[name.length - 1] === "*") { return true; } - let i2; + let i3; let len; - for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { - if (createDebug.skips[i2].test(name)) { + for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { + if (createDebug.skips[i3].test(name)) { return false; } } - for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { - if (createDebug.names[i2].test(name)) { + for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { + if (createDebug.names[i3].test(name)) { return true; } } @@ -2061,15 +2068,15 @@ var require_browser = __commonJS({ } } function load() { - let r2; + let r3; try { - r2 = exports.storage.getItem("debug"); + r3 = exports.storage.getItem("debug"); } catch (error) { } - if (!r2 && typeof process !== "undefined" && "env" in process) { - r2 = process.env.DEBUG; + if (!r3 && typeof process !== "undefined" && "env" in process) { + r3 = process.env.DEBUG; } - return r2; + return r3; } function localstorage() { try { @@ -2079,9 +2086,9 @@ var require_browser = __commonJS({ } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.j = function(v4) { + formatters.j = function(v5) { try { - return JSON.stringify(v4); + return JSON.stringify(v5); } catch (error) { return "[UnexpectedJSONParseError]: " + error.message; } @@ -2308,8 +2315,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_6, k6) => { - return k6.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_7, k7) => { + return k7.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -2358,22 +2365,22 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug) { - debug.inspectOpts = {}; + function init(debug2) { + debug2.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i2 = 0; i2 < keys.length; i2++) { - debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; + for (let i3 = 0; i3 < keys.length; i3++) { + debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; } } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.o = function(v4) { + formatters.o = function(v5) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v4, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util2.inspect(v5, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; - formatters.O = function(v4) { + formatters.O = function(v5) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v4, this.inspectOpts); + return util2.inspect(v5, this.inspectOpts); }; } }); @@ -2392,19 +2399,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug; + var debug2; module2.exports = function() { - if (!debug) { + if (!debug2) { try { - debug = require_src2()("follow-redirects"); + debug2 = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug !== "function") { - debug = function() { + if (typeof debug2 !== "function") { + debug2 = function() { }; } } - debug.apply(null, arguments); + debug2.apply(null, arguments); }; } }); @@ -2412,13 +2419,32 @@ var require_debug = __commonJS({ // node_modules/follow-redirects/index.js var require_follow_redirects = __commonJS({ "node_modules/follow-redirects/index.js"(exports, module2) { - var url3 = require("url"); - var URL2 = url3.URL; + var url2 = require("url"); + var URL2 = url2.URL; var http2 = require("http"); var https2 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug = require_debug(); + var debug2 = require_debug(); + var useNativeURL = false; + try { + assert(new URL2()); + } catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -2437,7 +2463,8 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded" + "Maximum number of redirects exceeded", + RedirectionError ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -2447,6 +2474,7 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); + var destroy = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -2462,15 +2490,25 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - self2._processResponse(response); + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); + } }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); + this._currentRequest.abort(); this.emit("abort"); }; + RedirectableRequest.prototype.destroy = function(error) { + destroyRequest(this._currentRequest, error); + destroy.call(this, error); + return this; + }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -2478,7 +2516,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction2(encoding)) { + if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -2498,10 +2536,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { + if (isFunction4(data)) { callback = data; data = encoding = null; - } else if (isFunction2(encoding)) { + } else if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -2551,6 +2589,7 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -2570,6 +2609,7 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); + this.on("close", clearTimer); return this; }; [ @@ -2578,8 +2618,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a2, b6) { - return this._currentRequest[method](a2, b6); + RedirectableRequest.prototype[method] = function(a4, b7) { + return this._currentRequest[method](a4, b7); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -2613,8 +2653,7 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - this.emit("error", new TypeError("Unsupported protocol " + protocol)); - return; + throw new TypeError("Unsupported protocol " + protocol); } if (this._options.agents) { var scheme = protocol.slice(0, -1); @@ -2625,17 +2664,17 @@ var require_follow_redirects = __commonJS({ for (var event of events) { request.on(event, eventHandlers[event]); } - this._currentUrl = /^\//.test(this._options.path) ? url3.format(this._options) : this._options.path; + this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; if (this._isRedirect) { - var i2 = 0; + var i3 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { if (request === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i2 < buffers.length) { - var buffer = buffers[i2++]; + } else if (i3 < buffers.length) { + var buffer = buffers[i3++]; if (!request.finished) { request.write(buffer.data, buffer.encoding, writeNext); } @@ -2663,11 +2702,10 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; + throw new TooManyRedirectsError(); } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -2683,24 +2721,17 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = url3.parse(this._currentUrl); + var currentUrlParts = parseUrl(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; - var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url3.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl; - try { - redirectUrl = url3.resolve(currentUrl, location); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - return; - } - debug("redirecting to", redirectUrl); + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); + var redirectUrl = resolveUrl(location, currentUrl); + debug2("redirecting to", redirectUrl.href); this._isRedirect = true; - var redirectUrlParts = url3.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { - removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); } - if (isFunction2(beforeRedirect)) { + if (isFunction4(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -2710,19 +2741,10 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - try { - beforeRedirect(this._options, responseDetails, requestDetails); - } catch (err) { - this.emit("error", err); - return; - } + beforeRedirect(this._options, responseDetails, requestDetails); this._sanitizeOptions(this._options); } - try { - this._performRequest(); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - } + this._performRequest(); }; function wrap(protocols) { var exports2 = { @@ -2735,25 +2757,16 @@ var require_follow_redirects = __commonJS({ var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); function request(input, options, callback) { - if (isString2(input)) { - var parsed; - try { - parsed = urlToOptions(new URL2(input)); - } catch (err) { - parsed = url3.parse(input); - } - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - input = parsed; - } else if (URL2 && input instanceof URL2) { - input = urlToOptions(input); + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString2(input)) { + input = spreadUrlObject(parseUrl(input)); } else { callback = options; - options = input; + options = validateUrl(input); input = { protocol }; } - if (isFunction2(options)) { + if (isFunction4(options)) { callback = options; options = null; } @@ -2766,7 +2779,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); + debug2("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -2783,20 +2796,43 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function urlToOptions(urlObject) { - var options = { - protocol: urlObject.protocol, - hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, - hash: urlObject.hash, - search: urlObject.search, - pathname: urlObject.pathname, - path: urlObject.pathname + urlObject.search, - href: urlObject.href - }; - if (urlObject.port !== "") { - options.port = Number(urlObject.port); + function parseUrl(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url2.parse(input)); + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } } - return options; + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; + } + function spreadUrlObject(urlObject, target) { + var spread3 = target || {}; + for (var key of preservedUrlFields) { + spread3[key] = urlObject[key]; + } + if (spread3.hostname.startsWith("[")) { + spread3.hostname = spread3.hostname.slice(1, -1); + } + if (spread3.port !== "") { + spread3.port = Number(spread3.port); + } + spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; + return spread3; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -2816,16 +2852,24 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - CustomError.prototype.constructor = CustomError; - CustomError.prototype.name = "Error [" + code + "]"; + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false + } + }); return CustomError; } - function abortRequest(request) { + function destroyRequest(request, error) { for (var event of events) { request.removeListener(event, eventHandlers[event]); } request.on("error", noop2); - request.abort(); + request.destroy(error); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -2835,12 +2879,15 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction2(value) { + function isFunction4(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } + function isURL(value) { + return URL2 && value instanceof URL2; + } module2.exports = wrap({ http: http2, https: https2 }); module2.exports.wrap = wrap; } @@ -2867,9 +2914,9 @@ var require_http = __commonJS({ var https2 = require("https"); var httpFollow2 = require_follow_redirects().http; var httpsFollow2 = require_follow_redirects().https; - var url3 = require("url"); + var url2 = require("url"); var zlib2 = require("zlib"); - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -2889,15 +2936,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config8) { + module2.exports = function httpAdapter2(config9) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -2910,8 +2957,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config8.data; - var headers = config8.headers; + var data = config9.data; + var headers = config9.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -2921,7 +2968,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION3; + headers["User-Agent"] = "axios/" + VERSION4; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -2932,24 +2979,24 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config8 + config9 )); } - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config8)); + if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config9)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password || ""; + if (config9.auth) { + var username = config9.auth.username || ""; + var password = config9.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config8.baseURL, config8.url); - var parsed = url3.parse(fullPath); + var fullPath = buildFullPath2(config9.baseURL, config9.url); + var parsed = url2.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { var urlAuth = parsed.auth.split(":"); @@ -2961,41 +3008,41 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; + var agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; try { - buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config9; + customErr.url = config9.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""), - method: config8.method.toUpperCase(), + path: buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""), + method: config9.method.toUpperCase(), headers, agent, - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config9.httpAgent, https: config9.httpsAgent }, auth }; - if (config8.socketPath) { - options.socketPath = config8.socketPath; + if (config9.socketPath) { + options.socketPath = config9.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config8.proxy; + var proxy = config9.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; if (proxyUrl) { - var parsedProxyUrl = url3.parse(proxyUrl); + var parsedProxyUrl = url2.parse(proxyUrl); var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s) { - return s.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s2) { + return s2.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -3032,28 +3079,28 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { + if (config9.transport) { + transport = config9.transport; + } else if (config9.maxRedirects === 0) { transport = isHttpsProxy ? https2 : http2; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config9.maxRedirects) { + options.maxRedirects = config9.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config9.maxBodyLength > -1) { + options.maxBodyLength = config9.maxBodyLength; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config9.insecureHTTPParser) { + options.insecureHTTPParser = config9.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config8.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config9.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": @@ -3067,10 +3114,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config8, + config: config9, request: lastRequest }; - if (config8.responseType === "stream") { + if (config9.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -3079,12 +3126,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config8.maxContentLength + " exceeded", - config8, + "maxContentLength size of " + config9.maxContentLength + " exceeded", + config9, null, lastRequest )); @@ -3095,25 +3142,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config8, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config9, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config8, null, lastRequest)); + reject(enhanceError(err, config9, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config8.responseType !== "arraybuffer") { - responseData = responseData.toString(config8.responseEncoding); - if (!config8.responseEncoding || config8.responseEncoding === "utf8") { + if (config9.responseType !== "arraybuffer") { + responseData = responseData.toString(config9.responseEncoding); + if (!config9.responseEncoding || config9.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config8, err.code, response.request, response)); + reject(enhanceError(err, config9, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -3122,17 +3169,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config9, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - var timeout = parseInt(config8.timeout, 10); + if (config9.timeout) { + var timeout = parseInt(config9.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config8, + config9, "ERR_PARSE_TIMEOUT", req )); @@ -3141,35 +3188,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config8.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config9.timeout + "ms exceeded"; } - var transitional2 = config8.transitional || transitionalDefaults; + var transitional2 = config9.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config8, + config9, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config8.cancelToken || config8.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config9, null, req)); }).pipe(req); } else { req.end(data); @@ -3187,7 +3234,7 @@ var require_defaults = __commonJS({ var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE2 = { + var DEFAULT_CONTENT_TYPE = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -3209,9 +3256,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -3247,12 +3294,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw enhanceError(e2, this, "E_JSON_PARSE"); + if (e3.name === "SyntaxError") { + throw enhanceError(e3, this, "E_JSON_PARSE"); } - throw e2; + throw e3; } } } @@ -3272,11 +3319,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); module2.exports = defaults2; } @@ -3317,53 +3364,53 @@ var require_dispatchRequest = __commonJS({ var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config9) { + if (config9.cancelToken) { + config9.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { + if (config9.signal && config9.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config8) { - throwIfCancellationRequested2(config8); - config8.headers = config8.headers || {}; - config8.data = transformData2.call( - config8, - config8.data, - config8.headers, - config8.transformRequest + module2.exports = function dispatchRequest2(config9) { + throwIfCancellationRequested2(config9); + config9.headers = config9.headers || {}; + config9.data = transformData2.call( + config9, + config9.data, + config9.headers, + config9.transformRequest ); - config8.headers = utils.merge( - config8.headers.common || {}, - config8.headers[config8.method] || {}, - config8.headers + config9.headers = utils.merge( + config9.headers.common || {}, + config9.headers[config9.method] || {}, + config9.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config8.headers[method]; + delete config9.headers[method]; } ); - var adapter = config8.adapter || defaults2.adapter; - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config8); + var adapter = config9.adapter || defaults2.adapter; + return adapter(config9).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config9); response.data = transformData2.call( - config8, + config9, response.data, response.headers, - config8.transformResponse + config9.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config8); + throwIfCancellationRequested2(config9); if (reason && reason.response) { reason.response.data = transformData2.call( - config8, + config9, reason.response.data, reason.response.headers, - config8.transformResponse + config9.transformResponse ); } } @@ -3380,7 +3427,7 @@ var require_mergeConfig = __commonJS({ var utils = require_utils(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config8 = {}; + var config9 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -3448,9 +3495,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); }); - return config8; + return config9; }; } }); @@ -3459,17 +3506,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i3) { validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -3492,9 +3539,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i2 = keys.length; - while (i2-- > 0) { - var opt = keys[i2]; + var i3 = keys.length; + while (i3-- > 0) { + var opt = keys[i3]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -3534,22 +3581,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config8) { + Axios3.prototype.request = function request(configOrUrl, config9) { if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; + config9 = config9 || {}; + config9.url = configOrUrl; } else { - config8 = configOrUrl || {}; + config9 = configOrUrl || {}; } - config8 = mergeConfig3(this.defaults, config8); - if (config8.method) { - config8.method = config8.method.toLowerCase(); + config9 = mergeConfig3(this.defaults, config9); + if (config9.method) { + config9.method = config9.method.toLowerCase(); } else if (this.defaults.method) { - config8.method = this.defaults.method.toLowerCase(); + config9.method = this.defaults.method.toLowerCase(); } else { - config8.method = "get"; + config9.method = "get"; } - var transitional2 = config8.transitional; + var transitional2 = config9.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -3560,7 +3607,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -3575,13 +3622,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config8); + promise = Promise.resolve(config9); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config8; + var newConfig = config9; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -3602,24 +3649,24 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config8) { - config8 = mergeConfig3(this.defaults, config8); - return buildURL2(config8.url, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config9) { + config9 = mergeConfig3(this.defaults, config9); + return buildURL2(config9.url, config9.params, config9.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { - Axios3.prototype[method] = function(url3, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios3.prototype[method] = function(url2, config9) { + return this.request(mergeConfig3(config9 || {}, { method, - url: url3, - data: (config8 || {}).data + url: url2, + data: (config9 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - Axios3.prototype[method] = function(url3, data, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + Axios3.prototype[method] = function(url2, data, config9) { + return this.request(mergeConfig3(config9 || {}, { method, - url: url3, + url: url2, data })); }; @@ -3645,10 +3692,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i2; - var l = token._listeners.length; - for (i2 = 0; i2 < l; i2++) { - token._listeners[i2](cancel); + var i3; + var l3 = token._listeners.length; + for (i3 = 0; i3 < l3; i3++) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -3815,25 +3862,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P4 ? value : new P4(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P4 || (P4 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3897,18 +3944,18 @@ var require_common2 = __commonJS({ } } } - exports.setSearchParams = function(url3, ...objects) { - const searchParams = new URLSearchParams(url3.search); + exports.setSearchParams = function(url2, ...objects) { + const searchParams = new URLSearchParams(url2.search); setFlattenedQueryParams(searchParams, objects); - url3.search = searchParams.toString(); + url2.search = searchParams.toString(); }; exports.serializeDataIfNeeded = function(value, requestOptions, configuration) { const nonString = typeof value !== "string"; const needsSerialization = nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers["Content-Type"]) : nonString; return needsSerialization ? JSON.stringify(value !== void 0 ? value : {}) : value || ""; }; - exports.toPathString = function(url3) { - return url3.pathname + url3.search + url3.hash; + exports.toPathString = function(url2) { + return url2.pathname + url2.search + url2.hash; }; exports.createRequestFunction = function(axiosArgs, globalAxios, BASE_PATH, configuration) { return (axios2 = globalAxios, basePath2 = BASE_PATH) => { @@ -3923,25 +3970,25 @@ var require_common2 = __commonJS({ var require_api = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P4 ? value : new P4(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P4 || (P4 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3958,12 +4005,14 @@ var require_api = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -4192,7 +4241,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -4214,8 +4263,8 @@ var require_api = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4236,7 +4285,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4251,8 +4300,8 @@ var require_api = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4687,15 +4736,15 @@ var require_api = __commonJS({ return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n, size, responseFormat, user, options) { + createImageVariation(image, n2, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, @@ -4830,11 +4879,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, createModeration(createModerationRequest, options) { return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); @@ -4917,11 +4966,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } - createImageVariation(image, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); @@ -4981,7 +5030,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.2.1", + version: "3.3.0", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -5016,7 +5065,7 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream = require("stream").Stream; + var Stream2 = require("stream").Stream; var util2 = require("util"); module2.exports = DelayedStream; function DelayedStream() { @@ -5028,7 +5077,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream); + util2.inherits(DelayedStream, Stream2); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -5075,9 +5124,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r2 = Stream.prototype.pipe.apply(this, arguments); + var r3 = Stream2.prototype.pipe.apply(this, arguments); this.resume(); - return r2; + return r3; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -5108,7 +5157,7 @@ var require_delayed_stream = __commonJS({ var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { var util2 = require("util"); - var Stream = require("stream").Stream; + var Stream2 = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -5123,7 +5172,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream); + util2.inherits(CombinedStream, Stream2); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -5155,7 +5204,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); + Stream2.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -13882,8 +13931,8 @@ var require_mime_types = __commonJS({ return; } extensions[type] = exts; - for (var i2 = 0; i2 < exts.length; i2++) { - var extension2 = exts[i2]; + for (var i3 = 0; i3 < exts.length; i3++) { + var extension2 = exts[i3]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -13998,8 +14047,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b6) { - return sortMethod(list[a2], list[b6]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a4, b7) { + return sortMethod(list[a4], list[b7]); }); } return initState; @@ -14076,11 +14125,11 @@ var require_serialOrdered = __commonJS({ }); return terminator.bind(state, callback); } - function ascending(a2, b6) { - return a2 < b6 ? -1 : a2 > b6 ? 1 : 0; + function ascending(a4, b7) { + return a4 < b7 ? -1 : a4 > b7 ? 1 : 0; } - function descending(a2, b6) { - return -1 * ascending(a2, b6); + function descending(a4, b7) { + return -1 * ascending(a4, b7); } } }); @@ -14128,16 +14177,16 @@ var require_form_data = __commonJS({ var http2 = require("http"); var https2 = require("https"); var parseUrl = require("url").parse; - var fs4 = require("fs"); - var Stream = require("stream").Stream; + var fs5 = require("fs"); + var Stream2 = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); + module2.exports = FormData5; + util2.inherits(FormData5, CombinedStream); + function FormData5(options) { + if (!(this instanceof FormData5)) { + return new FormData5(options); } this._overheadLength = 0; this._valueLength = 0; @@ -14148,9 +14197,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { + FormData5.LINE_BREAK = "\r\n"; + FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData5.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -14170,7 +14219,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData3.prototype._trackLength = function(header, value, options) { + FormData5.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -14180,20 +14229,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { + this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData3.prototype._lengthRetriever = function(value, callback) { + FormData5.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs4.stat(value.path, function(err, stat) { + fs5.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -14215,7 +14264,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData3.prototype._multiPartHeader = function(field, value, options) { + FormData5.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -14241,12 +14290,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; + return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; }; - FormData3.prototype._getContentDisposition = function(value, options) { + FormData5.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path5.normalize(options.filepath).replace(/\\/g, "/"); @@ -14260,7 +14309,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData3.prototype._getContentType = function(value, options) { + FormData5.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -14275,13 +14324,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; + contentType = FormData5.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData3.prototype._multiPartFooter = function() { + FormData5.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData3.LINE_BREAK; + var footer = FormData5.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -14289,10 +14338,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; + FormData5.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; }; - FormData3.prototype.getHeaders = function(userHeaders) { + FormData5.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -14304,40 +14353,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData3.prototype.setBoundary = function(boundary) { + FormData5.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData3.prototype.getBoundary = function() { + FormData5.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData3.prototype.getBuffer = function() { + FormData5.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { - if (typeof this._streams[i2] !== "function") { - if (Buffer.isBuffer(this._streams[i2])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); + for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { + if (typeof this._streams[i3] !== "function") { + if (Buffer.isBuffer(this._streams[i3])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); } - if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); + if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData3.prototype._generateBoundary = function() { + FormData5.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i2 = 0; i2 < 24; i2++) { + for (var i3 = 0; i3 < 24; i3++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData3.prototype.getLengthSync = function() { + FormData5.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14347,14 +14396,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData3.prototype.hasKnownLength = function() { + FormData5.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData3.prototype.getLength = function(cb) { + FormData5.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14374,7 +14423,7 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData3.prototype.submit = function(params, cb) { + FormData5.prototype.submit = function(params, cb) { var request, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); @@ -14419,14 +14468,14 @@ var require_form_data = __commonJS({ }.bind(this)); return request; }; - FormData3.prototype._error = function(err) { + FormData5.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData3.prototype.toString = function() { + FormData5.prototype.toString = function() { return "[object FormData]"; }; } @@ -14473,21 +14522,21 @@ var require_configuration = __commonJS({ var require_dist = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m4[k6]; + k22 = k7; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m5[k7]; } }); - } : function(o2, m4, k6, k22) { + } : function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - o2[k22] = m4[k6]; + k22 = k7; + o3[k22] = m5[k7]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p4 in m4) + var __exportStar = exports && exports.__exportStar || function(m5, exports2) { + for (var p4 in m5) if (p4 !== "default" && !exports2.hasOwnProperty(p4)) - __createBinding(exports2, m4, p4); + __createBinding(exports2, m5, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_api(), exports); @@ -14500,14 +14549,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.0.3", + version: "16.4.5", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - require: "./lib/main.js", types: "./lib/main.d.ts", + require: "./lib/main.js", default: "./lib/main.js" }, "./config": "./config.js", @@ -14524,6 +14573,7 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", + "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -14531,6 +14581,7 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, + funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -14543,19 +14594,22 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@types/node": "^17.0.9", + "@definitelytyped/dtslint": "^0.0.133", + "@types/node": "^18.11.3", decache: "^4.6.1", - dtslint: "^3.7.0", - sinon: "^12.0.1", - standard: "^16.0.4", + sinon: "^14.0.1", + standard: "^17.0.0", "standard-markdown": "^7.1.0", - "standard-version": "^9.3.2", - tap: "^15.1.6", + "standard-version": "^9.5.0", + tap: "^16.3.0", tar: "^6.1.11", - typescript: "^4.5.4" + typescript: "^4.8.4" }, engines: { node: ">=12" + }, + browser: { + fs: false } }; } @@ -14564,9 +14618,10 @@ var require_package2 = __commonJS({ // node_modules/dotenv/lib/main.js var require_main = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs4 = require("fs"); + var fs5 = require("fs"); var path5 = require("path"); var os3 = require("os"); + var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -14589,57 +14644,240 @@ var require_main = __commonJS({ } return obj; } + function _parseVault(options) { + const vaultPath = _vaultPath(options); + const result = DotenvModule.configDotenv({ path: vaultPath }); + if (!result.parsed) { + const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); + err.code = "MISSING_DATA"; + throw err; + } + const keys = _dotenvKey(options).split(","); + const length = keys.length; + let decrypted; + for (let i3 = 0; i3 < length; i3++) { + try { + const key = keys[i3].trim(); + const attrs = _instructions(result, key); + decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); + break; + } catch (error) { + if (i3 + 1 >= length) { + throw error; + } + } + } + return DotenvModule.parse(decrypted); + } function _log(message) { + console.log(`[dotenv@${version}][INFO] ${message}`); + } + function _warn(message) { + console.log(`[dotenv@${version}][WARN] ${message}`); + } + function _debug(message) { console.log(`[dotenv@${version}][DEBUG] ${message}`); } + function _dotenvKey(options) { + if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { + return options.DOTENV_KEY; + } + if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { + return process.env.DOTENV_KEY; + } + return ""; + } + function _instructions(result, dotenvKey) { + let uri; + try { + uri = new URL(dotenvKey); + } catch (error) { + if (error.code === "ERR_INVALID_URL") { + const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + throw error; + } + const key = uri.password; + if (!key) { + const err = new Error("INVALID_DOTENV_KEY: Missing key part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environment = uri.searchParams.get("environment"); + if (!environment) { + const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; + const ciphertext = result.parsed[environmentKey]; + if (!ciphertext) { + const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); + err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; + throw err; + } + return { ciphertext, key }; + } + function _vaultPath(options) { + let possibleVaultPath = null; + if (options && options.path && options.path.length > 0) { + if (Array.isArray(options.path)) { + for (const filepath of options.path) { + if (fs5.existsSync(filepath)) { + possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; + } + } + } else { + possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; + } + } else { + possibleVaultPath = path5.resolve(process.cwd(), ".env.vault"); + } + if (fs5.existsSync(possibleVaultPath)) { + return possibleVaultPath; + } + return null; + } function _resolveHome(envPath) { return envPath[0] === "~" ? path5.join(os3.homedir(), envPath.slice(1)) : envPath; } - function config8(options) { - let dotenvPath = path5.resolve(process.cwd(), ".env"); + function _configVault(options) { + _log("Loading env from encrypted .env.vault"); + const parsed = DotenvModule._parseVault(options); + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsed, options); + return { parsed }; + } + function configDotenv(options) { + const dotenvPath = path5.resolve(process.cwd(), ".env"); let encoding = "utf8"; - const debug = Boolean(options && options.debug); - const override = Boolean(options && options.override); - if (options) { - if (options.path != null) { - dotenvPath = _resolveHome(options.path); - } - if (options.encoding != null) { - encoding = options.encoding; + const debug2 = Boolean(options && options.debug); + if (options && options.encoding) { + encoding = options.encoding; + } else { + if (debug2) { + _debug("No encoding is specified. UTF-8 is used by default"); } } + let optionPaths = [dotenvPath]; + if (options && options.path) { + if (!Array.isArray(options.path)) { + optionPaths = [_resolveHome(options.path)]; + } else { + optionPaths = []; + for (const filepath of options.path) { + optionPaths.push(_resolveHome(filepath)); + } + } + } + let lastError; + const parsedAll = {}; + for (const path6 of optionPaths) { + try { + const parsed = DotenvModule.parse(fs5.readFileSync(path6, { encoding })); + DotenvModule.populate(parsedAll, parsed, options); + } catch (e3) { + if (debug2) { + _debug(`Failed to load ${path6} ${e3.message}`); + } + lastError = e3; + } + } + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsedAll, options); + if (lastError) { + return { parsed: parsedAll, error: lastError }; + } else { + return { parsed: parsedAll }; + } + } + function config9(options) { + if (_dotenvKey(options).length === 0) { + return DotenvModule.configDotenv(options); + } + const vaultPath = _vaultPath(options); + if (!vaultPath) { + _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); + return DotenvModule.configDotenv(options); + } + return DotenvModule._configVault(options); + } + function decrypt(encrypted, keyStr) { + const key = Buffer.from(keyStr.slice(-64), "hex"); + let ciphertext = Buffer.from(encrypted, "base64"); + const nonce = ciphertext.subarray(0, 12); + const authTag = ciphertext.subarray(-16); + ciphertext = ciphertext.subarray(12, -16); try { - const parsed = DotenvModule.parse(fs4.readFileSync(dotenvPath, { encoding })); - Object.keys(parsed).forEach(function(key) { - if (!Object.prototype.hasOwnProperty.call(process.env, key)) { - process.env[key] = parsed[key]; - } else { + const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); + aesgcm.setAuthTag(authTag); + return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; + } catch (error) { + const isRange = error instanceof RangeError; + const invalidKeyLength = error.message === "Invalid key length"; + const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; + if (isRange || invalidKeyLength) { + const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } else if (decryptionFailed) { + const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + err.code = "DECRYPTION_FAILED"; + throw err; + } else { + throw error; + } + } + } + function populate(processEnv, parsed, options = {}) { + const debug2 = Boolean(options && options.debug); + const override = Boolean(options && options.override); + if (typeof parsed !== "object") { + const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + err.code = "OBJECT_REQUIRED"; + throw err; + } + for (const key of Object.keys(parsed)) { + if (Object.prototype.hasOwnProperty.call(processEnv, key)) { + if (override === true) { + processEnv[key] = parsed[key]; + } + if (debug2) { if (override === true) { - process.env[key] = parsed[key]; - } - if (debug) { - if (override === true) { - _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); - } else { - _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); - } + _debug(`"${key}" is already defined and WAS overwritten`); + } else { + _debug(`"${key}" is already defined and was NOT overwritten`); } } - }); - return { parsed }; - } catch (e2) { - if (debug) { - _log(`Failed to load ${dotenvPath} ${e2.message}`); + } else { + processEnv[key] = parsed[key]; } - return { error: e2 }; } } var DotenvModule = { - config: config8, - parse + configDotenv, + _configVault, + _parseVault, + config: config9, + decrypt, + parse, + populate }; + module2.exports.configDotenv = DotenvModule.configDotenv; + module2.exports._configVault = DotenvModule._configVault; + module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; + module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; + module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -14662,26 +14900,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k6 of Object.keys(obj)) { - const val = obj[k6]; + for (const k7 of Object.keys(obj)) { + const val = obj[k7]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k6 + "[]") + separator + safe(item) + eol; + out += safe(k7 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k6); + children.push(k7); } else { - out += safe(k6) + separator + safe(val) + eol; + out += safe(k7) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k6 of children) { - const nk = dotSplit(k6).join("\\."); + for (const k7 of children) { + const nk = dotSplit(k7).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k6], { + const child = encode3(obj[k7], { section, whitespace }); @@ -14697,13 +14935,13 @@ var require_ini = __commonJS({ const out = /* @__PURE__ */ Object.create(null); let p4 = out; let section = null; - const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re3 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re2); + const match = line.match(re3); if (!match) { continue; } @@ -14738,14 +14976,14 @@ var require_ini = __commonJS({ } } const remove = []; - for (const k6 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k6) || typeof out[k6] !== "object" || Array.isArray(out[k6])) { + for (const k7 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k7) || typeof out[k7] !== "object" || Array.isArray(out[k7])) { continue; } - const parts = dotSplit(k6); + const parts = dotSplit(k7); p4 = out; - const l = parts.pop(); - const nl = l.replace(/\\\./g, "."); + const l3 = parts.pop(); + const nl = l3.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; @@ -14755,11 +14993,11 @@ var require_ini = __commonJS({ } p4 = p4[part]; } - if (p4 === out && nl === l) { + if (p4 === out && nl === l3) { continue; } - p4[nl] = out[k6]; - remove.push(k6); + p4[nl] = out[k7]; + remove.push(k7); } for (const del of remove) { delete out[del]; @@ -14788,8 +15026,8 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i2 = 0, l = val.length; i2 < l; i2++) { - const c3 = val.charAt(i2); + for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { + const c3 = val.charAt(i3); if (esc) { if ("\\;#".indexOf(c3) !== -1) { unesc += c3; @@ -14890,12 +15128,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); + })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); + })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); } }); @@ -14903,25 +15141,25 @@ var require_rules = __commonJS({ var require_lib = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - var desc = Object.getOwnPropertyDescriptor(m4, k6); - if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m4[k6]; + return m5[k7]; } }; } - Object.defineProperty(o2, k22, desc); - } : function(o2, m4, k6, k22) { + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - o2[k22] = m4[k6]; + k22 = k7; + o3[k22] = m5[k7]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p4 in m4) + var __exportStar = exports && exports.__exportStar || function(m5, exports2) { + for (var p4 in m5) if (p4 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p4)) - __createBinding(exports2, m4, p4); + __createBinding(exports2, m5, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_ensure(), exports); @@ -14948,11 +15186,11 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s2) { + return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; }; - function getProxyForUrl2(url3) { - var parsedUrl = typeof url3 === "string" ? parseUrl(url3) : url3 || {}; + function getProxyForUrl2(url2) { + var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; var proto2 = parsedUrl.protocol; var hostname = parsedUrl.host; var port = parsedUrl.port; @@ -15052,13 +15290,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length); + const ptr2 = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -15071,7 +15309,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -15079,8 +15317,8 @@ var require_tiktoken_bg = __commonJS({ WASM_VECTOR_LEN = offset; return ptr; } - function isLikeNone(x4) { - return x4 === void 0 || x4 === null; + function isLikeNone(x5) { + return x5 === void 0 || x5 === null; } var cachedInt32Memory0 = null; function getInt32Memory0() { @@ -15093,6 +15331,7 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -15111,124 +15350,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); + const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4); + const ptr = malloc(arg.length * 4, 4) >>> 0; getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f3, args) { + function handleError(f4, args) { try { - return f3.apply(this, args); - } catch (e2) { - wasm.__wbindgen_export_3(addHeapObject(e2)); + return f4.apply(this, args); + } catch (e3) { + wasm.__wbindgen_export_3(addHeapObject(e3)); } } + var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - return Tiktoken2.__wrap(ret); + this.__wbg_ptr = ret >>> 0; + return this; } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.ptr); + wasm.tiktoken_name(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v0; + let v1; if (r0 !== 0) { - v0 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); + v1 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); } - return v0; + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } - static __wrap(ptr) { - const obj = Object.create(Tiktoken2.prototype); - obj.ptr = ptr; - return obj; - } __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + TiktokenFinalization.unregister(this); return ptr; } free() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r22 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r2); + throw takeObject(r22); } - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v22 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v22 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { + var r22 = getInt32Memory0()[retptr / 4 + 2]; + if (r22) { throw takeObject(r1); } return takeObject(r0); @@ -15238,48 +15477,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v1; + var v22 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v0 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v0; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.ptr); + throw new Error("tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); return takeObject(ret); } }; @@ -15288,7 +15527,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { + module2.exports.__wbg_stringify_daa6661e90c04140 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -15299,19 +15538,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { + module2.exports.__wbg_parse_06816e879d29d4df = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -15330,15 +15569,14 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path5 = require("path"); - var fs4 = require("fs"); - var candidates = __dirname.split(path5.sep).reduce((memo, _6, index, array) => { + var fs5 = require("fs"); + var candidates = __dirname.split(path5.sep).reduce((memo, _7, index, array) => { const prefix = array.slice(0, index + 1).join(path5.sep) + path5.sep; if (!prefix.includes("node_modules" + path5.sep)) { memo.unshift( path5.join( prefix, "node_modules", - "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -15351,7 +15589,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs4.readFileSync(candidate); + bytes = fs5.readFileSync(candidate); break; } catch { } @@ -15365,6 +15603,10316 @@ var require_tiktoken = __commonJS({ } }); +// node_modules/webidl-conversions/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/webidl-conversions/lib/index.js"(exports, module2) { + "use strict"; + var conversions = {}; + module2.exports = conversions; + function sign(x5) { + return x5 < 0 ? -1 : 1; + } + function evenRound(x5) { + if (x5 % 1 === 0.5 && (x5 & 1) === 0) { + return Math.floor(x5); + } else { + return Math.round(x5); + } + } + function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + return function(V6, opts) { + if (!opts) + opts = {}; + let x5 = +V6; + if (opts.enforceRange) { + if (!Number.isFinite(x5)) { + throw new TypeError("Argument is not a finite number"); + } + x5 = sign(x5) * Math.floor(Math.abs(x5)); + if (x5 < lowerBound || x5 > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + return x5; + } + if (!isNaN(x5) && opts.clamp) { + x5 = evenRound(x5); + if (x5 < lowerBound) + x5 = lowerBound; + if (x5 > upperBound) + x5 = upperBound; + return x5; + } + if (!Number.isFinite(x5) || x5 === 0) { + return 0; + } + x5 = sign(x5) * Math.floor(Math.abs(x5)); + x5 = x5 % moduloVal; + if (!typeOpts.unsigned && x5 >= moduloBound) { + return x5 - moduloVal; + } else if (typeOpts.unsigned) { + if (x5 < 0) { + x5 += moduloVal; + } else if (x5 === -0) { + return 0; + } + } + return x5; + }; + } + conversions["void"] = function() { + return void 0; + }; + conversions["boolean"] = function(val) { + return !!val; + }; + conversions["byte"] = createNumberConversion(8, { unsigned: false }); + conversions["octet"] = createNumberConversion(8, { unsigned: true }); + conversions["short"] = createNumberConversion(16, { unsigned: false }); + conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + conversions["long"] = createNumberConversion(32, { unsigned: false }); + conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); + conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + conversions["double"] = function(V6) { + const x5 = +V6; + if (!Number.isFinite(x5)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + return x5; + }; + conversions["unrestricted double"] = function(V6) { + const x5 = +V6; + if (isNaN(x5)) { + throw new TypeError("Argument is NaN"); + } + return x5; + }; + conversions["float"] = conversions["double"]; + conversions["unrestricted float"] = conversions["unrestricted double"]; + conversions["DOMString"] = function(V6, opts) { + if (!opts) + opts = {}; + if (opts.treatNullAsEmptyString && V6 === null) { + return ""; + } + return String(V6); + }; + conversions["ByteString"] = function(V6, opts) { + const x5 = String(V6); + let c3 = void 0; + for (let i3 = 0; (c3 = x5.codePointAt(i3)) !== void 0; ++i3) { + if (c3 > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + return x5; + }; + conversions["USVString"] = function(V6) { + const S6 = String(V6); + const n2 = S6.length; + const U7 = []; + for (let i3 = 0; i3 < n2; ++i3) { + const c3 = S6.charCodeAt(i3); + if (c3 < 55296 || c3 > 57343) { + U7.push(String.fromCodePoint(c3)); + } else if (56320 <= c3 && c3 <= 57343) { + U7.push(String.fromCodePoint(65533)); + } else { + if (i3 === n2 - 1) { + U7.push(String.fromCodePoint(65533)); + } else { + const d7 = S6.charCodeAt(i3 + 1); + if (56320 <= d7 && d7 <= 57343) { + const a4 = c3 & 1023; + const b7 = d7 & 1023; + U7.push(String.fromCodePoint((2 << 15) + (2 << 9) * a4 + b7)); + ++i3; + } else { + U7.push(String.fromCodePoint(65533)); + } + } + } + } + return U7.join(""); + }; + conversions["Date"] = function(V6, opts) { + if (!(V6 instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V6)) { + return void 0; + } + return V6; + }; + conversions["RegExp"] = function(V6, opts) { + if (!(V6 instanceof RegExp)) { + V6 = new RegExp(V6); + } + return V6; + }; + } +}); + +// node_modules/whatwg-url/lib/utils.js +var require_utils2 = __commonJS({ + "node_modules/whatwg-url/lib/utils.js"(exports, module2) { + "use strict"; + module2.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i3 = 0; i3 < keys.length; ++i3) { + Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); + } + }; + module2.exports.wrapperSymbol = Symbol("wrapper"); + module2.exports.implSymbol = Symbol("impl"); + module2.exports.wrapperForImpl = function(impl) { + return impl[module2.exports.wrapperSymbol]; + }; + module2.exports.implForWrapper = function(wrapper) { + return wrapper[module2.exports.implSymbol]; + }; + } +}); + +// node_modules/tr46/lib/mappingTable.json +var require_mappingTable = __commonJS({ + "node_modules/tr46/lib/mappingTable.json"(exports, module2) { + module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; + } +}); + +// node_modules/tr46/index.js +var require_tr46 = __commonJS({ + "node_modules/tr46/index.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var mappingTable = require_mappingTable(); + var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 + }; + function normalize(str) { + return str.split("\0").map(function(s2) { + return s2.normalize("NFC"); + }).join("\0"); + } + function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + while (start <= end) { + var mid = Math.floor((start + end) / 2); + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + return null; + } + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + function countSymbols(string) { + return string.replace(regexAstralSymbols, "_").length; + } + function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + var len = countSymbols(domain_name); + for (var i3 = 0; i3 < len; ++i3) { + var codePoint = domain_name.codePointAt(i3); + var status = findStatus(codePoint); + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + processed += String.fromCodePoint(codePoint); + break; + } + } + return { + string: processed, + error: hasError + }; + } + var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + var error = false; + if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { + error = true; + } + var len = countSymbols(label); + for (var i3 = 0; i3 < len; ++i3) { + var status = findStatus(label.codePointAt(i3)); + if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { + error = true; + break; + } + } + return { + label, + error + }; + } + function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + var labels = result.string.split("."); + for (var i3 = 0; i3 < labels.length; ++i3) { + try { + var validation = validateLabel(labels[i3]); + labels[i3] = validation.label; + result.error = result.error || validation.error; + } catch (e3) { + result.error = true; + } + } + return { + string: labels.join("."), + error: result.error + }; + } + module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l3) { + try { + return punycode.toASCII(l3); + } catch (e3) { + result.error = true; + return l3; + } + }); + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + for (var i3 = 0; i3 < labels.length; ++i3) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + if (result.error) + return null; + return labels.join("."); + }; + module2.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + return { + domain: result.string, + error: result.error + }; + }; + module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + } +}); + +// node_modules/whatwg-url/lib/url-state-machine.js +var require_url_state_machine = __commonJS({ + "node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var tr46 = require_tr46(); + var specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 + }; + var failure = Symbol("failure"); + function countSymbols(str) { + return punycode.ucs2.decode(str).length; + } + function at2(input, idx) { + const c3 = input[idx]; + return isNaN(c3) ? void 0 : String.fromCodePoint(c3); + } + function isASCIIDigit(c3) { + return c3 >= 48 && c3 <= 57; + } + function isASCIIAlpha(c3) { + return c3 >= 65 && c3 <= 90 || c3 >= 97 && c3 <= 122; + } + function isASCIIAlphanumeric(c3) { + return isASCIIAlpha(c3) || isASCIIDigit(c3); + } + function isASCIIHex(c3) { + return isASCIIDigit(c3) || c3 >= 65 && c3 <= 70 || c3 >= 97 && c3 <= 102; + } + function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; + } + function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; + } + function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); + } + function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); + } + function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; + } + function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== void 0; + } + function isSpecial(url2) { + return isSpecialScheme(url2.scheme); + } + function defaultPort(scheme) { + return specialSchemes[scheme]; + } + function percentEncode(c3) { + let hex = c3.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + return "%" + hex; + } + function utf8PercentEncode(c3) { + const buf = new Buffer(c3); + let str = ""; + for (let i3 = 0; i3 < buf.length; ++i3) { + str += percentEncode(buf[i3]); + } + return str; + } + function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i3 = 0; i3 < input.length; ++i3) { + if (input[i3] !== 37) { + output.push(input[i3]); + } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { + output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); + i3 += 2; + } else { + output.push(input[i3]); + } + } + return new Buffer(output).toString(); + } + function isC0ControlPercentEncode(c3) { + return c3 <= 31 || c3 > 126; + } + var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); + function isPathPercentEncode(c3) { + return isC0ControlPercentEncode(c3) || extraPathPercentEncodeSet.has(c3); + } + var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); + function isUserinfoPercentEncode(c3) { + return isPathPercentEncode(c3) || extraUserinfoPercentEncodeSet.has(c3); + } + function percentEncodeChar(c3, encodeSetPredicate) { + const cStr = String.fromCodePoint(c3); + if (encodeSetPredicate(c3)) { + return utf8PercentEncode(cStr); + } + return cStr; + } + function parseIPv4Number(input) { + let R7 = 10; + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R7 = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R7 = 8; + } + if (input === "") { + return 0; + } + const regex = R7 === 10 ? /[^0-9]/ : R7 === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; + if (regex.test(input)) { + return failure; + } + return parseInt(input, R7); + } + function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + if (parts.length > 4) { + return input; + } + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n2 = parseIPv4Number(part); + if (n2 === failure) { + return input; + } + numbers.push(n2); + } + for (let i3 = 0; i3 < numbers.length - 1; ++i3) { + if (numbers[i3] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + let ipv4 = numbers.pop(); + let counter = 0; + for (const n2 of numbers) { + ipv4 += n2 * Math.pow(256, 3 - counter); + ++counter; + } + return ipv4; + } + function serializeIPv4(address) { + let output = ""; + let n2 = address; + for (let i3 = 1; i3 <= 4; ++i3) { + output = String(n2 % 256) + output; + if (i3 !== 4) { + output = "." + output; + } + n2 = Math.floor(n2 / 256); + } + return output; + } + function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + input = punycode.ucs2.decode(input); + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + let value = 0; + let length = 0; + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 16 + parseInt(at2(input, pointer), 16); + ++pointer; + ++length; + } + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + pointer -= length; + if (pieceIndex > 6) { + return failure; + } + let numbersSeen = 0; + while (input[pointer] !== void 0) { + let ipv4Piece = null; + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + if (!isASCIIDigit(input[pointer])) { + return failure; + } + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at2(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + ++numbersSeen; + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + if (numbersSeen !== 4) { + return failure; + } + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === void 0) { + return failure; + } + } else if (input[pointer] !== void 0) { + return failure; + } + address[pieceIndex] = value; + ++pieceIndex; + } + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + return address; + } + function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + output += address[pieceIndex].toString(16); + if (pieceIndex !== 7) { + output += ":"; + } + } + return output; + } + function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + return parseIPv6(input.substring(1, input.length - 1)); + } + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + return asciiDomain; + } + function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i3 = 0; i3 < decoded.length; ++i3) { + output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); + } + return output; + } + function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; + let currStart = null; + let currLen = 0; + for (let i3 = 0; i3 < arr.length; ++i3) { + if (arr[i3] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i3; + } + ++currLen; + } + } + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + return { + idx: maxIdx, + len: maxLen + }; + } + function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + return host; + } + function trimControlChars(url2) { + return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); + } + function trimTabAndNewline(url2) { + return url2.replace(/\u0009|\u000A|\u000D/g, ""); + } + function shortenPath(url2) { + const path5 = url2.path; + if (path5.length === 0) { + return; + } + if (url2.scheme === "file" && path5.length === 1 && isNormalizedWindowsDriveLetter(path5[0])) { + return; + } + path5.pop(); + } + function includesCredentials(url2) { + return url2.username !== "" || url2.password !== ""; + } + function cannotHaveAUsernamePasswordPort(url2) { + return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; + } + function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); + } + function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url2; + this.failure = false; + this.parseError = false; + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + cannotBeABaseURL: false + }; + const res2 = trimControlChars(this.input); + if (res2 !== this.input) { + this.parseError = true; + } + this.input = res2; + } + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + this.state = stateOverride || "scheme start"; + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + this.input = punycode.ucs2.decode(this.input); + for (; this.pointer <= this.input.length; ++this.pointer) { + const c3 = this.input[this.pointer]; + const cStr = isNaN(c3) ? void 0 : String.fromCodePoint(c3); + const ret = this["parse " + this.state](c3, cStr); + if (!ret) { + break; + } else if (ret === failure) { + this.failure = true; + break; + } + } + } + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c3, cStr) { + if (isASCIIAlpha(c3)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse scheme"] = function parseScheme(c3, cStr) { + if (isASCIIAlphanumeric(c3) || c3 === 43 || c3 === 45 || c3 === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c3 === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c3) { + if (this.base === null || this.base.cannotBeABaseURL && c3 !== 35) { + return failure; + } else if (this.base.cannotBeABaseURL && c3 === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c3) { + if (c3 === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c3) { + if (c3 === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative"] = function parseRelative(c3) { + this.url.scheme = this.base.scheme; + if (isNaN(c3)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c3 === 47) { + this.state = "relative slash"; + } else if (c3 === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c3 === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c3) { + if (isSpecial(this.url) && (c3 === 47 || c3 === 92)) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c3 === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c3) { + if (c3 === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c3) { + if (c3 !== 47 && c3 !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + return true; + }; + URLStateMachine.prototype["parse authority"] = function parseAuthority(c3, cStr) { + if (c3 === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c3, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c3 === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c3 === 91) { + this.arrFlag = true; + } else if (c3 === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse port"] = function parsePort(c3, cStr) { + if (isASCIIDigit(c3)) { + this.buffer += cStr; + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92 || this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); + URLStateMachine.prototype["parse file"] = function parseFile(c3) { + this.url.scheme = "file"; + if (c3 === 47 || c3 === 92) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c3)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c3 === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c3, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c3) { + if (c3 === 47 || c3 === 92) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file host"] = function parseFileHost(c3, cStr) { + if (isNaN(c3) || c3 === 47 || c3 === 92 || c3 === 63 || c3 === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + if (this.stateOverride) { + return false; + } + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse path start"] = function parsePathStart(c3) { + if (isSpecial(this.url)) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "path"; + if (c3 !== 47 && c3 !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c3 === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c3 !== void 0) { + this.state = "path"; + if (c3 !== 47) { + --this.pointer; + } + } + return true; + }; + URLStateMachine.prototype["parse path"] = function parsePath(c3) { + if (isNaN(c3) || c3 === 47 || isSpecial(this.url) && c3 === 92 || !this.stateOverride && (c3 === 63 || c3 === 35)) { + if (isSpecial(this.url) && c3 === 92) { + this.parseError = true; + } + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c3 === void 0 || c3 === 63 || c3 === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c3 === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += percentEncodeChar(c3, isPathPercentEncode); + } + return true; + }; + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c3) { + if (c3 === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (!isNaN(c3) && c3 !== 37) { + this.parseError = true; + } + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + if (!isNaN(c3)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c3, isC0ControlPercentEncode); + } + } + return true; + }; + URLStateMachine.prototype["parse query"] = function parseQuery(c3, cStr) { + if (isNaN(c3) || !this.stateOverride && c3 === 35) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + const buffer = new Buffer(this.buffer); + for (let i3 = 0; i3 < buffer.length; ++i3) { + if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { + this.url.query += percentEncode(buffer[i3]); + } else { + this.url.query += String.fromCodePoint(buffer[i3]); + } + } + this.buffer = ""; + if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse fragment"] = function parseFragment(c3) { + if (isNaN(c3)) { + } else if (c3 === 0) { + this.parseError = true; + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.url.fragment += percentEncodeChar(c3, isC0ControlPercentEncode); + } + return true; + }; + function serializeURL(url2, excludeFragment) { + let output = url2.scheme + ":"; + if (url2.host !== null) { + output += "//"; + if (url2.username !== "" || url2.password !== "") { + output += url2.username; + if (url2.password !== "") { + output += ":" + url2.password; + } + output += "@"; + } + output += serializeHost(url2.host); + if (url2.port !== null) { + output += ":" + url2.port; + } + } else if (url2.host === null && url2.scheme === "file") { + output += "//"; + } + if (url2.cannotBeABaseURL) { + output += url2.path[0]; + } else { + for (const string of url2.path) { + output += "/" + string; + } + } + if (url2.query !== null) { + output += "?" + url2.query; + } + if (!excludeFragment && url2.fragment !== null) { + output += "#" + url2.fragment; + } + return output; + } + function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + if (tuple.port !== null) { + result += ":" + tuple.port; + } + return result; + } + module2.exports.serializeURL = serializeURL; + module2.exports.serializeURLOrigin = function(url2) { + switch (url2.scheme) { + case "blob": + try { + return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); + } catch (e3) { + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url2.scheme, + host: url2.host, + port: url2.port + }); + case "file": + return "file://"; + default: + return "null"; + } + }; + module2.exports.basicURLParse = function(input, options) { + if (options === void 0) { + options = {}; + } + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + return usm.url; + }; + module2.exports.setTheUsername = function(url2, username) { + url2.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + } + }; + module2.exports.setThePassword = function(url2, password) { + url2.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + } + }; + module2.exports.serializeHost = serializeHost; + module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + module2.exports.serializeInteger = function(integer) { + return String(integer); + }; + module2.exports.parseURL = function(input, options) { + if (options === void 0) { + options = {}; + } + return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); + }; + } +}); + +// node_modules/whatwg-url/lib/URL-impl.js +var require_URL_impl = __commonJS({ + "node_modules/whatwg-url/lib/URL-impl.js"(exports) { + "use strict"; + var usm = require_url_state_machine(); + exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url2 = constructorArgs[0]; + const base = constructorArgs[1]; + let parsedBase = null; + if (base !== void 0) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get href() { + return usm.serializeURL(this._url); + } + set href(v5) { + const parsedURL = usm.basicURLParse(v5); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get origin() { + return usm.serializeURLOrigin(this._url); + } + get protocol() { + return this._url.scheme + ":"; + } + set protocol(v5) { + usm.basicURLParse(v5 + ":", { url: this._url, stateOverride: "scheme start" }); + } + get username() { + return this._url.username; + } + set username(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setTheUsername(this._url, v5); + } + get password() { + return this._url.password; + } + set password(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setThePassword(this._url, v5); + } + get host() { + const url2 = this._url; + if (url2.host === null) { + return ""; + } + if (url2.port === null) { + return usm.serializeHost(url2.host); + } + return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); + } + set host(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v5, { url: this._url, stateOverride: "host" }); + } + get hostname() { + if (this._url.host === null) { + return ""; + } + return usm.serializeHost(this._url.host); + } + set hostname(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v5, { url: this._url, stateOverride: "hostname" }); + } + get port() { + if (this._url.port === null) { + return ""; + } + return usm.serializeInteger(this._url.port); + } + set port(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + if (v5 === "") { + this._url.port = null; + } else { + usm.basicURLParse(v5, { url: this._url, stateOverride: "port" }); + } + } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + if (this._url.path.length === 0) { + return ""; + } + return "/" + this._url.path.join("/"); + } + set pathname(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + this._url.path = []; + usm.basicURLParse(v5, { url: this._url, stateOverride: "path start" }); + } + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + return "?" + this._url.query; + } + set search(v5) { + const url2 = this._url; + if (v5 === "") { + url2.query = null; + return; + } + const input = v5[0] === "?" ? v5.substring(1) : v5; + url2.query = ""; + usm.basicURLParse(input, { url: url2, stateOverride: "query" }); + } + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + return "#" + this._url.fragment; + } + set hash(v5) { + if (v5 === "") { + this._url.fragment = null; + return; + } + const input = v5[0] === "#" ? v5.substring(1) : v5; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + toJSON() { + return this.href; + } + }; + } +}); + +// node_modules/whatwg-url/lib/URL.js +var require_URL = __commonJS({ + "node_modules/whatwg-url/lib/URL.js"(exports, module2) { + "use strict"; + var conversions = require_lib2(); + var utils = require_utils2(); + var Impl = require_URL_impl(); + var impl = utils.implSymbol; + function URL2(url2) { + if (!this || this[impl] || !(this instanceof URL2)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { + args[i3] = arguments[i3]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== void 0) { + args[1] = conversions["USVString"](args[1]); + } + module2.exports.setup(this, args); + } + URL2.prototype.toJSON = function toJSON2() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { + args[i3] = arguments[i3]; + } + return this[impl].toJSON.apply(this[impl], args); + }; + Object.defineProperty(URL2.prototype, "href", { + get() { + return this[impl].href; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].href = V6; + }, + enumerable: true, + configurable: true + }); + URL2.prototype.toString = function() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; + }; + Object.defineProperty(URL2.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].protocol = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "username", { + get() { + return this[impl].username; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].username = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "password", { + get() { + return this[impl].password; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].password = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "host", { + get() { + return this[impl].host; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].host = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].hostname = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "port", { + get() { + return this[impl].port; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].port = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].pathname = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "search", { + get() { + return this[impl].search; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].search = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].hash = V6; + }, + enumerable: true, + configurable: true + }); + module2.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL2.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) + privateData = {}; + privateData.wrapper = obj; + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL2, + expose: { + Window: { URL: URL2 }, + Worker: { URL: URL2 } + } + }; + } +}); + +// node_modules/whatwg-url/lib/public-api.js +var require_public_api = __commonJS({ + "node_modules/whatwg-url/lib/public-api.js"(exports) { + "use strict"; + exports.URL = require_URL().interface; + exports.serializeURL = require_url_state_machine().serializeURL; + exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; + exports.basicURLParse = require_url_state_machine().basicURLParse; + exports.setTheUsername = require_url_state_machine().setTheUsername; + exports.setThePassword = require_url_state_machine().setThePassword; + exports.serializeHost = require_url_state_machine().serializeHost; + exports.serializeInteger = require_url_state_machine().serializeInteger; + exports.parseURL = require_url_state_machine().parseURL; + } +}); + +// node_modules/node-fetch/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/node-fetch/lib/index.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function _interopDefault(ex) { + return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; + } + var Stream2 = _interopDefault(require("stream")); + var http2 = _interopDefault(require("http")); + var Url = _interopDefault(require("url")); + var whatwgUrl = _interopDefault(require_public_api()); + var https2 = _interopDefault(require("https")); + var zlib2 = _interopDefault(require("zlib")); + var Readable3 = Stream2.Readable; + var BUFFER = Symbol("buffer"); + var TYPE = Symbol("type"); + var Blob4 = class { + constructor() { + this[TYPE] = ""; + const blobParts = arguments[0]; + const options = arguments[1]; + const buffers = []; + let size = 0; + if (blobParts) { + const a4 = blobParts; + const length = Number(a4.length); + for (let i3 = 0; i3 < length; i3++) { + const element = a4[i3]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob4) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === "string" ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + this[BUFFER] = Buffer.concat(buffers); + let type = options && options.type !== void 0 && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable3(); + readable._read = function() { + }; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return "[object Blob]"; + } + slice() { + const size = this.size; + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === void 0) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === void 0) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob4([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } + }; + Object.defineProperties(Blob4.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } + }); + Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { + value: "Blob", + writable: false, + enumerable: false, + configurable: true + }); + function FetchError(message, type, systemError) { + Error.call(this, message); + this.message = message; + this.type = type; + if (systemError) { + this.code = this.errno = systemError.code; + } + Error.captureStackTrace(this, this.constructor); + } + FetchError.prototype = Object.create(Error.prototype); + FetchError.prototype.constructor = FetchError; + FetchError.prototype.name = "FetchError"; + var convert; + try { + convert = require("encoding").convert; + } catch (e3) { + } + var INTERNALS = Symbol("Body internals"); + var PassThrough = Stream2.PassThrough; + function Body(body) { + var _this = this; + var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; + let size = _ref$size === void 0 ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; + if (body == null) { + body = null; + } else if (isURLSearchParams2(body)) { + body = Buffer.from(body.toString()); + } else if (isBlob3(body)) + ; + else if (Buffer.isBuffer(body)) + ; + else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream2) + ; + else { + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + if (body instanceof Stream2) { + body.on("error", function(err) { + const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); + _this[INTERNALS].error = error; + }); + } + } + Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + arrayBuffer() { + return consumeBody.call(this).then(function(buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + blob() { + let ct2 = this.headers && this.headers.get("content-type") || ""; + return consumeBody.call(this).then(function(buf) { + return Object.assign( + new Blob4([], { + type: ct2.toLowerCase() + }), + { + [BUFFER]: buf + } + ); + }); + }, + json() { + var _this2 = this; + return consumeBody.call(this).then(function(buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); + } + }); + }, + text() { + return consumeBody.call(this).then(function(buffer) { + return buffer.toString(); + }); + }, + buffer() { + return consumeBody.call(this); + }, + textConverted() { + var _this3 = this; + return consumeBody.call(this).then(function(buffer) { + return convertBody(buffer, _this3.headers); + }); + } + }; + Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } + }); + Body.mixIn = function(proto2) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + if (!(name in proto2)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto2, name, desc); + } + } + }; + function consumeBody() { + var _this4 = this; + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + this[INTERNALS].disturbed = true; + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + let body = this.body; + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + if (isBlob3(body)) { + body = body.stream(); + } + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + if (!(body instanceof Stream2)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + let accum = []; + let accumBytes = 0; + let abort = false; + return new Body.Promise(function(resolve, reject) { + let resTimeout; + if (_this4.timeout) { + resTimeout = setTimeout(function() { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); + }, _this4.timeout); + } + body.on("error", function(err) { + if (err.name === "AbortError") { + abort = true; + reject(err); + } else { + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); + } + }); + body.on("data", function(chunk) { + if (abort || chunk === null) { + return; + } + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); + return; + } + accumBytes += chunk.length; + accum.push(chunk); + }); + body.on("end", function() { + if (abort) { + return; + } + clearTimeout(resTimeout); + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); + } + }); + }); + } + function convertBody(buffer, headers) { + if (typeof convert !== "function") { + throw new Error("The package `encoding` must be installed to use the textConverted() function"); + } + const ct2 = headers.get("content-type"); + let charset = "utf-8"; + let res, str; + if (ct2) { + res = /charset=([^;]*)/i.exec(ct2); + } + str = buffer.slice(0, 1024).toString(); + if (!res && str) { + res = / 0 && arguments[0] !== void 0 ? arguments[0] : void 0; + this[MAP] = /* @__PURE__ */ Object.create(null); + if (init instanceof Headers3) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + return; + } + if (init == null) + ; + else if (typeof init === "object") { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== "function") { + throw new TypeError("Header pairs must be iterable"); + } + const pairs = []; + for (const pair of init) { + if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { + throw new TypeError("Each header pair must be iterable"); + } + pairs.push(Array.from(pair)); + } + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError("Each header pair must be a name/value tuple"); + } + this.append(pair[0], pair[1]); + } + } else { + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError("Provided initializer must be an object"); + } + } + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === void 0) { + return null; + } + return this[MAP][key].join(", "); + } + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; + let pairs = getHeaders(this); + let i3 = 0; + while (i3 < pairs.length) { + var _pairs$i = pairs[i3]; + const name = _pairs$i[0], value = _pairs$i[1]; + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i3++; + } + } + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== void 0 ? key : name] = [value]; + } + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== void 0) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== void 0; + } + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== void 0) { + delete this[MAP][key]; + } + } + raw() { + return this[MAP]; + } + keys() { + return createHeadersIterator(this, "key"); + } + values() { + return createHeadersIterator(this, "value"); + } + [Symbol.iterator]() { + return createHeadersIterator(this, "key+value"); + } + }; + Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; + Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { + value: "Headers", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Headers3.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } + }); + function getHeaders(headers) { + let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind2 === "key" ? function(k7) { + return k7.toLowerCase(); + } : kind2 === "value" ? function(k7) { + return headers[MAP][k7].join(", "); + } : function(k7) { + return [k7.toLowerCase(), headers[MAP][k7].join(", ")]; + }); + } + var INTERNAL = Symbol("internal"); + function createHeadersIterator(target, kind2) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind: kind2, + index: 0 + }; + return iterator; + } + var HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError("Value of `this` is not a HeadersIterator"); + } + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind2); + const len = values.length; + if (index >= len) { + return { + value: void 0, + done: true + }; + } + this[INTERNAL].index = index + 1; + return { + value: values[index], + done: false + }; + } + }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: "HeadersIterator", + writable: false, + enumerable: false, + configurable: true + }); + function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + const hostHeaderKey = find(headers[MAP], "Host"); + if (hostHeaderKey !== void 0) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + return obj; + } + function createHeadersLenient(obj) { + const headers = new Headers3(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === void 0) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; + } + var INTERNALS$1 = Symbol("Response internals"); + var STATUS_CODES = http2.STATUS_CODES; + var Response3 = class { + constructor() { + let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + Body.call(this, body, opts); + const status = opts.status || 200; + const headers = new Headers3(opts.headers); + if (body != null && !headers.has("Content-Type")) { + const contentType = extractContentType(body); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + get url() { + return this[INTERNALS$1].url || ""; + } + get status() { + return this[INTERNALS$1].status; + } + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + get redirected() { + return this[INTERNALS$1].counter > 0; + } + get statusText() { + return this[INTERNALS$1].statusText; + } + get headers() { + return this[INTERNALS$1].headers; + } + clone() { + return new Response3(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } + }; + Body.mixIn(Response3.prototype); + Object.defineProperties(Response3.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } + }); + Object.defineProperty(Response3.prototype, Symbol.toStringTag, { + value: "Response", + writable: false, + enumerable: false, + configurable: true + }); + var INTERNALS$2 = Symbol("Request internals"); + var URL2 = Url.URL || whatwgUrl.URL; + var parse_url = Url.parse; + var format_url = Url.format; + function parseURL(urlStr) { + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL2(urlStr).toString(); + } + return parse_url(urlStr); + } + var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; + function isRequest(input) { + return typeof input === "object" && typeof input[INTERNALS$2] === "object"; + } + function isAbortSignal(signal) { + const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); + return !!(proto2 && proto2.constructor.name === "AbortSignal"); + } + var Request3 = class { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + let parsedURL; + if (!isRequest(input)) { + if (input && input.href) { + parsedURL = parseURL(input.href); + } else { + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + let method = init.method || input.method || "GET"; + method = method.toUpperCase(); + if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body"); + } + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + const headers = new Headers3(init.headers || input.headers || {}); + if (inputBody != null && !headers.has("Content-Type")) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + let signal = isRequest(input) ? input.signal : null; + if ("signal" in init) + signal = init.signal; + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError("Expected signal to be an instanceof AbortSignal"); + } + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || "follow", + headers, + parsedURL, + signal + }; + this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; + this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + get method() { + return this[INTERNALS$2].method; + } + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + get headers() { + return this[INTERNALS$2].headers; + } + get redirect() { + return this[INTERNALS$2].redirect; + } + get signal() { + return this[INTERNALS$2].signal; + } + clone() { + return new Request3(this); + } + }; + Body.mixIn(Request3.prototype); + Object.defineProperty(Request3.prototype, Symbol.toStringTag, { + value: "Request", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Request3.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } + }); + function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers3(request[INTERNALS$2].headers); + if (!headers.has("Accept")) { + headers.set("Accept", "*/*"); + } + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError("Only absolute URLs are supported"); + } + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError("Only HTTP(S) protocols are supported"); + } + if (request.signal && request.body instanceof Stream2.Readable && !streamDestructionSupported) { + throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); + } + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = "0"; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === "number") { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set("Content-Length", contentLengthValue); + } + if (!headers.has("User-Agent")) { + headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); + } + if (request.compress && !headers.has("Accept-Encoding")) { + headers.set("Accept-Encoding", "gzip,deflate"); + } + let agent = request.agent; + if (typeof agent === "function") { + agent = agent(parsedURL); + } + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); + } + function AbortError(message) { + Error.call(this, message); + this.type = "aborted"; + this.message = message; + Error.captureStackTrace(this, this.constructor); + } + AbortError.prototype = Object.create(Error.prototype); + AbortError.prototype.constructor = AbortError; + AbortError.prototype.name = "AbortError"; + var URL$1 = Url.URL || whatwgUrl.URL; + var PassThrough$1 = Stream2.PassThrough; + var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); + }; + var isSameProtocol = function isSameProtocol2(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + return orig === dest; + }; + function fetch2(url2, opts) { + if (!fetch2.Promise) { + throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); + } + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request = new Request3(url2, opts); + const options = getNodeRequestOptions(request); + const send = (options.protocol === "https:" ? https2 : http2).request; + const signal = request.signal; + let response = null; + const abort = function abort2() { + let error = new AbortError("The user aborted a request."); + reject(error); + if (request.body && request.body instanceof Stream2.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) + return; + response.body.emit("error", error); + }; + if (signal && signal.aborted) { + abort(); + return; + } + const abortAndFinalize = function abortAndFinalize2() { + abort(); + finalize(); + }; + const req = send(options); + let reqTimeout; + if (signal) { + signal.addEventListener("abort", abortAndFinalize); + } + function finalize() { + req.abort(); + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + clearTimeout(reqTimeout); + } + if (request.timeout) { + req.once("socket", function(socket) { + reqTimeout = setTimeout(function() { + reject(new FetchError(`network timeout at: ${request.url}`, "request-timeout")); + finalize(); + }, request.timeout); + }); + } + req.on("error", function(err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, "system", err)); + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); + }); + fixResponseChunkedTransferBadEnding(req, function(err) { + if (signal && signal.aborted) { + return; + } + if (response && response.body) { + destroyStream(response.body, err); + } + }); + if (parseInt(process.version.substring(1)) < 14) { + req.on("socket", function(s2) { + s2.addListener("close", function(hadError) { + const hasDataListener = s2.listenerCount("data") > 0; + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + response.body.emit("error", err); + } + }); + }); + } + req.on("response", function(res) { + clearTimeout(reqTimeout); + const headers = createHeadersLenient(res.headers); + if (fetch2.isRedirect(res.statusCode)) { + const location = headers.get("Location"); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + if (request.redirect !== "manual") { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); + finalize(); + return; + } + } + switch (request.redirect) { + case "error": + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect")); + finalize(); + return; + case "manual": + if (locationURL !== null) { + try { + headers.set("Location", locationURL); + } catch (err) { + reject(err); + } + } + break; + case "follow": + if (locationURL === null) { + break; + } + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect")); + finalize(); + return; + } + const requestOpts = { + headers: new Headers3(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { + requestOpts.headers.delete(name); + } + } + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); + finalize(); + return; + } + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === "POST") { + requestOpts.method = "GET"; + requestOpts.body = void 0; + requestOpts.headers.delete("content-length"); + } + resolve(fetch2(new Request3(locationURL, requestOpts))); + finalize(); + return; + } + } + res.once("end", function() { + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + const codings = headers.get("Content-Encoding"); + if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response3(body, response_options); + resolve(response); + return; + } + const zlibOptions2 = { + flush: zlib2.Z_SYNC_FLUSH, + finishFlush: zlib2.Z_SYNC_FLUSH + }; + if (codings == "gzip" || codings == "x-gzip") { + body = body.pipe(zlib2.createGunzip(zlibOptions2)); + response = new Response3(body, response_options); + resolve(response); + return; + } + if (codings == "deflate" || codings == "x-deflate") { + const raw = res.pipe(new PassThrough$1()); + raw.once("data", function(chunk) { + if ((chunk[0] & 15) === 8) { + body = body.pipe(zlib2.createInflate()); + } else { + body = body.pipe(zlib2.createInflateRaw()); + } + response = new Response3(body, response_options); + resolve(response); + }); + raw.on("end", function() { + if (!response) { + response = new Response3(body, response_options); + resolve(response); + } + }); + return; + } + if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") { + body = body.pipe(zlib2.createBrotliDecompress()); + response = new Response3(body, response_options); + resolve(response); + return; + } + response = new Response3(body, response_options); + resolve(response); + }); + writeToStream(req, request); + }); + } + function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + request.on("socket", function(s2) { + socket = s2; + }); + request.on("response", function(response) { + const headers = response.headers; + if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { + response.once("close", function(hadError) { + const hasDataListener = socket && socket.listenerCount("data") > 0; + if (hasDataListener && !hadError) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + errorCallback(err); + } + }); + } + }); + } + function destroyStream(stream4, err) { + if (stream4.destroy) { + stream4.destroy(err); + } else { + stream4.emit("error", err); + stream4.end(); + } + } + fetch2.isRedirect = function(code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + }; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = exports; + exports.Headers = Headers3; + exports.Request = Request3; + exports.Response = Response3; + exports.FetchError = FetchError; + exports.AbortError = AbortError; + } +}); + +// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs +function t() { +} +function r2(e3) { + return "object" == typeof e3 && null !== e3 || "function" == typeof e3; +} +function n(e3, t2) { + try { + Object.defineProperty(e3, "name", { value: t2, configurable: true }); + } catch (e4) { + } +} +function u2(e3) { + return new a3(e3); +} +function c2(e3) { + return l2(e3); +} +function d6(e3) { + return s(e3); +} +function f3(e3, t2, r3) { + return i2.call(e3, t2, r3); +} +function b6(e3, t2, r3) { + f3(f3(e3, t2, r3), void 0, o2); +} +function h3(e3, t2) { + b6(e3, t2); +} +function _6(e3, t2) { + b6(e3, void 0, t2); +} +function p3(e3, t2, r3) { + return f3(e3, t2, r3); +} +function m4(e3) { + f3(e3, void 0, o2); +} +function g3(e3, t2, r3) { + if ("function" != typeof e3) + throw new TypeError("Argument is not a function"); + return Function.prototype.apply.call(e3, t2, r3); +} +function w6(e3, t2, r3) { + try { + return c2(g3(e3, t2, r3)); + } catch (e4) { + return d6(e4); + } +} +function E3(e3, t2) { + e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O4(e3) : "closed" === t2._state ? function(e4) { + O4(e4), j3(e4); + }(e3) : B2(e3, t2._storedError); +} +function P3(e3, t2) { + return Gt(e3._ownerReadableStream, t2); +} +function W5(e3) { + const t2 = e3._ownerReadableStream; + "readable" === t2._state ? A4(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { + B2(e4, t3); + }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C4](), t2._reader = void 0, e3._ownerReadableStream = void 0; +} +function k6(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released reader"); +} +function O4(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; + }); +} +function B2(e3, t2) { + O4(e3), A4(e3, t2); +} +function A4(e3, t2) { + void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function j3(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function F4(e3, t2) { + if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) + throw new TypeError(`${t2} is not an object.`); + var r3; +} +function I4(e3, t2) { + if ("function" != typeof e3) + throw new TypeError(`${t2} is not a function.`); +} +function D4(e3, t2) { + if (!function(e4) { + return "object" == typeof e4 && null !== e4 || "function" == typeof e4; + }(e3)) + throw new TypeError(`${t2} is not an object.`); +} +function $5(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); +} +function M4(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`${t2} is required in '${r3}'.`); +} +function Y2(e3) { + return Number(e3); +} +function Q4(e3) { + return 0 === e3 ? 0 : e3; +} +function N5(e3, t2) { + const r3 = Number.MAX_SAFE_INTEGER; + let o3 = Number(e3); + if (o3 = Q4(o3), !z5(o3)) + throw new TypeError(`${t2} is not a finite number`); + if (o3 = function(e4) { + return Q4(L6(e4)); + }(o3), o3 < 0 || o3 > r3) + throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); + return z5(o3) && 0 !== o3 ? o3 : 0; +} +function H4(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getReader) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function x4(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getWriter) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function V5(e3, t2) { + if (!Vt(e3)) + throw new TypeError(`${t2} is not a ReadableStream.`); +} +function U6(e3, t2) { + e3._reader._readRequests.push(t2); +} +function G5(e3, t2, r3) { + const o3 = e3._reader._readRequests.shift(); + r3 ? o3._closeSteps() : o3._chunkSteps(t2); +} +function X4(e3) { + return e3._reader._readRequests.length; +} +function J4(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!K5(t2); +} +function K5(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); +} +function Z5(e3, t2) { + const r3 = e3._readRequests; + e3._readRequests = new S5(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function ee2(e3) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); +} +function oe(e3) { + if (!r2(e3)) + return false; + if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) + return false; + try { + return e3._asyncIteratorImpl instanceof te; + } catch (e4) { + return false; + } +} +function ne(e3) { + return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); +} +function ie2(e3, t2, r3, o3, n2) { + new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); +} +function le2(e3) { + const t2 = function(e4, t3, r3) { + if (e4.slice) + return e4.slice(t3, r3); + const o3 = r3 - t3, n2 = new ArrayBuffer(o3); + return ie2(n2, 0, e4, t3, o3), n2; + }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); + return new Uint8Array(t2); +} +function se(e3) { + const t2 = e3._queue.shift(); + return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; +} +function ue2(e3, t2, r3) { + if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + var o3; + e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; +} +function ce2(e3) { + e3._queue = new S5(), e3._queueTotalSize = 0; +} +function de(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); +} +function fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); +} +function be(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableByteStream; + if ("readable" !== t3._state) + return false; + if (e4._closeRequested) + return false; + if (!e4._started) + return false; + if (J4(t3) && X4(t3) > 0) + return true; + if (Le(t3) && ze(t3) > 0) + return true; + if (ke(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); +} +function he(e3) { + Re(e3), e3._pendingPullIntos = new S5(); +} +function _e(e3, t2) { + let r3 = false; + "closed" === e3._state && (r3 = true); + const o3 = pe(t2); + "default" === t2.readerType ? G5(e3, o3, r3) : function(e4, t3, r4) { + const o4 = e4._reader._readIntoRequests.shift(); + r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); + }(e3, o3, r3); +} +function pe(e3) { + const t2 = e3.bytesFilled, r3 = e3.elementSize; + return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); +} +function me(e3, t2, r3, o3) { + e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; +} +function ye(e3, t2, r3, o3) { + let n2; + try { + n2 = t2.slice(r3, r3 + o3); + } catch (t3) { + throw Pe(e3, t3), t3; + } + me(e3, n2, 0, o3); +} +function ge(e3, t2) { + t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); +} +function we(e3, t2) { + const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a4 = t2.bytesFilled + n2, i3 = a4 - a4 % r3; + let l3 = n2, s2 = false; + i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); + const u3 = e3._queue; + for (; l3 > 0; ) { + const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; + ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; + } + return s2; +} +function Se(e3, t2, r3) { + r3.bytesFilled += t2; +} +function ve(e3) { + 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); +} +function Re(e3) { + null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); +} +function Te(e3) { + for (; e3._pendingPullIntos.length > 0; ) { + if (0 === e3._queueTotalSize) + return; + const t2 = e3._pendingPullIntos.peek(); + we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); + } +} +function qe(e3, t2) { + const r3 = e3._pendingPullIntos.peek(); + Re(e3); + "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { + "none" === t3.readerType && Ce(e4); + const r4 = e4._controlledReadableByteStream; + if (Le(r4)) + for (; ze(r4) > 0; ) + _e(r4, Ce(e4)); + }(e3, r3) : function(e4, t3, r4) { + if (Se(0, t3, r4), "none" === r4.readerType) + return ge(e4, r4), void Te(e4); + if (r4.bytesFilled < r4.elementSize) + return; + Ce(e4); + const o3 = r4.bytesFilled % r4.elementSize; + if (o3 > 0) { + const t4 = r4.byteOffset + r4.bytesFilled; + ye(e4, r4.buffer, t4 - o3, o3); + } + r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); + }(e3, t2, r3), be(e3); +} +function Ce(e3) { + return e3._pendingPullIntos.shift(); +} +function Ee(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; +} +function Pe(e3, t2) { + const r3 = e3._controlledReadableByteStream; + "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); +} +function We(e3, t2) { + const r3 = e3._queue.shift(); + e3._queueTotalSize -= r3.byteLength, ve(e3); + const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); + t2._chunkSteps(o3); +} +function ke(e3) { + const t2 = e3._controlledReadableByteStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Oe(e3, t2, r3) { + const o3 = Object.create(ReadableByteStreamController.prototype); + let n2, a4, i3; + n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { + }, a4 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c2(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0); + const l3 = t2.autoAllocateChunkSize; + if (0 === l3) + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + !function(e4, t3, r4, o4, n3, a5, i4) { + t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S5(), e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); + }(e3, o3, n2, a4, i3, r3, l3); +} +function Be(e3) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); +} +function Ae(e3) { + return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); +} +function je(e3, t2) { + e3._reader._readIntoRequests.push(t2); +} +function ze(e3) { + return e3._reader._readIntoRequests.length; +} +function Le(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!Fe(t2); +} +function Fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); +} +function Ie(e3, t2) { + const r3 = e3._readIntoRequests; + e3._readIntoRequests = new S5(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function De(e3) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); +} +function $e(e3, t2) { + const { highWaterMark: r3 } = e3; + if (void 0 === r3) + return t2; + if (ae2(r3) || r3 < 0) + throw new RangeError("Invalid highWaterMark"); + return r3; +} +function Me(e3) { + const { size: t2 } = e3; + return t2 || (() => 1); +} +function Ye(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; + return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; +} +function Qe(e3, t2) { + return I4(e3, t2), (t3) => Y2(e3(t3)); +} +function Ne(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function He(e3, t2, r3) { + return I4(e3, r3), () => w6(e3, t2, []); +} +function xe(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function Ve(e3, t2, r3) { + return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); +} +function Ge(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); +} +function Xe(e3) { + return void 0 !== e3._writer; +} +function Je(e3, t2) { + var r3; + if ("closed" === e3._state || "errored" === e3._state) + return c2(void 0); + e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); + const o3 = e3._state; + if ("closed" === o3 || "errored" === o3) + return c2(void 0); + if (void 0 !== e3._pendingAbortRequest) + return e3._pendingAbortRequest._promise; + let n2 = false; + "erroring" === o3 && (n2 = true, t2 = void 0); + const a4 = u2((r4, o4) => { + e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; + }); + return e3._pendingAbortRequest._promise = a4, n2 || et(e3, t2), a4; +} +function Ke(e3) { + const t2 = e3._state; + if ("closed" === t2 || "errored" === t2) + return d6(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); + const r3 = u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e3._closeRequest = o4; + }), o3 = e3._writer; + var n2; + return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; +} +function Ze(e3, t2) { + "writable" !== e3._state ? tt(e3) : et(e3, t2); +} +function et(e3, t2) { + const r3 = e3._writableStreamController; + e3._state = "erroring", e3._storedError = t2; + const o3 = e3._writer; + void 0 !== o3 && it(o3, t2), !function(e4) { + if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) + return false; + return true; + }(e3) && r3._started && tt(e3); +} +function tt(e3) { + e3._state = "errored", e3._writableStreamController[R6](); + const t2 = e3._storedError; + if (e3._writeRequests.forEach((e4) => { + e4._reject(t2); + }), e3._writeRequests = new S5(), void 0 === e3._pendingAbortRequest) + return void ot(e3); + const r3 = e3._pendingAbortRequest; + if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) + return r3._reject(t2), void ot(e3); + b6(e3._writableStreamController[v4](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); +} +function rt(e3) { + return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; +} +function ot(e3) { + void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); + const t2 = e3._writer; + void 0 !== t2 && St(t2, e3._storedError); +} +function nt(e3, t2) { + const r3 = e3._writer; + void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { + Rt(e4); + }(r3) : Et(r3)), e3._backpressure = t2; +} +function at(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); +} +function it(e3, t2) { + "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { + Tt(e4, t3); + }(e3, t2); +} +function st(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); +} +function ut(e3) { + e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function ct(e3) { + return e3._strategyHWM - e3._queueTotalSize; +} +function dt(e3) { + const t2 = e3._controlledWritableStream; + if (!e3._started) + return; + if (void 0 !== t2._inFlightWriteRequest) + return; + if ("erroring" === t2._state) + return void tt(t2); + if (0 === e3._queue.length) + return; + const r3 = e3._queue.peek().value; + r3 === lt ? function(e4) { + const t3 = e4._controlledWritableStream; + (function(e5) { + e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; + })(t3), se(e4); + const r4 = e4._closeAlgorithm(); + ut(e4), b6(r4, () => (function(e5) { + e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; + const t4 = e5._writer; + void 0 !== t4 && vt(t4); + }(t3), null), (e5) => (function(e6, t4) { + e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); + }(t3, e5), null)); + }(e3) : function(e4, t3) { + const r4 = e4._controlledWritableStream; + !function(e5) { + e5._inFlightWriteRequest = e5._writeRequests.shift(); + }(r4); + b6(e4._writeAlgorithm(t3), () => { + !function(e5) { + e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; + }(r4); + const t4 = r4._state; + if (se(e4), !rt(r4) && "writable" === t4) { + const t5 = bt(e4); + nt(r4, t5); + } + return dt(e4), null; + }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { + e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); + }(r4, t4), null)); + }(e3, r3); +} +function ft(e3, t2) { + "writable" === e3._controlledWritableStream._state && ht(e3, t2); +} +function bt(e3) { + return ct(e3) <= 0; +} +function ht(e3, t2) { + const r3 = e3._controlledWritableStream; + ut(e3), et(r3, t2); +} +function _t(e3) { + return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); +} +function pt(e3) { + return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); +} +function mt(e3) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); +} +function yt(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released writer"); +} +function gt(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; + }); +} +function wt(e3, t2) { + gt(e3), St(e3, t2); +} +function St(e3, t2) { + void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); +} +function vt(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); +} +function Rt(e3) { + e3._readyPromise = u2((t2, r3) => { + e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; + }), e3._readyPromiseState = "pending"; +} +function Tt(e3, t2) { + Rt(e3), Ct(e3, t2); +} +function qt(e3) { + Rt(e3), Et(e3); +} +function Ct(e3, t2) { + void 0 !== e3._readyPromise_reject && (m4(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); +} +function Et(e3) { + void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); +} +function kt(e3, t2, r3, o3, n2, a4) { + const i3 = e3.getReader(), l3 = t2.getWriter(); + Vt(e3) && (e3._disturbed = true); + let s2, _7, g4, w7 = false, S6 = false, v5 = "readable", R7 = "writable", T6 = false, q6 = false; + const C5 = u2((e4) => { + g4 = e4; + }); + let E4 = Promise.resolve(void 0); + return u2((P4, W6) => { + let k7; + function O5() { + if (w7) + return; + const e4 = u2((e5, t3) => { + !function r4(o4) { + o4 ? e5() : f3(function() { + if (w7) + return c2(true); + return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E4 = l3.write(e6.value), m4(E4), false))); + }(), r4, t3); + }(false); + }); + m4(e4); + } + function B3() { + return v5 = "closed", r3 ? L7() : z6(() => (Ge(t2) && (T6 = rt(t2), R7 = t2._state), T6 || "closed" === R7 ? c2(void 0) : "erroring" === R7 || "errored" === R7 ? d6(_7) : (T6 = true, l3.close())), false, void 0), null; + } + function A5(e4) { + return w7 || (v5 = "errored", s2 = e4, o3 ? L7(true, e4) : z6(() => l3.abort(e4), true, e4)), null; + } + function j4(e4) { + return S6 || (R7 = "errored", _7 = e4, n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4)), null; + } + if (void 0 !== a4 && (k7 = () => { + const e4 = void 0 !== a4.reason ? a4.reason : new Wt("Aborted", "AbortError"), t3 = []; + o3 || t3.push(() => "writable" === R7 ? l3.abort(e4) : c2(void 0)), n2 || t3.push(() => "readable" === v5 ? i3.cancel(e4) : c2(void 0)), z6(() => Promise.all(t3.map((e5) => e5())), true, e4); + }, a4.aborted ? k7() : a4.addEventListener("abort", k7)), Vt(e3) && (v5 = e3._state, s2 = e3._storedError), Ge(t2) && (R7 = t2._state, _7 = t2._storedError, T6 = rt(t2)), Vt(e3) && Ge(t2) && (q6 = true, g4()), "errored" === v5) + A5(s2); + else if ("erroring" === R7 || "errored" === R7) + j4(_7); + else if ("closed" === v5) + B3(); + else if (T6 || "closed" === R7) { + const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); + n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4); + } + function z6(e4, t3, r4) { + function o4() { + return "writable" !== R7 || T6 ? n3() : h3(function() { + let e5; + return c2(function t4() { + if (e5 !== E4) + return e5 = E4, p3(E4, t4, t4); + }()); + }(), n3), null; + } + function n3() { + return e4 ? b6(e4(), () => F5(t3, r4), (e5) => F5(true, e5)) : F5(t3, r4), null; + } + w7 || (w7 = true, q6 ? o4() : h3(C5, o4)); + } + function L7(e4, t3) { + z6(void 0, e4, t3); + } + function F5(e4, t3) { + return S6 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a4 && a4.removeEventListener("abort", k7), e4 ? W6(t3) : P4(void 0), null; + } + w7 || (b6(i3.closed, B3, A5), b6(l3.closed, function() { + return S6 || (R7 = "closed"), null; + }, j4)), q6 ? O5() : y5(() => { + q6 = true, g4(), O5(); + }); + }); +} +function Ot(e3, t2) { + return function(e4) { + try { + return e4.getReader({ mode: "byob" }).releaseLock(), true; + } catch (e5) { + return false; + } + }(e3) ? function(e4) { + let t3, r3, o3, n2, a4, i3 = e4.getReader(), l3 = false, s2 = false, d7 = false, f4 = false, h4 = false, p4 = false; + const m5 = u2((e5) => { + a4 = e5; + }); + function y6(e5) { + _6(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h4 && p4 || a4(void 0)), null)); + } + function g4() { + l3 && (i3.releaseLock(), i3 = e4.getReader(), y6(i3), l3 = false), b6(i3.read(), (e5) => { + var t4, r4; + if (d7 = false, f4 = false, e5.done) + return h4 || o3.close(), p4 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h4 && p4 || a4(void 0), null; + const l4 = e5.value, u3 = l4; + let c3 = l4; + if (!h4 && !p4) + try { + c3 = le2(l4); + } catch (e6) { + return o3.error(e6), n2.error(e6), a4(i3.cancel(e6)), null; + } + return h4 || o3.enqueue(u3), p4 || n2.enqueue(c3), s2 = false, d7 ? S6() : f4 && v5(), null; + }, () => (s2 = false, null)); + } + function w7(t4, r4) { + l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y6(i3), l3 = true); + const u3 = r4 ? n2 : o3, c3 = r4 ? o3 : n2; + b6(i3.read(t4), (e5) => { + var t5; + d7 = false, f4 = false; + const o4 = r4 ? p4 : h4, n3 = r4 ? h4 : p4; + if (e5.done) { + o4 || u3.close(), n3 || c3.close(); + const r5 = e5.value; + return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c3.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a4(void 0), null; + } + const l4 = e5.value; + if (n3) + o4 || u3.byobRequest.respondWithNewView(l4); + else { + let e6; + try { + e6 = le2(l4); + } catch (e7) { + return u3.error(e7), c3.error(e7), a4(i3.cancel(e7)), null; + } + o4 || u3.byobRequest.respondWithNewView(l4), c3.enqueue(e6); + } + return s2 = false, d7 ? S6() : f4 && v5(), null; + }, () => (s2 = false, null)); + } + function S6() { + if (s2) + return d7 = true, c2(void 0); + s2 = true; + const e5 = o3.byobRequest; + return null === e5 ? g4() : w7(e5.view, false), c2(void 0); + } + function v5() { + if (s2) + return f4 = true, c2(void 0); + s2 = true; + const e5 = n2.byobRequest; + return null === e5 ? g4() : w7(e5.view, true), c2(void 0); + } + function R7(e5) { + if (h4 = true, t3 = e5, p4) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a4(o4); + } + return m5; + } + function T6(e5) { + if (p4 = true, r3 = e5, h4) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a4(o4); + } + return m5; + } + const q6 = new ReadableStream2({ type: "bytes", start(e5) { + o3 = e5; + }, pull: S6, cancel: R7 }), C5 = new ReadableStream2({ type: "bytes", start(e5) { + n2 = e5; + }, pull: v5, cancel: T6 }); + return y6(i3), [q6, C5]; + }(e3) : function(e4, t3) { + const r3 = e4.getReader(); + let o3, n2, a4, i3, l3, s2 = false, d7 = false, f4 = false, h4 = false; + const p4 = u2((e5) => { + l3 = e5; + }); + function m5() { + return s2 ? (d7 = true, c2(void 0)) : (s2 = true, b6(r3.read(), (e5) => { + if (d7 = false, e5.done) + return f4 || a4.close(), h4 || i3.close(), f4 && h4 || l3(void 0), null; + const t4 = e5.value, r4 = t4, o4 = t4; + return f4 || a4.enqueue(r4), h4 || i3.enqueue(o4), s2 = false, d7 && m5(), null; + }, () => (s2 = false, null)), c2(void 0)); + } + function y6(e5) { + if (f4 = true, o3 = e5, h4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p4; + } + function g4(e5) { + if (h4 = true, n2 = e5, f4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p4; + } + const w7 = new ReadableStream2({ start(e5) { + a4 = e5; + }, pull: m5, cancel: y6 }), S6 = new ReadableStream2({ start(e5) { + i3 = e5; + }, pull: m5, cancel: g4 }); + return _6(r3.closed, (e5) => (a4.error(e5), i3.error(e5), f4 && h4 || l3(void 0), null)), [w7, S6]; + }(e3); +} +function Bt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); +} +function At(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableStream; + if (!Ft(e4)) + return false; + if (!e4._started) + return false; + if (Ut(t3) && X4(t3) > 0) + return true; + if (Lt(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); +} +function jt(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function zt(e3, t2) { + const r3 = e3._controlledReadableStream; + "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); +} +function Lt(e3) { + const t2 = e3._controlledReadableStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Ft(e3) { + return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; +} +function It(e3, t2, r3, o3) { + const n2 = Object.create(ReadableStreamDefaultController.prototype); + let a4, i3, l3; + a4 = void 0 !== t2.start ? () => t2.start(n2) : () => { + }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c2(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0), function(e4, t3, r4, o4, n3, a5, i4) { + t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); + }(e3, n2, a4, i3, l3, r3, o3); +} +function Dt(e3) { + return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); +} +function $t(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function Mt(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function Yt(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function Qt(e3, t2) { + if ("bytes" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); + return e3; +} +function Nt(e3, t2) { + if ("byob" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); + return e3; +} +function Ht(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a4 = null == e3 ? void 0 : e3.signal; + return void 0 !== a4 && function(e4, t3) { + if (!function(e5) { + if ("object" != typeof e5 || null === e5) + return false; + try { + return "boolean" == typeof e5.aborted; + } catch (e6) { + return false; + } + }(e4)) + throw new TypeError(`${t3} is not an AbortSignal.`); + }(a4, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a4 }; +} +function xt(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.readable; + M4(r3, "readable", "ReadableWritablePair"), function(e4, t3) { + if (!H4(e4)) + throw new TypeError(`${t3} is not a ReadableStream.`); + }(r3, `${t2} has member 'readable' that`); + const o3 = null == e3 ? void 0 : e3.writable; + return M4(o3, "writable", "ReadableWritablePair"), function(e4, t3) { + if (!x4(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; +} +function Vt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream2); +} +function Ut(e3) { + return void 0 !== e3._reader; +} +function Gt(e3, r3) { + if (e3._disturbed = true, "closed" === e3._state) + return c2(void 0); + if ("errored" === e3._state) + return d6(e3._storedError); + Xt(e3); + const o3 = e3._reader; + if (void 0 !== o3 && Fe(o3)) { + const e4 = o3._readIntoRequests; + o3._readIntoRequests = new S5(), e4.forEach((e5) => { + e5._closeSteps(void 0); + }); + } + return p3(e3._readableStreamController[T5](r3), t); +} +function Xt(e3) { + e3._state = "closed"; + const t2 = e3._reader; + if (void 0 !== t2 && (j3(t2), K5(t2))) { + const e4 = t2._readRequests; + t2._readRequests = new S5(), e4.forEach((e5) => { + e5._closeSteps(); + }); + } +} +function Jt(e3, t2) { + e3._state = "errored", e3._storedError = t2; + const r3 = e3._reader; + void 0 !== r3 && (A4(r3, t2), K5(r3) ? Z5(r3, t2) : Ie(r3, t2)); +} +function Kt(e3) { + return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); +} +function Zt(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark; + return M4(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; +} +function tr(e3) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); +} +function rr(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); +} +function nr(e3) { + return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); +} +function ar(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); +} +function ir(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function lr(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function sr(e3, t2, r3) { + return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); +} +function ur(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream); +} +function cr(e3, t2) { + Sr(e3, t2), dr(e3, t2); +} +function dr(e3, t2) { + hr(e3._transformStreamController), function(e4, t3) { + e4._writableController.error(t3); + "writable" === e4._writableState && Tr(e4, t3); + }(e3, t2), e3._backpressure && fr(e3, false); +} +function fr(e3, t2) { + void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { + e3._backpressureChangePromise_resolve = t3; + }), e3._backpressure = t2; +} +function br(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); +} +function hr(e3) { + e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; +} +function _r(e3, t2) { + const r3 = e3._controlledTransformStream; + if (!gr(r3)) + throw new TypeError("Readable side is not in a state that permits enqueue"); + try { + !function(e4, t3) { + e4._readablePulling = false; + try { + e4._readableController.enqueue(t3); + } catch (t4) { + throw Sr(e4, t4), t4; + } + }(r3, t2); + } catch (e4) { + throw dr(r3, e4), r3._readableStoredError; + } + const o3 = function(e4) { + return !function(e5) { + if (!gr(e5)) + return false; + if (e5._readablePulling) + return true; + if (vr(e5) > 0) + return true; + return false; + }(e4); + }(r3); + o3 !== r3._backpressure && fr(r3, true); +} +function pr(e3, t2) { + return p3(e3._transformAlgorithm(t2), void 0, (t3) => { + throw cr(e3._controlledTransformStream, t3), t3; + }); +} +function mr(e3) { + return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); +} +function yr(e3) { + return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); +} +function gr(e3) { + return !e3._readableCloseRequested && "readable" === e3._readableState; +} +function wr(e3) { + e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); +} +function Sr(e3, t2) { + "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); +} +function vr(e3) { + return e3._readableController.desiredSize; +} +function Rr(e3, t2) { + "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); +} +function Tr(e3, t2) { + e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { + return e4._writableHasInFlightOperation; + }(e3) && e3._writableStarted && qr(e3); +} +function qr(e3) { + e3._writableState = "errored"; +} +function Cr(e3) { + "erroring" === e3._writableState && qr(e3); +} +var e2, o2, a3, i2, l2, s, y5, S5, v4, R6, T5, q5, C4, z5, L6, ReadableStreamDefaultReader, te, re2, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream2, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream, TransformStreamDefaultController; +var init_ponyfill = __esm({ + "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { + e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; + o2 = t; + a3 = Promise; + i2 = Promise.prototype.then; + l2 = Promise.resolve.bind(a3); + s = Promise.reject.bind(a3); + y5 = (e3) => { + if ("function" == typeof queueMicrotask) + y5 = queueMicrotask; + else { + const e4 = c2(void 0); + y5 = (t2) => f3(e4, t2); + } + return y5(e3); + }; + S5 = class { + constructor() { + this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; + } + get length() { + return this._size; + } + push(e3) { + const t2 = this._back; + let r3 = t2; + 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; + } + shift() { + const e3 = this._front; + let t2 = e3; + const r3 = this._cursor; + let o3 = r3 + 1; + const n2 = e3._elements, a4 = n2[r3]; + return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a4; + } + forEach(e3) { + let t2 = this._cursor, r3 = this._front, o3 = r3._elements; + for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) + e3(o3[t2]), ++t2; + } + peek() { + const e3 = this._front, t2 = this._cursor; + return e3._elements[t2]; + } + }; + v4 = e2("[[AbortSteps]]"); + R6 = e2("[[ErrorSteps]]"); + T5 = e2("[[CancelSteps]]"); + q5 = e2("[[PullSteps]]"); + C4 = e2("[[ReleaseSteps]]"); + z5 = Number.isFinite || function(e3) { + return "number" == typeof e3 && isFinite(e3); + }; + L6 = Math.trunc || function(e3) { + return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); + }; + ReadableStreamDefaultReader = class { + constructor(e3) { + if ($5(e3, 1, "ReadableStreamDefaultReader"), V5(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + E3(this, e3), this._readRequests = new S5(); + } + get closed() { + return K5(this) ? this._closedPromise : d6(ee2("closed")); + } + cancel(e3) { + return K5(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(ee2("cancel")); + } + read() { + if (!K5(this)) + return d6(ee2("read")); + if (void 0 === this._ownerReadableStream) + return d6(k6("read from")); + let e3, t2; + const r3 = u2((r4, o3) => { + e3 = r4, t2 = o3; + }); + return function(e4, t3) { + const r4 = e4._ownerReadableStream; + r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q5](t3); + }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; + } + releaseLock() { + if (!K5(this)) + throw ee2("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W5(e3); + const t2 = new TypeError("Reader was released"); + Z5(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); + te = class { + constructor(e3, t2) { + this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; + } + next() { + const e3 = () => this._nextSteps(); + return this._ongoingPromise = this._ongoingPromise ? p3(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; + } + return(e3) { + const t2 = () => this._returnSteps(e3); + return this._ongoingPromise ? p3(this._ongoingPromise, t2, t2) : t2(); + } + _nextSteps() { + if (this._isFinished) + return Promise.resolve({ value: void 0, done: true }); + const e3 = this._reader; + return void 0 === e3 ? d6(k6("iterate")) : f3(e3.read(), (e4) => { + var t2; + return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; + }, (e4) => { + var t2; + throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; + }); + } + _returnSteps(e3) { + if (this._isFinished) + return Promise.resolve({ value: e3, done: true }); + this._isFinished = true; + const t2 = this._reader; + if (void 0 === t2) + return d6(k6("finish iterating")); + if (this._reader = void 0, !this._preventCancel) { + const r3 = t2.cancel(e3); + return t2.releaseLock(), p3(r3, () => ({ value: e3, done: true })); + } + return t2.releaseLock(), c2({ value: e3, done: true }); + } + }; + re2 = { next() { + return oe(this) ? this._asyncIteratorImpl.next() : d6(ne("next")); + }, return(e3) { + return oe(this) ? this._asyncIteratorImpl.return(e3) : d6(ne("return")); + } }; + "symbol" == typeof e2.asyncIterator && Object.defineProperty(re2, e2.asyncIterator, { value() { + return this; + }, writable: true, configurable: true }); + ae2 = Number.isNaN || function(e3) { + return e3 != e3; + }; + ReadableStreamBYOBRequest = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!fe(this)) + throw Be("view"); + return this._view; + } + respond(e3) { + if (!fe(this)) + throw Be("respond"); + if ($5(e3, 1, "respond"), e3 = N5(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + this._view.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2) + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } else { + if (0 === t2) + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + if (r3.bytesFilled + t2 > r3.byteLength) + throw new RangeError("bytesWritten out of range"); + } + r3.buffer = r3.buffer, qe(e4, t2); + }(this._associatedReadableByteStreamController, e3); + } + respondWithNewView(e3) { + if (!fe(this)) + throw Be("respondWithNewView"); + if ($5(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) + throw new TypeError("You can only respond with array buffer views"); + if (void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + e3.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2.byteLength) + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } else if (0 === t2.byteLength) + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) + throw new RangeError("The region specified by view does not match byobRequest"); + if (r3.bufferByteLength !== t2.buffer.byteLength) + throw new RangeError("The buffer of view has different capacity than byobRequest"); + if (r3.bytesFilled + t2.byteLength > r3.byteLength) + throw new RangeError("The region specified by view is larger than byobRequest"); + const o3 = t2.byteLength; + r3.buffer = t2.buffer, qe(e4, o3); + }(this._associatedReadableByteStreamController, e3); + } + }; + Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); + ReadableByteStreamController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!de(this)) + throw Ae("byobRequest"); + return function(e3) { + if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { + const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); + !function(e4, t3, r4) { + e4._associatedReadableByteStreamController = t3, e4._view = r4; + }(o3, e3, r3), e3._byobRequest = o3; + } + return e3._byobRequest; + }(this); + } + get desiredSize() { + if (!de(this)) + throw Ae("desiredSize"); + return ke(this); + } + close() { + if (!de(this)) + throw Ae("close"); + if (this._closeRequested) + throw new TypeError("The stream has already been closed; do not close it again!"); + const e3 = this._controlledReadableByteStream._state; + if ("readable" !== e3) + throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); + !function(e4) { + const t2 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== t2._state) + return; + if (e4._queueTotalSize > 0) + return void (e4._closeRequested = true); + if (e4._pendingPullIntos.length > 0) { + if (e4._pendingPullIntos.peek().bytesFilled > 0) { + const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + throw Pe(e4, t3), t3; + } + } + Ee(e4), Xt(t2); + }(this); + } + enqueue(e3) { + if (!de(this)) + throw Ae("enqueue"); + if ($5(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) + throw new TypeError("chunk must be an array buffer view"); + if (0 === e3.byteLength) + throw new TypeError("chunk must have non-zero byteLength"); + if (0 === e3.buffer.byteLength) + throw new TypeError("chunk's buffer must have non-zero byteLength"); + if (this._closeRequested) + throw new TypeError("stream is closed or draining"); + const t2 = this._controlledReadableByteStream._state; + if ("readable" !== t2) + throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); + !function(e4, t3) { + const r3 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== r3._state) + return; + const o3 = t3.buffer, n2 = t3.byteOffset, a4 = t3.byteLength, i3 = o3; + if (e4._pendingPullIntos.length > 0) { + const t4 = e4._pendingPullIntos.peek(); + t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); + } + if (J4(r3)) + if (function(e5) { + const t4 = e5._controlledReadableByteStream._reader; + for (; t4._readRequests.length > 0; ) { + if (0 === e5._queueTotalSize) + return; + We(e5, t4._readRequests.shift()); + } + }(e4), 0 === X4(r3)) + me(e4, i3, n2, a4); + else { + e4._pendingPullIntos.length > 0 && Ce(e4); + G5(r3, new Uint8Array(i3, n2, a4), false); + } + else + Le(r3) ? (me(e4, i3, n2, a4), Te(e4)) : me(e4, i3, n2, a4); + be(e4); + }(this, e3); + } + error(e3) { + if (!de(this)) + throw Ae("error"); + Pe(this, e3); + } + [T5](e3) { + he(this), ce2(this); + const t2 = this._cancelAlgorithm(e3); + return Ee(this), t2; + } + [q5](e3) { + const t2 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) + return void We(this, e3); + const r3 = this._autoAllocateChunkSize; + if (void 0 !== r3) { + let t3; + try { + t3 = new ArrayBuffer(r3); + } catch (t4) { + return void e3._errorSteps(t4); + } + const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; + this._pendingPullIntos.push(o3); + } + U6(t2, e3), be(this); + } + [C4]() { + if (this._pendingPullIntos.length > 0) { + const e3 = this._pendingPullIntos.peek(); + e3.readerType = "none", this._pendingPullIntos = new S5(), this._pendingPullIntos.push(e3); + } + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); + ReadableStreamBYOBReader = class { + constructor(e3) { + if ($5(e3, 1, "ReadableStreamBYOBReader"), V5(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + if (!de(e3._readableStreamController)) + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + E3(this, e3), this._readIntoRequests = new S5(); + } + get closed() { + return Fe(this) ? this._closedPromise : d6(De("closed")); + } + cancel(e3) { + return Fe(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(De("cancel")); + } + read(e3) { + if (!Fe(this)) + return d6(De("read")); + if (!ArrayBuffer.isView(e3)) + return d6(new TypeError("view must be an array buffer view")); + if (0 === e3.byteLength) + return d6(new TypeError("view must have non-zero byteLength")); + if (0 === e3.buffer.byteLength) + return d6(new TypeError("view's buffer must have non-zero byteLength")); + if (e3.buffer, void 0 === this._ownerReadableStream) + return d6(k6("read from")); + let t2, r3; + const o3 = u2((e4, o4) => { + t2 = e4, r3 = o4; + }); + return function(e4, t3, r4) { + const o4 = e4._ownerReadableStream; + o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { + const o5 = e5._controlledReadableByteStream; + let n2 = 1; + t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); + const a4 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a4, readerType: "byob" }; + if (e5._pendingPullIntos.length > 0) + return e5._pendingPullIntos.push(l3), void je(o5, r5); + if ("closed" !== o5._state) { + if (e5._queueTotalSize > 0) { + if (we(e5, l3)) { + const t5 = pe(l3); + return ve(e5), void r5._chunkSteps(t5); + } + if (e5._closeRequested) { + const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + return Pe(e5, t5), void r5._errorSteps(t5); + } + } + e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); + } else { + const e6 = new a4(l3.buffer, l3.byteOffset, 0); + r5._closeSteps(e6); + } + }(o4._readableStreamController, t3, r4); + }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; + } + releaseLock() { + if (!Fe(this)) + throw De("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W5(e3); + const t2 = new TypeError("Reader was released"); + Ie(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); + Ue = "function" == typeof AbortController; + WritableStream = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D4(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F4(e4, t3); + const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; + return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a5 }; + }(e3, "First parameter"); + var n2; + (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S5(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; + if (void 0 !== o3.type) + throw new RangeError("Invalid type is specified"); + const a4 = Me(r3); + !function(e4, t3, r4, o4) { + const n3 = Object.create(WritableStreamDefaultController.prototype); + let a5, i3, l3, s2; + a5 = void 0 !== t3.start ? () => t3.start(n3) : () => { + }; + i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c2(void 0); + l3 = void 0 !== t3.close ? () => t3.close() : () => c2(void 0); + s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c2(void 0); + !function(e5, t4, r5, o5, n4, a6, i4, l4) { + t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { + if (Ue) + return new AbortController(); + }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a6; + const s3 = bt(t4); + nt(e5, s3); + const u3 = r5(); + b6(c2(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); + }(e4, n3, a5, i3, l3, s2, r4, o4); + }(this, o3, $e(r3, 1), a4); + } + get locked() { + if (!Ge(this)) + throw _t("locked"); + return Xe(this); + } + abort(e3) { + return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d6(_t("abort")); + } + close() { + return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d6(_t("close")); + } + getWriter() { + if (!Ge(this)) + throw _t("getWriter"); + return new WritableStreamDefaultWriter(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); + WritableStreamDefaultWriter = class { + constructor(e3) { + if ($5(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { + if (!Ge(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(e3, "First parameter"), Xe(e3)) + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + this._ownerWritableStream = e3, e3._writer = this; + const t2 = e3._state; + if ("writable" === t2) + !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); + else if ("erroring" === t2) + Tt(this, e3._storedError), gt(this); + else if ("closed" === t2) + qt(this), gt(r3 = this), vt(r3); + else { + const t3 = e3._storedError; + Tt(this, t3), wt(this, t3); + } + var r3; + } + get closed() { + return at(this) ? this._closedPromise : d6(mt("closed")); + } + get desiredSize() { + if (!at(this)) + throw mt("desiredSize"); + if (void 0 === this._ownerWritableStream) + throw yt("desiredSize"); + return function(e3) { + const t2 = e3._ownerWritableStream, r3 = t2._state; + if ("errored" === r3 || "erroring" === r3) + return null; + if ("closed" === r3) + return 0; + return ct(t2._writableStreamController); + }(this); + } + get ready() { + return at(this) ? this._readyPromise : d6(mt("ready")); + } + abort(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("abort")) : function(e4, t2) { + return Je(e4._ownerWritableStream, t2); + }(this, e3) : d6(mt("abort")); + } + close() { + if (!at(this)) + return d6(mt("close")); + const e3 = this._ownerWritableStream; + return void 0 === e3 ? d6(yt("close")) : rt(e3) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); + } + releaseLock() { + if (!at(this)) + throw mt("releaseLock"); + void 0 !== this._ownerWritableStream && function(e3) { + const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); + it(e3, r3), function(e4, t3) { + "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { + wt(e5, t4); + }(e4, t3); + }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; + }(this); + } + write(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("write to")) : function(e4, t2) { + const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { + try { + return e5._strategySizeAlgorithm(t3); + } catch (t4) { + return ft(e5, t4), 1; + } + }(o3, t2); + if (r3 !== e4._ownerWritableStream) + return d6(yt("write to")); + const a4 = r3._state; + if ("errored" === a4) + return d6(r3._storedError); + if (rt(r3) || "closed" === a4) + return d6(new TypeError("The stream is closing or closed and cannot be written to")); + if ("erroring" === a4) + return d6(r3._storedError); + const i3 = function(e5) { + return u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e5._writeRequests.push(o4); + }); + }(r3); + return function(e5, t3, r4) { + try { + ue2(e5, t3, r4); + } catch (t4) { + return void ft(e5, t4); + } + const o4 = e5._controlledWritableStream; + if (!rt(o4) && "writable" === o4._state) { + nt(o4, bt(e5)); + } + dt(e5); + }(o3, t2, n2), i3; + }(this, e3) : d6(mt("write")); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); + lt = {}; + WritableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!st(this)) + throw pt("abortReason"); + return this._abortReason; + } + get signal() { + if (!st(this)) + throw pt("signal"); + if (void 0 === this._abortController) + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + return this._abortController.signal; + } + error(e3) { + if (!st(this)) + throw pt("error"); + "writable" === this._controlledWritableStream._state && ht(this, e3); + } + [v4](e3) { + const t2 = this._abortAlgorithm(e3); + return ut(this), t2; + } + [R6]() { + ce2(this); + } + }; + Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); + Pt = "undefined" != typeof DOMException ? DOMException : void 0; + Wt = function(e3) { + if ("function" != typeof e3 && "object" != typeof e3) + return false; + try { + return new e3(), true; + } catch (e4) { + return false; + } + }(Pt) ? Pt : function() { + const e3 = function(e4, t2) { + this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + }; + return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; + }(); + ReadableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!Bt(this)) + throw Dt("desiredSize"); + return Lt(this); + } + close() { + if (!Bt(this)) + throw Dt("close"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits close"); + !function(e3) { + if (!Ft(e3)) + return; + const t2 = e3._controlledReadableStream; + e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); + }(this); + } + enqueue(e3) { + if (!Bt(this)) + throw Dt("enqueue"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits enqueue"); + return function(e4, t2) { + if (!Ft(e4)) + return; + const r3 = e4._controlledReadableStream; + if (Ut(r3) && X4(r3) > 0) + G5(r3, t2, false); + else { + let r4; + try { + r4 = e4._strategySizeAlgorithm(t2); + } catch (t3) { + throw zt(e4, t3), t3; + } + try { + ue2(e4, t2, r4); + } catch (t3) { + throw zt(e4, t3), t3; + } + } + At(e4); + }(this, e3); + } + error(e3) { + if (!Bt(this)) + throw Dt("error"); + zt(this, e3); + } + [T5](e3) { + ce2(this); + const t2 = this._cancelAlgorithm(e3); + return jt(this), t2; + } + [q5](e3) { + const t2 = this._controlledReadableStream; + if (this._queue.length > 0) { + const r3 = se(this); + this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); + } else + U6(t2, e3), At(this); + } + [C4]() { + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); + ReadableStream2 = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D4(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F4(e4, t3); + const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a4 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; + return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N5(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a4 ? void 0 : Mt(a4, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; + }(e3, "First parameter"); + var n2; + if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { + if (void 0 !== r3.size) + throw new RangeError("The strategy for a byte stream cannot have a size function"); + Oe(this, o3, $e(r3, 0)); + } else { + const e4 = Me(r3); + It(this, o3, $e(r3, 1), e4); + } + } + get locked() { + if (!Vt(this)) + throw Kt("locked"); + return Ut(this); + } + cancel(e3) { + return Vt(this) ? Ut(this) ? d6(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d6(Kt("cancel")); + } + getReader(e3) { + if (!Vt(this)) + throw Kt("getReader"); + return void 0 === function(e4, t2) { + F4(e4, t2); + const r3 = null == e4 ? void 0 : e4.mode; + return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; + }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { + return new ReadableStreamBYOBReader(e4); + }(this); + } + pipeThrough(e3, t2 = {}) { + if (!H4(this)) + throw Kt("pipeThrough"); + $5(e3, 1, "pipeThrough"); + const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); + if (this.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + if (r3.writable.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + return m4(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; + } + pipeTo(e3, t2 = {}) { + if (!H4(this)) + return d6(Kt("pipeTo")); + if (void 0 === e3) + return d6("Parameter 1 is required in 'pipeTo'."); + if (!x4(e3)) + return d6(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); + let r3; + try { + r3 = Ht(t2, "Second parameter"); + } catch (e4) { + return d6(e4); + } + return this.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); + } + tee() { + if (!H4(this)) + throw Kt("tee"); + if (this.locked) + throw new TypeError("Cannot tee a stream that already has a reader"); + return Ot(this); + } + values(e3) { + if (!H4(this)) + throw Kt("values"); + return function(e4, t2) { + const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re2); + return n2._asyncIteratorImpl = o3, n2; + }(this, function(e4, t2) { + F4(e4, t2); + const r3 = null == e4 ? void 0 : e4.preventCancel; + return { preventCancel: Boolean(r3) }; + }(e3, "First parameter").preventCancel); + } + }; + Object.defineProperties(ReadableStream2.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream2.prototype.cancel, "cancel"), n(ReadableStream2.prototype.getReader, "getReader"), n(ReadableStream2.prototype.pipeThrough, "pipeThrough"), n(ReadableStream2.prototype.pipeTo, "pipeTo"), n(ReadableStream2.prototype.tee, "tee"), n(ReadableStream2.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream2.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream2.prototype, e2.asyncIterator, { value: ReadableStream2.prototype.values, writable: true, configurable: true }); + er = (e3) => e3.byteLength; + n(er, "size"); + ByteLengthQueuingStrategy = class { + constructor(e3) { + $5(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!rr(this)) + throw tr("highWaterMark"); + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!rr(this)) + throw tr("size"); + return er; + } + }; + Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); + or = () => 1; + n(or, "size"); + CountQueuingStrategy = class { + constructor(e3) { + $5(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!ar(this)) + throw nr("highWaterMark"); + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!ar(this)) + throw nr("size"); + return or; + } + }; + Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); + TransformStream = class { + constructor(e3 = {}, t2 = {}, r3 = {}) { + void 0 === e3 && (e3 = null); + const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a4 = function(e4, t3) { + F4(e4, t3); + const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; + return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a5 ? void 0 : sr(a5, e4, `${t3} has member 'transform' that`), writableType: i4 }; + }(e3, "First parameter"); + if (void 0 !== a4.readableType) + throw new RangeError("Invalid readableType specified"); + if (void 0 !== a4.writableType) + throw new RangeError("Invalid writableType specified"); + const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); + let b7; + !function(e4, t3, r4, o4, n3, a5) { + function i4() { + return t3; + } + function l4(t4) { + return function(e5, t5) { + const r5 = e5._transformStreamController; + if (e5._backpressure) { + return p3(e5._backpressureChangePromise, () => { + if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) + throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; + return pr(r5, t5); + }); + } + return pr(r5, t5); + }(e4, t4); + } + function s3(t4) { + return function(e5, t5) { + return cr(e5, t5), c2(void 0); + }(e4, t4); + } + function u3() { + return function(e5) { + const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); + return hr(t4), p3(r5, () => { + if ("errored" === e5._readableState) + throw e5._readableStoredError; + gr(e5) && wr(e5); + }, (t5) => { + throw cr(e5, t5), e5._readableStoredError; + }); + }(e4); + } + function d7() { + return function(e5) { + return fr(e5, false), e5._backpressureChangePromise; + }(e4); + } + function f5(t4) { + return dr(e4, t4), c2(void 0); + } + e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a6, i5) { + return new WritableStream({ start(r6) { + e5._writableController = r6; + try { + const t5 = r6.signal; + void 0 !== t5 && t5.addEventListener("abort", () => { + "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); + }); + } catch (e6) { + } + return p3(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { + throw e5._writableStarted = true, Rr(e5, t5), t5; + }); + }, write: (t5) => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p3(r5(t5), () => (function(e6) { + e6._writableHasInFlightOperation = false; + }(e5), Cr(e5), null), (t6) => { + throw function(e6, t7) { + e6._writableHasInFlightOperation = false, Rr(e6, t7); + }(e5, t6), t6; + })), close: () => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p3(o5(), () => (function(e6) { + e6._writableHasInFlightOperation = false; + "erroring" === e6._writableState && (e6._writableStoredError = void 0); + e6._writableState = "closed"; + }(e5), null), (t5) => { + throw function(e6, t6) { + e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); + }(e5, t5), t5; + })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a6, size: i5 }); + }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a6) { + return new ReadableStream2({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { + Sr(e5, t5); + })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { + Sr(e5, t5); + })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a6 }); + }(e4, i4, d7, f5, n3, a5), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; + }(this, u2((e4) => { + b7 = e4; + }), s2, f4, i3, l3), function(e4, t3) { + const r4 = Object.create(TransformStreamDefaultController.prototype); + let o4, n3; + o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { + try { + return _r(r4, e5), c2(void 0); + } catch (e6) { + return d6(e6); + } + }; + n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c2(void 0); + !function(e5, t4, r5, o5) { + t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; + }(e4, r4, o4, n3); + }(this, a4), void 0 !== a4.start ? b7(a4.start(this._transformStreamController)) : b7(void 0); + } + get readable() { + if (!ur(this)) + throw yr("readable"); + return this._readable; + } + get writable() { + if (!ur(this)) + throw yr("writable"); + return this._writable; + } + }; + Object.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); + TransformStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!br(this)) + throw mr("desiredSize"); + return vr(this._controlledTransformStream); + } + enqueue(e3) { + if (!br(this)) + throw mr("enqueue"); + _r(this, e3); + } + error(e3) { + if (!br(this)) + throw mr("error"); + var t2; + t2 = e3, cr(this._controlledTransformStream, t2); + } + terminate() { + if (!br(this)) + throw mr("terminate"); + !function(e3) { + const t2 = e3._controlledTransformStream; + gr(t2) && wr(t2); + const r3 = new TypeError("TransformStream terminated"); + dr(t2, r3); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); + } +}); + +// node_modules/formdata-node/lib/esm/isFunction.js +var isFunction2; +var init_isFunction = __esm({ + "node_modules/formdata-node/lib/esm/isFunction.js"() { + isFunction2 = (value) => typeof value === "function"; + } +}); + +// node_modules/formdata-node/lib/esm/blobHelpers.js +async function* clonePart(part) { + const end = part.byteOffset + part.byteLength; + let position = part.byteOffset; + while (position !== end) { + const size = Math.min(end - position, CHUNK_SIZE); + const chunk = part.buffer.slice(position, position + size); + position += chunk.byteLength; + yield new Uint8Array(chunk); + } +} +async function* consumeNodeBlob(blob) { + let position = 0; + while (position !== blob.size) { + const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); + const buffer = await chunk.arrayBuffer(); + position += buffer.byteLength; + yield new Uint8Array(buffer); + } +} +async function* consumeBlobParts(parts, clone = false) { + for (const part of parts) { + if (ArrayBuffer.isView(part)) { + if (clone) { + yield* clonePart(part); + } else { + yield part; + } + } else if (isFunction2(part.stream)) { + yield* part.stream(); + } else { + yield* consumeNodeBlob(part); + } + } +} +function* sliceBlob(blobParts, blobSize, start = 0, end) { + end !== null && end !== void 0 ? end : end = blobSize; + let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); + let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); + const span = Math.max(relativeEnd - relativeStart, 0); + let added = 0; + for (const part of blobParts) { + if (added >= span) { + break; + } + const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; + if (relativeStart && partSize <= relativeStart) { + relativeStart -= partSize; + relativeEnd -= partSize; + } else { + let chunk; + if (ArrayBuffer.isView(part)) { + chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.byteLength; + } else { + chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.size; + } + relativeEnd -= partSize; + relativeStart = 0; + yield chunk; + } + } +} +var CHUNK_SIZE; +var init_blobHelpers = __esm({ + "node_modules/formdata-node/lib/esm/blobHelpers.js"() { + init_isFunction(); + CHUNK_SIZE = 65536; + } +}); + +// node_modules/formdata-node/lib/esm/Blob.js +var __classPrivateFieldGet, __classPrivateFieldSet, _Blob_parts, _Blob_type, _Blob_size, Blob3; +var init_Blob = __esm({ + "node_modules/formdata-node/lib/esm/Blob.js"() { + init_ponyfill(); + init_isFunction(); + init_blobHelpers(); + __classPrivateFieldGet = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + __classPrivateFieldSet = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + Blob3 = class { + constructor(blobParts = [], options = {}) { + _Blob_parts.set(this, []); + _Blob_type.set(this, ""); + _Blob_size.set(this, 0); + options !== null && options !== void 0 ? options : options = {}; + if (typeof blobParts !== "object" || blobParts === null) { + throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); + } + if (!isFunction2(blobParts[Symbol.iterator])) { + throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); + } + if (typeof options !== "object" && !isFunction2(options)) { + throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); + } + const encoder = new TextEncoder(); + for (const raw of blobParts) { + let part; + if (ArrayBuffer.isView(raw)) { + part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); + } else if (raw instanceof ArrayBuffer) { + part = new Uint8Array(raw.slice(0)); + } else if (raw instanceof Blob3) { + part = raw; + } else { + part = encoder.encode(String(raw)); + } + __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); + __classPrivateFieldGet(this, _Blob_parts, "f").push(part); + } + const type = options.type === void 0 ? "" : String(options.type); + __classPrivateFieldSet(this, _Blob_type, /^[\x20-\x7E]*$/.test(type) ? type : "", "f"); + } + static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); + } + get type() { + return __classPrivateFieldGet(this, _Blob_type, "f"); + } + get size() { + return __classPrivateFieldGet(this, _Blob_size, "f"); + } + slice(start, end, contentType) { + return new Blob3(sliceBlob(__classPrivateFieldGet(this, _Blob_parts, "f"), this.size, start, end), { + type: contentType + }); + } + async text() { + const decoder = new TextDecoder(); + let result = ""; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { + result += decoder.decode(chunk, { stream: true }); + } + result += decoder.decode(); + return result; + } + async arrayBuffer() { + const view = new Uint8Array(this.size); + let offset = 0; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { + view.set(chunk, offset); + offset += chunk.length; + } + return view.buffer; + } + stream() { + const iterator = consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"), true); + return new ReadableStream2({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + return queueMicrotask(() => controller.close()); + } + controller.enqueue(value); + }, + async cancel() { + await iterator.return(); + } + }); + } + get [Symbol.toStringTag]() { + return "Blob"; + } + }; + Object.defineProperties(Blob3.prototype, { + type: { enumerable: true }, + size: { enumerable: true }, + slice: { enumerable: true }, + stream: { enumerable: true }, + text: { enumerable: true }, + arrayBuffer: { enumerable: true } + }); + } +}); + +// node_modules/formdata-node/lib/esm/File.js +var __classPrivateFieldSet2, __classPrivateFieldGet2, _File_name, _File_lastModified, File2; +var init_File = __esm({ + "node_modules/formdata-node/lib/esm/File.js"() { + init_Blob(); + __classPrivateFieldSet2 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + __classPrivateFieldGet2 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + File2 = class extends Blob3 { + constructor(fileBits, name, options = {}) { + super(fileBits, options); + _File_name.set(this, void 0); + _File_lastModified.set(this, 0); + if (arguments.length < 2) { + throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); + } + __classPrivateFieldSet2(this, _File_name, String(name), "f"); + const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); + if (!Number.isNaN(lastModified)) { + __classPrivateFieldSet2(this, _File_lastModified, lastModified, "f"); + } + } + static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; + } + get name() { + return __classPrivateFieldGet2(this, _File_name, "f"); + } + get lastModified() { + return __classPrivateFieldGet2(this, _File_lastModified, "f"); + } + get webkitRelativePath() { + return ""; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + } +}); + +// node_modules/formdata-node/lib/esm/isFile.js +var isFile2; +var init_isFile = __esm({ + "node_modules/formdata-node/lib/esm/isFile.js"() { + init_File(); + isFile2 = (value) => value instanceof File2; + } +}); + +// node_modules/humanize-ms/index.js +var require_humanize_ms = __commonJS({ + "node_modules/humanize-ms/index.js"(exports, module2) { + "use strict"; + var util2 = require("util"); + var ms = require_ms(); + module2.exports = function(t2) { + if (typeof t2 === "number") + return t2; + var r3 = ms(t2); + if (r3 === void 0) { + var err = new Error(util2.format("humanize-ms(%j) result undefined", t2)); + console.warn(err.stack); + } + return r3; + }; + } +}); + +// node_modules/agentkeepalive/lib/constants.js +var require_constants = __commonJS({ + "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { + "use strict"; + module2.exports = { + CURRENT_ID: Symbol("agentkeepalive#currentId"), + CREATE_ID: Symbol("agentkeepalive#createId"), + INIT_SOCKET: Symbol("agentkeepalive#initSocket"), + CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), + SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), + SOCKET_NAME: Symbol("agentkeepalive#socketName"), + SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), + SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") + }; + } +}); + +// node_modules/agentkeepalive/lib/agent.js +var require_agent = __commonJS({ + "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { + "use strict"; + var OriginalAgent = require("http").Agent; + var ms = require_humanize_ms(); + var debug2 = require("util").debuglog("agentkeepalive"); + var { + INIT_SOCKET, + CURRENT_ID, + CREATE_ID, + SOCKET_CREATED_TIME, + SOCKET_NAME, + SOCKET_REQUEST_COUNT, + SOCKET_REQUEST_FINISHED_COUNT + } = require_constants(); + var defaultTimeoutListenerCount = 1; + var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); + if (majorVersion >= 11 && majorVersion <= 12) { + defaultTimeoutListenerCount = 2; + } else if (majorVersion >= 13) { + defaultTimeoutListenerCount = 3; + } + function deprecate2(message) { + console.log("[agentkeepalive:deprecated] %s", message); + } + var Agent = class extends OriginalAgent { + constructor(options) { + options = options || {}; + options.keepAlive = options.keepAlive !== false; + if (options.freeSocketTimeout === void 0) { + options.freeSocketTimeout = 4e3; + } + if (options.keepAliveTimeout) { + deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.keepAliveTimeout; + delete options.keepAliveTimeout; + } + if (options.freeSocketKeepAliveTimeout) { + deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; + delete options.freeSocketKeepAliveTimeout; + } + if (options.timeout === void 0) { + options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); + } + options.timeout = ms(options.timeout); + options.freeSocketTimeout = ms(options.freeSocketTimeout); + options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; + super(options); + this[CURRENT_ID] = 0; + this.createSocketCount = 0; + this.createSocketCountLastCheck = 0; + this.createSocketErrorCount = 0; + this.createSocketErrorCountLastCheck = 0; + this.closeSocketCount = 0; + this.closeSocketCountLastCheck = 0; + this.errorSocketCount = 0; + this.errorSocketCountLastCheck = 0; + this.requestCount = 0; + this.requestCountLastCheck = 0; + this.timeoutSocketCount = 0; + this.timeoutSocketCountLastCheck = 0; + this.on("free", (socket) => { + const timeout = this.calcSocketTimeout(socket); + if (timeout > 0 && socket.timeout !== timeout) { + socket.setTimeout(timeout); + } + }); + } + get freeSocketKeepAliveTimeout() { + deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); + return this.options.freeSocketTimeout; + } + get timeout() { + deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); + return this.options.timeout; + } + get socketActiveTTL() { + deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); + return this.options.socketActiveTTL; + } + calcSocketTimeout(socket) { + let freeSocketTimeout = this.options.freeSocketTimeout; + const socketActiveTTL = this.options.socketActiveTTL; + if (socketActiveTTL) { + const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; + const diff = socketActiveTTL - aliveTime; + if (diff <= 0) { + return diff; + } + if (freeSocketTimeout && diff < freeSocketTimeout) { + freeSocketTimeout = diff; + } + } + if (freeSocketTimeout) { + const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; + return customFreeSocketTimeout || freeSocketTimeout; + } + } + keepSocketAlive(socket) { + const result = super.keepSocketAlive(socket); + if (!result) + return result; + const customTimeout = this.calcSocketTimeout(socket); + if (typeof customTimeout === "undefined") { + return true; + } + if (customTimeout <= 0) { + debug2( + "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + customTimeout + ); + return false; + } + if (socket.timeout !== customTimeout) { + socket.setTimeout(customTimeout); + } + return true; + } + reuseSocket(...args) { + super.reuseSocket(...args); + const socket = args[0]; + const req = args[1]; + req.reusedSocket = true; + const agentTimeout = this.options.timeout; + if (getSocketTimeout(socket) !== agentTimeout) { + socket.setTimeout(agentTimeout); + debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); + } + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + getSocketTimeout(socket) + ); + } + [CREATE_ID]() { + const id = this[CURRENT_ID]++; + if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) + this[CURRENT_ID] = 0; + return id; + } + [INIT_SOCKET](socket, options) { + if (options.timeout) { + const timeout = getSocketTimeout(socket); + if (!timeout) { + socket.setTimeout(options.timeout); + } + } + if (this.options.keepAlive) { + socket.setNoDelay(true); + } + this.createSocketCount++; + if (this.options.socketActiveTTL) { + socket[SOCKET_CREATED_TIME] = Date.now(); + } + socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; + socket[SOCKET_REQUEST_COUNT] = 1; + socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; + installListeners(this, socket, options); + } + createConnection(options, oncreate) { + let called = false; + const onNewCreate = (err, socket) => { + if (called) + return; + called = true; + if (err) { + this.createSocketErrorCount++; + return oncreate(err); + } + this[INIT_SOCKET](socket, options); + oncreate(err, socket); + }; + const newSocket = super.createConnection(options, onNewCreate); + if (newSocket) + onNewCreate(null, newSocket); + return newSocket; + } + get statusChanged() { + const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; + if (changed) { + this.createSocketCountLastCheck = this.createSocketCount; + this.createSocketErrorCountLastCheck = this.createSocketErrorCount; + this.closeSocketCountLastCheck = this.closeSocketCount; + this.errorSocketCountLastCheck = this.errorSocketCount; + this.timeoutSocketCountLastCheck = this.timeoutSocketCount; + this.requestCountLastCheck = this.requestCount; + } + return changed; + } + getCurrentStatus() { + return { + createSocketCount: this.createSocketCount, + createSocketErrorCount: this.createSocketErrorCount, + closeSocketCount: this.closeSocketCount, + errorSocketCount: this.errorSocketCount, + timeoutSocketCount: this.timeoutSocketCount, + requestCount: this.requestCount, + freeSockets: inspect2(this.freeSockets), + sockets: inspect2(this.sockets), + requests: inspect2(this.requests) + }; + } + }; + function getSocketTimeout(socket) { + return socket.timeout || socket._idleTimeout; + } + function installListeners(agent, socket, options) { + debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); + function onFree() { + if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) + return; + socket[SOCKET_REQUEST_FINISHED_COUNT]++; + agent.requestCount++; + debug2( + "%s(requests: %s, finished: %s) free", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + const name = agent.getName(options); + if (socket.writable && agent.requests[name] && agent.requests[name].length) { + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) will be reuse on agent free event", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + } + } + socket.on("free", onFree); + function onClose(isError) { + debug2( + "%s(requests: %s, finished: %s) close, isError: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + isError + ); + agent.closeSocketCount++; + } + socket.on("close", onClose); + function onTimeout() { + const listenerCount = socket.listeners("timeout").length; + const timeout = getSocketTimeout(socket); + const req = socket._httpMessage; + const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; + debug2( + "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + timeout, + listenerCount, + defaultTimeoutListenerCount, + !!req, + reqTimeoutListenerCount + ); + if (debug2.enabled) { + debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); + } + agent.timeoutSocketCount++; + const name = agent.getName(options); + if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { + socket.destroy(); + agent.removeSocket(socket, options); + debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); + } else { + if (reqTimeoutListenerCount === 0) { + const error = new Error("Socket timeout"); + error.code = "ERR_SOCKET_TIMEOUT"; + error.timeout = timeout; + socket.destroy(error); + agent.removeSocket(socket, options); + debug2("%s destroy with timeout error", socket[SOCKET_NAME]); + } + } + } + socket.on("timeout", onTimeout); + function onError(err) { + const listenerCount = socket.listeners("error").length; + debug2( + "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + err, + listenerCount + ); + agent.errorSocketCount++; + if (listenerCount === 1) { + debug2("%s emit uncaught error event", socket[SOCKET_NAME]); + socket.removeListener("error", onError); + socket.emit("error", err); + } + } + socket.on("error", onError); + function onRemove() { + debug2( + "%s(requests: %s, finished: %s) agentRemove", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + socket.removeListener("close", onClose); + socket.removeListener("error", onError); + socket.removeListener("free", onFree); + socket.removeListener("timeout", onTimeout); + socket.removeListener("agentRemove", onRemove); + } + socket.on("agentRemove", onRemove); + } + module2.exports = Agent; + function inspect2(obj) { + const res = {}; + for (const key in obj) { + res[key] = obj[key].length; + } + return res; + } + } +}); + +// node_modules/agentkeepalive/lib/https_agent.js +var require_https_agent = __commonJS({ + "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { + "use strict"; + var OriginalHttpsAgent = require("https").Agent; + var HttpAgent = require_agent(); + var { + INIT_SOCKET, + CREATE_HTTPS_CONNECTION + } = require_constants(); + var HttpsAgent = class extends HttpAgent { + constructor(options) { + super(options); + this.defaultPort = 443; + this.protocol = "https:"; + this.maxCachedSessions = this.options.maxCachedSessions; + if (this.maxCachedSessions === void 0) { + this.maxCachedSessions = 100; + } + this._sessionCache = { + map: {}, + list: [] + }; + } + createConnection(options, oncreate) { + const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); + this[INIT_SOCKET](socket, options); + return socket; + } + }; + HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; + [ + "getName", + "_getSession", + "_cacheSession", + "_evictSession" + ].forEach(function(method) { + if (typeof OriginalHttpsAgent.prototype[method] === "function") { + HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; + } + }); + module2.exports = HttpsAgent; + } +}); + +// node_modules/agentkeepalive/index.js +var require_agentkeepalive = __commonJS({ + "node_modules/agentkeepalive/index.js"(exports, module2) { + "use strict"; + module2.exports = require_agent(); + module2.exports.HttpsAgent = require_https_agent(); + module2.exports.constants = require_constants(); + } +}); + +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); + } + return; + } + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() + }); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } + } + } + Event.prototype = { + get type() { + return pd(this).event.type; + }, + get target() { + return pd(this).eventTarget; + }, + get currentTarget() { + return pd(this).currentTarget; + }, + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; + } + return [currentTarget]; + }, + get NONE() { + return 0; + }, + get CAPTURING_PHASE() { + return 1; + }, + get AT_TARGET() { + return 2; + }, + get BUBBLING_PHASE() { + return 3; + }, + get eventPhase() { + return pd(this).eventPhase; + }, + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); + } + }, + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + preventDefault() { + setCancelFlag(pd(this)); + }, + get defaultPrevented() { + return pd(this).canceled; + }, + get composed() { + return Boolean(pd(this).event.composed); + }, + get timeStamp() { + return pd(this).timeStamp; + }, + get srcElement() { + return pd(this).eventTarget; + }, + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; + } + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; + } + }, + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + initEvent() { + } + }; + Object.defineProperty(Event.prototype, "constructor", { + value: Event, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true + }; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true + }; + } + function defineWrapper(BaseEvent, proto2) { + const keys = Object.keys(proto2); + if (keys.length === 0) { + return BaseEvent; + } + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } + }); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto2, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } + } + return CustomEvent; + } + function getWrapper(proto2) { + if (proto2 == null || proto2 === Object.prototype) { + return Event; + } + let wrapper = wrappers.get(proto2); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); + wrappers.set(proto2, wrapper); + } + return wrapper; + } + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); + } + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject2(x5) { + return x5 !== null && typeof x5 === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; + } + node = node.next; + } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject2(listener)) { + listener = null; + } + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; + } + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } + } + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true + } + }); + for (let i3 = 0; i3 < eventNames.length; ++i3) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); + } + return CustomEventTarget; + } + function EventTarget() { + if (this instanceof EventTarget) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i3 = 0; i3 < arguments.length; ++i3) { + types[i3] = arguments[i3]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget.prototype = { + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject2(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject2(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + return; + } + prev = node; + node = node.next; + } + }, + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget.prototype, "constructor", { + value: EventTarget, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype); + } + exports.defineEventAttribute = defineEventAttribute; + exports.EventTarget = EventTarget; + exports.default = EventTarget; + module2.exports = EventTarget; + module2.exports.EventTarget = module2.exports["default"] = EventTarget; + module2.exports.defineEventAttribute = defineEventAttribute; + } +}); + +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var eventTargetShim = require_event_target_shim(); + var AbortSignal = class extends eventTargetShim.EventTarget { + constructor() { + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); + } + get aborted() { + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); + } + return aborted; + } + }; + eventTargetShim.defineEventAttribute(AbortSignal.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; + } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { + constructor() { + signals.set(this, createAbortSignal()); + } + get signal() { + return getSignal(this); + } + abort() { + abortSignal(getSignal(this)); + } + }; + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); + } + return signal; + } + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports.AbortController = AbortController2; + exports.AbortSignal = AbortSignal; + exports.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal; + } +}); + +// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +var require_ponyfill_es2018 = __commonJS({ + "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { + (function(global2, factory) { + typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); + })(exports, function(exports2) { + "use strict"; + function noop2() { + return void 0; + } + function typeIsObject(x5) { + return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; + } + const rethrowAssertionErrorRejection = noop2; + function setFunctionName(fn, name) { + try { + Object.defineProperty(fn, "name", { + value: name, + configurable: true + }); + } catch (_a3) { + } + } + const originalPromise = Promise; + const originalPromiseThen = Promise.prototype.then; + const originalPromiseReject = Promise.reject.bind(originalPromise); + function newPromise(executor) { + return new originalPromise(executor); + } + function promiseResolvedWith(value) { + return newPromise((resolve) => resolve(value)); + } + function promiseRejectedWith(reason) { + return originalPromiseReject(reason); + } + function PerformPromiseThen(promise, onFulfilled, onRejected) { + return originalPromiseThen.call(promise, onFulfilled, onRejected); + } + function uponPromise(promise, onFulfilled, onRejected) { + PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); + } + function uponFulfillment(promise, onFulfilled) { + uponPromise(promise, onFulfilled); + } + function uponRejection(promise, onRejected) { + uponPromise(promise, void 0, onRejected); + } + function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { + return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); + } + function setPromiseIsHandledToTrue(promise) { + PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); + } + let _queueMicrotask = (callback) => { + if (typeof queueMicrotask === "function") { + _queueMicrotask = queueMicrotask; + } else { + const resolvedPromise = promiseResolvedWith(void 0); + _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); + } + return _queueMicrotask(callback); + }; + function reflectCall(F5, V6, args) { + if (typeof F5 !== "function") { + throw new TypeError("Argument is not a function"); + } + return Function.prototype.apply.call(F5, V6, args); + } + function promiseCall(F5, V6, args) { + try { + return promiseResolvedWith(reflectCall(F5, V6, args)); + } catch (value) { + return promiseRejectedWith(value); + } + } + const QUEUE_MAX_ARRAY_SIZE = 16384; + class SimpleQueue { + constructor() { + this._cursor = 0; + this._size = 0; + this._front = { + _elements: [], + _next: void 0 + }; + this._back = this._front; + this._cursor = 0; + this._size = 0; + } + get length() { + return this._size; + } + push(element) { + const oldBack = this._back; + let newBack = oldBack; + if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { + newBack = { + _elements: [], + _next: void 0 + }; + } + oldBack._elements.push(element); + if (newBack !== oldBack) { + this._back = newBack; + oldBack._next = newBack; + } + ++this._size; + } + shift() { + const oldFront = this._front; + let newFront = oldFront; + const oldCursor = this._cursor; + let newCursor = oldCursor + 1; + const elements = oldFront._elements; + const element = elements[oldCursor]; + if (newCursor === QUEUE_MAX_ARRAY_SIZE) { + newFront = oldFront._next; + newCursor = 0; + } + --this._size; + this._cursor = newCursor; + if (oldFront !== newFront) { + this._front = newFront; + } + elements[oldCursor] = void 0; + return element; + } + forEach(callback) { + let i3 = this._cursor; + let node = this._front; + let elements = node._elements; + while (i3 !== elements.length || node._next !== void 0) { + if (i3 === elements.length) { + node = node._next; + elements = node._elements; + i3 = 0; + if (elements.length === 0) { + break; + } + } + callback(elements[i3]); + ++i3; + } + } + peek() { + const front = this._front; + const cursor = this._cursor; + return front._elements[cursor]; + } + } + const AbortSteps = Symbol("[[AbortSteps]]"); + const ErrorSteps = Symbol("[[ErrorSteps]]"); + const CancelSteps = Symbol("[[CancelSteps]]"); + const PullSteps = Symbol("[[PullSteps]]"); + const ReleaseSteps = Symbol("[[ReleaseSteps]]"); + function ReadableStreamReaderGenericInitialize(reader, stream4) { + reader._ownerReadableStream = stream4; + stream4._reader = reader; + if (stream4._state === "readable") { + defaultReaderClosedPromiseInitialize(reader); + } else if (stream4._state === "closed") { + defaultReaderClosedPromiseInitializeAsResolved(reader); + } else { + defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); + } + } + function ReadableStreamReaderGenericCancel(reader, reason) { + const stream4 = reader._ownerReadableStream; + return ReadableStreamCancel(stream4, reason); + } + function ReadableStreamReaderGenericRelease(reader) { + const stream4 = reader._ownerReadableStream; + if (stream4._state === "readable") { + defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } else { + defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } + stream4._readableStreamController[ReleaseSteps](); + stream4._reader = void 0; + reader._ownerReadableStream = void 0; + } + function readerLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released reader"); + } + function defaultReaderClosedPromiseInitialize(reader) { + reader._closedPromise = newPromise((resolve, reject) => { + reader._closedPromise_resolve = resolve; + reader._closedPromise_reject = reject; + }); + } + function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseReject(reader, reason); + } + function defaultReaderClosedPromiseInitializeAsResolved(reader) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseResolve(reader); + } + function defaultReaderClosedPromiseReject(reader, reason) { + if (reader._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(reader._closedPromise); + reader._closedPromise_reject(reason); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + function defaultReaderClosedPromiseResetToRejected(reader, reason) { + defaultReaderClosedPromiseInitializeAsRejected(reader, reason); + } + function defaultReaderClosedPromiseResolve(reader) { + if (reader._closedPromise_resolve === void 0) { + return; + } + reader._closedPromise_resolve(void 0); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + const NumberIsFinite = Number.isFinite || function(x5) { + return typeof x5 === "number" && isFinite(x5); + }; + const MathTrunc = Math.trunc || function(v5) { + return v5 < 0 ? Math.ceil(v5) : Math.floor(v5); + }; + function isDictionary(x5) { + return typeof x5 === "object" || typeof x5 === "function"; + } + function assertDictionary(obj, context) { + if (obj !== void 0 && !isDictionary(obj)) { + throw new TypeError(`${context} is not an object.`); + } + } + function assertFunction(x5, context) { + if (typeof x5 !== "function") { + throw new TypeError(`${context} is not a function.`); + } + } + function isObject2(x5) { + return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; + } + function assertObject(x5, context) { + if (!isObject2(x5)) { + throw new TypeError(`${context} is not an object.`); + } + } + function assertRequiredArgument(x5, position, context) { + if (x5 === void 0) { + throw new TypeError(`Parameter ${position} is required in '${context}'.`); + } + } + function assertRequiredField(x5, field, context) { + if (x5 === void 0) { + throw new TypeError(`${field} is required in '${context}'.`); + } + } + function convertUnrestrictedDouble(value) { + return Number(value); + } + function censorNegativeZero(x5) { + return x5 === 0 ? 0 : x5; + } + function integerPart(x5) { + return censorNegativeZero(MathTrunc(x5)); + } + function convertUnsignedLongLongWithEnforceRange(value, context) { + const lowerBound = 0; + const upperBound = Number.MAX_SAFE_INTEGER; + let x5 = Number(value); + x5 = censorNegativeZero(x5); + if (!NumberIsFinite(x5)) { + throw new TypeError(`${context} is not a finite number`); + } + x5 = integerPart(x5); + if (x5 < lowerBound || x5 > upperBound) { + throw new TypeError(`${context} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); + } + if (!NumberIsFinite(x5) || x5 === 0) { + return 0; + } + return x5; + } + function assertReadableStream(x5, context) { + if (!IsReadableStream(x5)) { + throw new TypeError(`${context} is not a ReadableStream.`); + } + } + function AcquireReadableStreamDefaultReader(stream4) { + return new ReadableStreamDefaultReader2(stream4); + } + function ReadableStreamAddReadRequest(stream4, readRequest) { + stream4._reader._readRequests.push(readRequest); + } + function ReadableStreamFulfillReadRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readRequest = reader._readRequests.shift(); + if (done) { + readRequest._closeSteps(); + } else { + readRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadRequests(stream4) { + return stream4._reader._readRequests.length; + } + function ReadableStreamHasDefaultReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamDefaultReader(reader)) { + return false; + } + return true; + } + class ReadableStreamDefaultReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("read")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: () => resolvePromise({ value: void 0, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamDefaultReaderRead(this, readRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamDefaultReader(this)) { + throw defaultReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamDefaultReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamDefaultReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); + setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultReader", + configurable: true + }); + } + function IsReadableStreamDefaultReader(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readRequests")) { + return false; + } + return x5 instanceof ReadableStreamDefaultReader2; + } + function ReadableStreamDefaultReaderRead(reader, readRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "closed") { + readRequest._closeSteps(); + } else if (stream4._state === "errored") { + readRequest._errorSteps(stream4._storedError); + } else { + stream4._readableStreamController[PullSteps](readRequest); + } + } + function ReadableStreamDefaultReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } + function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._errorSteps(e3); + }); + } + function defaultReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); + } + const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { + }).prototype); + class ReadableStreamAsyncIteratorImpl { + constructor(reader, preventCancel) { + this._ongoingPromise = void 0; + this._isFinished = false; + this._reader = reader; + this._preventCancel = preventCancel; + } + next() { + const nextSteps = () => this._nextSteps(); + this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); + return this._ongoingPromise; + } + return(value) { + const returnSteps = () => this._returnSteps(value); + return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); + } + _nextSteps() { + if (this._isFinished) { + return Promise.resolve({ value: void 0, done: true }); + } + const reader = this._reader; + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => { + this._ongoingPromise = void 0; + _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); + }, + _closeSteps: () => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + resolvePromise({ value: void 0, done: true }); + }, + _errorSteps: (reason) => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + rejectPromise(reason); + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promise; + } + _returnSteps(value) { + if (this._isFinished) { + return Promise.resolve({ value, done: true }); + } + this._isFinished = true; + const reader = this._reader; + if (!this._preventCancel) { + const result = ReadableStreamReaderGenericCancel(reader, value); + ReadableStreamReaderGenericRelease(reader); + return transformPromiseWith(result, () => ({ value, done: true })); + } + ReadableStreamReaderGenericRelease(reader); + return promiseResolvedWith({ value, done: true }); + } + } + const ReadableStreamAsyncIteratorPrototype = { + next() { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); + } + return this._asyncIteratorImpl.next(); + }, + return(value) { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); + } + return this._asyncIteratorImpl.return(value); + } + }; + Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); + function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { + const reader = AcquireReadableStreamDefaultReader(stream4); + const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); + const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); + iterator._asyncIteratorImpl = impl; + return iterator; + } + function IsReadableStreamAsyncIterator(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_asyncIteratorImpl")) { + return false; + } + try { + return x5._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; + } catch (_a3) { + return false; + } + } + function streamAsyncIteratorBrandCheckException(name) { + return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); + } + const NumberIsNaN = Number.isNaN || function(x5) { + return x5 !== x5; + }; + var _a2, _b, _c; + function CreateArrayFromList(elements) { + return elements.slice(); + } + function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { + new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); + } + let TransferArrayBuffer = (O5) => { + if (typeof O5.transfer === "function") { + TransferArrayBuffer = (buffer) => buffer.transfer(); + } else if (typeof structuredClone === "function") { + TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); + } else { + TransferArrayBuffer = (buffer) => buffer; + } + return TransferArrayBuffer(O5); + }; + let IsDetachedBuffer = (O5) => { + if (typeof O5.detached === "boolean") { + IsDetachedBuffer = (buffer) => buffer.detached; + } else { + IsDetachedBuffer = (buffer) => buffer.byteLength === 0; + } + return IsDetachedBuffer(O5); + }; + function ArrayBufferSlice(buffer, begin, end) { + if (buffer.slice) { + return buffer.slice(begin, end); + } + const length = end - begin; + const slice = new ArrayBuffer(length); + CopyDataBlockBytes(slice, 0, buffer, begin, length); + return slice; + } + function GetMethod(receiver, prop) { + const func = receiver[prop]; + if (func === void 0 || func === null) { + return void 0; + } + if (typeof func !== "function") { + throw new TypeError(`${String(prop)} is not a function`); + } + return func; + } + function CreateAsyncFromSyncIterator(syncIteratorRecord) { + const syncIterable = { + [Symbol.iterator]: () => syncIteratorRecord.iterator + }; + const asyncIterator2 = async function* () { + return yield* syncIterable; + }(); + const nextMethod = asyncIterator2.next; + return { iterator: asyncIterator2, nextMethod, done: false }; + } + const SymbolAsyncIterator = (_c = (_a2 = Symbol.asyncIterator) !== null && _a2 !== void 0 ? _a2 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c !== void 0 ? _c : "@@asyncIterator"; + function GetIterator(obj, hint = "sync", method) { + if (method === void 0) { + if (hint === "async") { + method = GetMethod(obj, SymbolAsyncIterator); + if (method === void 0) { + const syncMethod = GetMethod(obj, Symbol.iterator); + const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); + return CreateAsyncFromSyncIterator(syncIteratorRecord); + } + } else { + method = GetMethod(obj, Symbol.iterator); + } + } + if (method === void 0) { + throw new TypeError("The object is not iterable"); + } + const iterator = reflectCall(method, obj, []); + if (!typeIsObject(iterator)) { + throw new TypeError("The iterator method must return an object"); + } + const nextMethod = iterator.next; + return { iterator, nextMethod, done: false }; + } + function IteratorNext(iteratorRecord) { + const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); + if (!typeIsObject(result)) { + throw new TypeError("The iterator.next() method must return an object"); + } + return result; + } + function IteratorComplete(iterResult) { + return Boolean(iterResult.done); + } + function IteratorValue(iterResult) { + return iterResult.value; + } + function IsNonNegativeNumber(v5) { + if (typeof v5 !== "number") { + return false; + } + if (NumberIsNaN(v5)) { + return false; + } + if (v5 < 0) { + return false; + } + return true; + } + function CloneAsUint8Array(O5) { + const buffer = ArrayBufferSlice(O5.buffer, O5.byteOffset, O5.byteOffset + O5.byteLength); + return new Uint8Array(buffer); + } + function DequeueValue(container) { + const pair = container._queue.shift(); + container._queueTotalSize -= pair.size; + if (container._queueTotalSize < 0) { + container._queueTotalSize = 0; + } + return pair.value; + } + function EnqueueValueWithSize(container, value, size) { + if (!IsNonNegativeNumber(size) || size === Infinity) { + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + } + container._queue.push({ value, size }); + container._queueTotalSize += size; + } + function PeekQueueValue(container) { + const pair = container._queue.peek(); + return pair.value; + } + function ResetQueue(container) { + container._queue = new SimpleQueue(); + container._queueTotalSize = 0; + } + function isDataViewConstructor(ctor) { + return ctor === DataView; + } + function isDataView(view) { + return isDataViewConstructor(view.constructor); + } + function arrayBufferViewElementSize(ctor) { + if (isDataViewConstructor(ctor)) { + return 1; + } + return ctor.BYTES_PER_ELEMENT; + } + class ReadableStreamBYOBRequest2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("view"); + } + return this._view; + } + respond(bytesWritten) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respond"); + } + assertRequiredArgument(bytesWritten, 1, "respond"); + bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(this._view.buffer)) { + throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); + } + ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); + } + respondWithNewView(view) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respondWithNewView"); + } + assertRequiredArgument(view, 1, "respondWithNewView"); + if (!ArrayBuffer.isView(view)) { + throw new TypeError("You can only respond with array buffer views"); + } + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(view.buffer)) { + throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); + } + ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); + } + } + Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { + respond: { enumerable: true }, + respondWithNewView: { enumerable: true }, + view: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBRequest", + configurable: true + }); + } + class ReadableByteStreamController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("byobRequest"); + } + return ReadableByteStreamControllerGetBYOBRequest(this); + } + get desiredSize() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("desiredSize"); + } + return ReadableByteStreamControllerGetDesiredSize(this); + } + close() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("close"); + } + if (this._closeRequested) { + throw new TypeError("The stream has already been closed; do not close it again!"); + } + const state = this._controlledReadableByteStream._state; + if (state !== "readable") { + throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`); + } + ReadableByteStreamControllerClose(this); + } + enqueue(chunk) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("enqueue"); + } + assertRequiredArgument(chunk, 1, "enqueue"); + if (!ArrayBuffer.isView(chunk)) { + throw new TypeError("chunk must be an array buffer view"); + } + if (chunk.byteLength === 0) { + throw new TypeError("chunk must have non-zero byteLength"); + } + if (chunk.buffer.byteLength === 0) { + throw new TypeError(`chunk's buffer must have non-zero byteLength`); + } + if (this._closeRequested) { + throw new TypeError("stream is closed or draining"); + } + const state = this._controlledReadableByteStream._state; + if (state !== "readable") { + throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`); + } + ReadableByteStreamControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("error"); + } + ReadableByteStreamControllerError(this, e3); + } + [CancelSteps](reason) { + ReadableByteStreamControllerClearPendingPullIntos(this); + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableByteStreamControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) { + ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); + return; + } + const autoAllocateChunkSize = this._autoAllocateChunkSize; + if (autoAllocateChunkSize !== void 0) { + let buffer; + try { + buffer = new ArrayBuffer(autoAllocateChunkSize); + } catch (bufferE) { + readRequest._errorSteps(bufferE); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: autoAllocateChunkSize, + byteOffset: 0, + byteLength: autoAllocateChunkSize, + bytesFilled: 0, + minimumFill: 1, + elementSize: 1, + viewConstructor: Uint8Array, + readerType: "default" + }; + this._pendingPullIntos.push(pullIntoDescriptor); + } + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableByteStreamControllerCallPullIfNeeded(this); + } + [ReleaseSteps]() { + if (this._pendingPullIntos.length > 0) { + const firstPullInto = this._pendingPullIntos.peek(); + firstPullInto.readerType = "none"; + this._pendingPullIntos = new SimpleQueue(); + this._pendingPullIntos.push(firstPullInto); + } + } + } + Object.defineProperties(ReadableByteStreamController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + byobRequest: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableByteStreamController2.prototype.close, "close"); + setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableByteStreamController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { + value: "ReadableByteStreamController", + configurable: true + }); + } + function IsReadableByteStreamController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableByteStream")) { + return false; + } + return x5 instanceof ReadableByteStreamController2; + } + function IsReadableStreamBYOBRequest(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_associatedReadableByteStreamController")) { + return false; + } + return x5 instanceof ReadableStreamBYOBRequest2; + } + function ReadableByteStreamControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableByteStreamControllerError(controller, e3); + return null; + }); + } + function ReadableByteStreamControllerClearPendingPullIntos(controller) { + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + controller._pendingPullIntos = new SimpleQueue(); + } + function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { + let done = false; + if (stream4._state === "closed") { + done = true; + } + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "default") { + ReadableStreamFulfillReadRequest(stream4, filledView, done); + } else { + ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); + } + } + function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { + const bytesFilled = pullIntoDescriptor.bytesFilled; + const elementSize = pullIntoDescriptor.elementSize; + return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); + } + function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { + controller._queue.push({ buffer, byteOffset, byteLength }); + controller._queueTotalSize += byteLength; + } + function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { + let clonedChunk; + try { + clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); + } catch (cloneE) { + ReadableByteStreamControllerError(controller, cloneE); + throw cloneE; + } + ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); + } + function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { + if (firstDescriptor.bytesFilled > 0) { + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { + const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); + const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; + let totalBytesToCopyRemaining = maxBytesToCopy; + let ready = false; + const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; + const maxAlignedBytes = maxBytesFilled - remainderBytes; + if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { + totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; + ready = true; + } + const queue = controller._queue; + while (totalBytesToCopyRemaining > 0) { + const headOfQueue = queue.peek(); + const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); + const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); + if (headOfQueue.byteLength === bytesToCopy) { + queue.shift(); + } else { + headOfQueue.byteOffset += bytesToCopy; + headOfQueue.byteLength -= bytesToCopy; + } + controller._queueTotalSize -= bytesToCopy; + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); + totalBytesToCopyRemaining -= bytesToCopy; + } + return ready; + } + function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { + pullIntoDescriptor.bytesFilled += size; + } + function ReadableByteStreamControllerHandleQueueDrain(controller) { + if (controller._queueTotalSize === 0 && controller._closeRequested) { + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(controller._controlledReadableByteStream); + } else { + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + } + function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { + if (controller._byobRequest === null) { + return; + } + controller._byobRequest._associatedReadableByteStreamController = void 0; + controller._byobRequest._view = null; + controller._byobRequest = null; + } + function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { + while (controller._pendingPullIntos.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const pullIntoDescriptor = controller._pendingPullIntos.peek(); + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { + const reader = controller._controlledReadableByteStream._reader; + while (reader._readRequests.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const readRequest = reader._readRequests.shift(); + ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); + } + } + function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { + const stream4 = controller._controlledReadableByteStream; + const ctor = view.constructor; + const elementSize = arrayBufferViewElementSize(ctor); + const { byteOffset, byteLength } = view; + const minimumFill = min * elementSize; + let buffer; + try { + buffer = TransferArrayBuffer(view.buffer); + } catch (e3) { + readIntoRequest._errorSteps(e3); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: buffer.byteLength, + byteOffset, + byteLength, + bytesFilled: 0, + minimumFill, + elementSize, + viewConstructor: ctor, + readerType: "byob" + }; + if (controller._pendingPullIntos.length > 0) { + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + return; + } + if (stream4._state === "closed") { + const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); + readIntoRequest._closeSteps(emptyView); + return; + } + if (controller._queueTotalSize > 0) { + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + ReadableByteStreamControllerHandleQueueDrain(controller); + readIntoRequest._chunkSteps(filledView); + return; + } + if (controller._closeRequested) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + readIntoRequest._errorSteps(e3); + return; + } + } + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { + if (firstDescriptor.readerType === "none") { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const stream4 = controller._controlledReadableByteStream; + if (ReadableStreamHasBYOBReader(stream4)) { + while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + return; + } + if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { + return; + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; + if (remainderSize > 0) { + const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); + } + pullIntoDescriptor.bytesFilled -= remainderSize; + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } + function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); + } else { + ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerShiftPendingPullInto(controller) { + const descriptor = controller._pendingPullIntos.shift(); + return descriptor; + } + function ReadableByteStreamControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return false; + } + if (controller._closeRequested) { + return false; + } + if (!controller._started) { + return false; + } + if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableByteStreamControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function ReadableByteStreamControllerClose(controller) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + if (controller._queueTotalSize > 0) { + controller._closeRequested = true; + return; + } + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + throw e3; + } + } + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + function ReadableByteStreamControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + const { buffer, byteOffset, byteLength } = chunk; + if (IsDetachedBuffer(buffer)) { + throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); + } + const transferredBuffer = TransferArrayBuffer(buffer); + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (IsDetachedBuffer(firstPendingPullInto.buffer)) { + throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); + } + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); + if (firstPendingPullInto.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); + } + } + if (ReadableStreamHasDefaultReader(stream4)) { + ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); + if (ReadableStreamGetNumReadRequests(stream4) === 0) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } else { + if (controller._pendingPullIntos.length > 0) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); + ReadableStreamFulfillReadRequest(stream4, transferredView, false); + } + } else if (ReadableStreamHasBYOBReader(stream4)) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } else { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerError(controller, e3) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return; + } + ReadableByteStreamControllerClearPendingPullIntos(controller); + ResetQueue(controller); + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { + const entry = controller._queue.shift(); + controller._queueTotalSize -= entry.byteLength; + ReadableByteStreamControllerHandleQueueDrain(controller); + const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); + readRequest._chunkSteps(view); + } + function ReadableByteStreamControllerGetBYOBRequest(controller) { + if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); + const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); + SetUpReadableStreamBYOBRequest(byobRequest, controller, view); + controller._byobRequest = byobRequest; + } + return controller._byobRequest; + } + function ReadableByteStreamControllerGetDesiredSize(controller) { + const state = controller._controlledReadableByteStream._state; + if (state === "errored") { + return null; + } + if (state === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableByteStreamControllerRespond(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + if (bytesWritten !== 0) { + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } + } else { + if (bytesWritten === 0) { + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + } + if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { + throw new RangeError("bytesWritten out of range"); + } + } + firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); + ReadableByteStreamControllerRespondInternal(controller, bytesWritten); + } + function ReadableByteStreamControllerRespondWithNewView(controller, view) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + if (view.byteLength !== 0) { + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } + } else { + if (view.byteLength === 0) { + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + } + } + if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { + throw new RangeError("The region specified by view does not match byobRequest"); + } + if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { + throw new RangeError("The buffer of view has different capacity than byobRequest"); + } + if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { + throw new RangeError("The region specified by view is larger than byobRequest"); + } + const viewByteLength = view.byteLength; + firstDescriptor.buffer = TransferArrayBuffer(view.buffer); + ReadableByteStreamControllerRespondInternal(controller, viewByteLength); + } + function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { + controller._controlledReadableByteStream = stream4; + controller._pullAgain = false; + controller._pulling = false; + controller._byobRequest = null; + controller._queue = controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._closeRequested = false; + controller._started = false; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._autoAllocateChunkSize = autoAllocateChunkSize; + controller._pendingPullIntos = new SimpleQueue(); + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableByteStreamControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableByteStreamControllerError(controller, r3); + return null; + }); + } + function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { + const controller = Object.create(ReadableByteStreamController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingByteSource.start !== void 0) { + startAlgorithm = () => underlyingByteSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingByteSource.pull !== void 0) { + pullAlgorithm = () => underlyingByteSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingByteSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; + if (autoAllocateChunkSize === 0) { + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + } + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); + } + function SetUpReadableStreamBYOBRequest(request, controller, view) { + request._associatedReadableByteStreamController = controller; + request._view = view; + } + function byobRequestBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); + } + function byteStreamControllerBrandCheckException(name) { + return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); + } + function convertReaderOptions(options, context) { + assertDictionary(options, context); + const mode3 = options === null || options === void 0 ? void 0 : options.mode; + return { + mode: mode3 === void 0 ? void 0 : convertReadableStreamReaderMode(mode3, `${context} has member 'mode' that`) + }; + } + function convertReadableStreamReaderMode(mode3, context) { + mode3 = `${mode3}`; + if (mode3 !== "byob") { + throw new TypeError(`${context} '${mode3}' is not a valid enumeration value for ReadableStreamReaderMode`); + } + return mode3; + } + function convertByobReadOptions(options, context) { + var _a3; + assertDictionary(options, context); + const min = (_a3 = options === null || options === void 0 ? void 0 : options.min) !== null && _a3 !== void 0 ? _a3 : 1; + return { + min: convertUnsignedLongLongWithEnforceRange(min, `${context} has member 'min' that`) + }; + } + function AcquireReadableStreamBYOBReader(stream4) { + return new ReadableStreamBYOBReader2(stream4); + } + function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { + stream4._reader._readIntoRequests.push(readIntoRequest); + } + function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readIntoRequest = reader._readIntoRequests.shift(); + if (done) { + readIntoRequest._closeSteps(chunk); + } else { + readIntoRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadIntoRequests(stream4) { + return stream4._reader._readIntoRequests.length; + } + function ReadableStreamHasBYOBReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamBYOBReader(reader)) { + return false; + } + return true; + } + class ReadableStreamBYOBReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + if (!IsReadableByteStreamController(stream4._readableStreamController)) { + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readIntoRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read(view, rawOptions = {}) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("read")); + } + if (!ArrayBuffer.isView(view)) { + return promiseRejectedWith(new TypeError("view must be an array buffer view")); + } + if (view.byteLength === 0) { + return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); + } + if (view.buffer.byteLength === 0) { + return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); + } + if (IsDetachedBuffer(view.buffer)) { + return promiseRejectedWith(new TypeError("view's buffer has been detached")); + } + let options; + try { + options = convertByobReadOptions(rawOptions, "options"); + } catch (e3) { + return promiseRejectedWith(e3); + } + const min = options.min; + if (min === 0) { + return promiseRejectedWith(new TypeError("options.min must be greater than 0")); + } + if (!isDataView(view)) { + if (min > view.length) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); + } + } else if (min > view.byteLength) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readIntoRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamBYOBReader(this)) { + throw byobReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamBYOBReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamBYOBReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); + setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBReader", + configurable: true + }); + } + function IsReadableStreamBYOBReader(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readIntoRequests")) { + return false; + } + return x5 instanceof ReadableStreamBYOBReader2; + } + function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "errored") { + readIntoRequest._errorSteps(stream4._storedError); + } else { + ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); + } + } + function ReadableStreamBYOBReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._errorSteps(e3); + }); + } + function byobReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); + } + function ExtractHighWaterMark(strategy, defaultHWM) { + const { highWaterMark } = strategy; + if (highWaterMark === void 0) { + return defaultHWM; + } + if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { + throw new RangeError("Invalid highWaterMark"); + } + return highWaterMark; + } + function ExtractSizeAlgorithm(strategy) { + const { size } = strategy; + if (!size) { + return () => 1; + } + return size; + } + function convertQueuingStrategy(init, context) { + assertDictionary(init, context); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + const size = init === null || init === void 0 ? void 0 : init.size; + return { + highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), + size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context} has member 'size' that`) + }; + } + function convertQueuingStrategySize(fn, context) { + assertFunction(fn, context); + return (chunk) => convertUnrestrictedDouble(fn(chunk)); + } + function convertUnderlyingSink(original, context) { + assertDictionary(original, context); + const abort = original === null || original === void 0 ? void 0 : original.abort; + const close = original === null || original === void 0 ? void 0 : original.close; + const start = original === null || original === void 0 ? void 0 : original.start; + const type = original === null || original === void 0 ? void 0 : original.type; + const write = original === null || original === void 0 ? void 0 : original.write; + return { + abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context} has member 'abort' that`), + close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context} has member 'close' that`), + start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context} has member 'start' that`), + write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context} has member 'write' that`), + type + }; + } + function convertUnderlyingSinkAbortCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSinkCloseCallback(fn, original, context) { + assertFunction(fn, context); + return () => promiseCall(fn, original, []); + } + function convertUnderlyingSinkStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertUnderlyingSinkWriteCallback(fn, original, context) { + assertFunction(fn, context); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function assertWritableStream(x5, context) { + if (!IsWritableStream(x5)) { + throw new TypeError(`${context} is not a WritableStream.`); + } + } + function isAbortSignal(value) { + if (typeof value !== "object" || value === null) { + return false; + } + try { + return typeof value.aborted === "boolean"; + } catch (_a3) { + return false; + } + } + const supportsAbortController = typeof AbortController === "function"; + function createAbortController() { + if (supportsAbortController) { + return new AbortController(); + } + return void 0; + } + class WritableStream2 { + constructor(rawUnderlyingSink = {}, rawStrategy = {}) { + if (rawUnderlyingSink === void 0) { + rawUnderlyingSink = null; + } else { + assertObject(rawUnderlyingSink, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); + InitializeWritableStream(this); + const type = underlyingSink.type; + if (type !== void 0) { + throw new RangeError("Invalid type is specified"); + } + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); + } + get locked() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("locked"); + } + return IsWritableStreamLocked(this); + } + abort(reason = void 0) { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("abort")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); + } + return WritableStreamAbort(this, reason); + } + close() { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("close")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); + } + if (WritableStreamCloseQueuedOrInFlight(this)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamClose(this); + } + getWriter() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("getWriter"); + } + return AcquireWritableStreamDefaultWriter(this); + } + } + Object.defineProperties(WritableStream2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + getWriter: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(WritableStream2.prototype.abort, "abort"); + setFunctionName(WritableStream2.prototype.close, "close"); + setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { + value: "WritableStream", + configurable: true + }); + } + function AcquireWritableStreamDefaultWriter(stream4) { + return new WritableStreamDefaultWriter2(stream4); + } + function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(WritableStream2.prototype); + InitializeWritableStream(stream4); + const controller = Object.create(WritableStreamDefaultController2.prototype); + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function InitializeWritableStream(stream4) { + stream4._state = "writable"; + stream4._storedError = void 0; + stream4._writer = void 0; + stream4._writableStreamController = void 0; + stream4._writeRequests = new SimpleQueue(); + stream4._inFlightWriteRequest = void 0; + stream4._closeRequest = void 0; + stream4._inFlightCloseRequest = void 0; + stream4._pendingAbortRequest = void 0; + stream4._backpressure = false; + } + function IsWritableStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_writableStreamController")) { + return false; + } + return x5 instanceof WritableStream2; + } + function IsWritableStreamLocked(stream4) { + if (stream4._writer === void 0) { + return false; + } + return true; + } + function WritableStreamAbort(stream4, reason) { + var _a3; + if (stream4._state === "closed" || stream4._state === "errored") { + return promiseResolvedWith(void 0); + } + stream4._writableStreamController._abortReason = reason; + (_a3 = stream4._writableStreamController._abortController) === null || _a3 === void 0 ? void 0 : _a3.abort(reason); + const state = stream4._state; + if (state === "closed" || state === "errored") { + return promiseResolvedWith(void 0); + } + if (stream4._pendingAbortRequest !== void 0) { + return stream4._pendingAbortRequest._promise; + } + let wasAlreadyErroring = false; + if (state === "erroring") { + wasAlreadyErroring = true; + reason = void 0; + } + const promise = newPromise((resolve, reject) => { + stream4._pendingAbortRequest = { + _promise: void 0, + _resolve: resolve, + _reject: reject, + _reason: reason, + _wasAlreadyErroring: wasAlreadyErroring + }; + }); + stream4._pendingAbortRequest._promise = promise; + if (!wasAlreadyErroring) { + WritableStreamStartErroring(stream4, reason); + } + return promise; + } + function WritableStreamClose(stream4) { + const state = stream4._state; + if (state === "closed" || state === "errored") { + return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`)); + } + const promise = newPromise((resolve, reject) => { + const closeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._closeRequest = closeRequest; + }); + const writer = stream4._writer; + if (writer !== void 0 && stream4._backpressure && state === "writable") { + defaultWriterReadyPromiseResolve(writer); + } + WritableStreamDefaultControllerClose(stream4._writableStreamController); + return promise; + } + function WritableStreamAddWriteRequest(stream4) { + const promise = newPromise((resolve, reject) => { + const writeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._writeRequests.push(writeRequest); + }); + return promise; + } + function WritableStreamDealWithRejection(stream4, error) { + const state = stream4._state; + if (state === "writable") { + WritableStreamStartErroring(stream4, error); + return; + } + WritableStreamFinishErroring(stream4); + } + function WritableStreamStartErroring(stream4, reason) { + const controller = stream4._writableStreamController; + stream4._state = "erroring"; + stream4._storedError = reason; + const writer = stream4._writer; + if (writer !== void 0) { + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); + } + if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { + WritableStreamFinishErroring(stream4); + } + } + function WritableStreamFinishErroring(stream4) { + stream4._state = "errored"; + stream4._writableStreamController[ErrorSteps](); + const storedError = stream4._storedError; + stream4._writeRequests.forEach((writeRequest) => { + writeRequest._reject(storedError); + }); + stream4._writeRequests = new SimpleQueue(); + if (stream4._pendingAbortRequest === void 0) { + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const abortRequest = stream4._pendingAbortRequest; + stream4._pendingAbortRequest = void 0; + if (abortRequest._wasAlreadyErroring) { + abortRequest._reject(storedError); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); + uponPromise(promise, () => { + abortRequest._resolve(); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }, (reason) => { + abortRequest._reject(reason); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }); + } + function WritableStreamFinishInFlightWrite(stream4) { + stream4._inFlightWriteRequest._resolve(void 0); + stream4._inFlightWriteRequest = void 0; + } + function WritableStreamFinishInFlightWriteWithError(stream4, error) { + stream4._inFlightWriteRequest._reject(error); + stream4._inFlightWriteRequest = void 0; + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamFinishInFlightClose(stream4) { + stream4._inFlightCloseRequest._resolve(void 0); + stream4._inFlightCloseRequest = void 0; + const state = stream4._state; + if (state === "erroring") { + stream4._storedError = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._resolve(); + stream4._pendingAbortRequest = void 0; + } + } + stream4._state = "closed"; + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseResolve(writer); + } + } + function WritableStreamFinishInFlightCloseWithError(stream4, error) { + stream4._inFlightCloseRequest._reject(error); + stream4._inFlightCloseRequest = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._reject(error); + stream4._pendingAbortRequest = void 0; + } + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamCloseQueuedOrInFlight(stream4) { + if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamHasOperationMarkedInFlight(stream4) { + if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamMarkCloseRequestInFlight(stream4) { + stream4._inFlightCloseRequest = stream4._closeRequest; + stream4._closeRequest = void 0; + } + function WritableStreamMarkFirstWriteRequestInFlight(stream4) { + stream4._inFlightWriteRequest = stream4._writeRequests.shift(); + } + function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { + if (stream4._closeRequest !== void 0) { + stream4._closeRequest._reject(stream4._storedError); + stream4._closeRequest = void 0; + } + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseReject(writer, stream4._storedError); + } + } + function WritableStreamUpdateBackpressure(stream4, backpressure) { + const writer = stream4._writer; + if (writer !== void 0 && backpressure !== stream4._backpressure) { + if (backpressure) { + defaultWriterReadyPromiseReset(writer); + } else { + defaultWriterReadyPromiseResolve(writer); + } + } + stream4._backpressure = backpressure; + } + class WritableStreamDefaultWriter2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); + assertWritableStream(stream4, "First parameter"); + if (IsWritableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + } + this._ownerWritableStream = stream4; + stream4._writer = this; + const state = stream4._state; + if (state === "writable") { + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { + defaultWriterReadyPromiseInitialize(this); + } else { + defaultWriterReadyPromiseInitializeAsResolved(this); + } + defaultWriterClosedPromiseInitialize(this); + } else if (state === "erroring") { + defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); + defaultWriterClosedPromiseInitialize(this); + } else if (state === "closed") { + defaultWriterReadyPromiseInitializeAsResolved(this); + defaultWriterClosedPromiseInitializeAsResolved(this); + } else { + const storedError = stream4._storedError; + defaultWriterReadyPromiseInitializeAsRejected(this, storedError); + defaultWriterClosedPromiseInitializeAsRejected(this, storedError); + } + } + get closed() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("closed")); + } + return this._closedPromise; + } + get desiredSize() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("desiredSize"); + } + if (this._ownerWritableStream === void 0) { + throw defaultWriterLockException("desiredSize"); + } + return WritableStreamDefaultWriterGetDesiredSize(this); + } + get ready() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("ready")); + } + return this._readyPromise; + } + abort(reason = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("abort")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("abort")); + } + return WritableStreamDefaultWriterAbort(this, reason); + } + close() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("close")); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return promiseRejectedWith(defaultWriterLockException("close")); + } + if (WritableStreamCloseQueuedOrInFlight(stream4)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamDefaultWriterClose(this); + } + releaseLock() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("releaseLock"); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return; + } + WritableStreamDefaultWriterRelease(this); + } + write(chunk = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("write")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + return WritableStreamDefaultWriterWrite(this, chunk); + } + } + Object.defineProperties(WritableStreamDefaultWriter2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + releaseLock: { enumerable: true }, + write: { enumerable: true }, + closed: { enumerable: true }, + desiredSize: { enumerable: true }, + ready: { enumerable: true } + }); + setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); + setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); + setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); + setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultWriter", + configurable: true + }); + } + function IsWritableStreamDefaultWriter(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_ownerWritableStream")) { + return false; + } + return x5 instanceof WritableStreamDefaultWriter2; + } + function WritableStreamDefaultWriterAbort(writer, reason) { + const stream4 = writer._ownerWritableStream; + return WritableStreamAbort(stream4, reason); + } + function WritableStreamDefaultWriterClose(writer) { + const stream4 = writer._ownerWritableStream; + return WritableStreamClose(stream4); + } + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { + const stream4 = writer._ownerWritableStream; + const state = stream4._state; + if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { + return promiseResolvedWith(void 0); + } + if (state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + return WritableStreamDefaultWriterClose(writer); + } + function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { + if (writer._closedPromiseState === "pending") { + defaultWriterClosedPromiseReject(writer, error); + } else { + defaultWriterClosedPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { + if (writer._readyPromiseState === "pending") { + defaultWriterReadyPromiseReject(writer, error); + } else { + defaultWriterReadyPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterGetDesiredSize(writer) { + const stream4 = writer._ownerWritableStream; + const state = stream4._state; + if (state === "errored" || state === "erroring") { + return null; + } + if (state === "closed") { + return 0; + } + return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); + } + function WritableStreamDefaultWriterRelease(writer) { + const stream4 = writer._ownerWritableStream; + const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); + WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); + stream4._writer = void 0; + writer._ownerWritableStream = void 0; + } + function WritableStreamDefaultWriterWrite(writer, chunk) { + const stream4 = writer._ownerWritableStream; + const controller = stream4._writableStreamController; + const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); + if (stream4 !== writer._ownerWritableStream) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + const state = stream4._state; + if (state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { + return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); + } + if (state === "erroring") { + return promiseRejectedWith(stream4._storedError); + } + const promise = WritableStreamAddWriteRequest(stream4); + WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); + return promise; + } + const closeSentinel = {}; + class WritableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("abortReason"); + } + return this._abortReason; + } + get signal() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("signal"); + } + if (this._abortController === void 0) { + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + } + return this._abortController.signal; + } + error(e3 = void 0) { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("error"); + } + const state = this._controlledWritableStream._state; + if (state !== "writable") { + return; + } + WritableStreamDefaultControllerError(this, e3); + } + [AbortSteps](reason) { + const result = this._abortAlgorithm(reason); + WritableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [ErrorSteps]() { + ResetQueue(this); + } + } + Object.defineProperties(WritableStreamDefaultController2.prototype, { + abortReason: { enumerable: true }, + signal: { enumerable: true }, + error: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultController", + configurable: true + }); + } + function IsWritableStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledWritableStream")) { + return false; + } + return x5 instanceof WritableStreamDefaultController2; + } + function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledWritableStream = stream4; + stream4._writableStreamController = controller; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._abortReason = void 0; + controller._abortController = createAbortController(); + controller._started = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._writeAlgorithm = writeAlgorithm; + controller._closeAlgorithm = closeAlgorithm; + controller._abortAlgorithm = abortAlgorithm; + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + const startResult = startAlgorithm(); + const startPromise = promiseResolvedWith(startResult); + uponPromise(startPromise, () => { + controller._started = true; + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (r3) => { + controller._started = true; + WritableStreamDealWithRejection(stream4, r3); + return null; + }); + } + function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { + const controller = Object.create(WritableStreamDefaultController2.prototype); + let startAlgorithm; + let writeAlgorithm; + let closeAlgorithm; + let abortAlgorithm; + if (underlyingSink.start !== void 0) { + startAlgorithm = () => underlyingSink.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSink.write !== void 0) { + writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); + } else { + writeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.close !== void 0) { + closeAlgorithm = () => underlyingSink.close(); + } else { + closeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.abort !== void 0) { + abortAlgorithm = (reason) => underlyingSink.abort(reason); + } else { + abortAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + } + function WritableStreamDefaultControllerClearAlgorithms(controller) { + controller._writeAlgorithm = void 0; + controller._closeAlgorithm = void 0; + controller._abortAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function WritableStreamDefaultControllerClose(controller) { + EnqueueValueWithSize(controller, closeSentinel, 0); + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { + try { + return controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); + return 1; + } + } + function WritableStreamDefaultControllerGetDesiredSize(controller) { + return controller._strategyHWM - controller._queueTotalSize; + } + function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); + return; + } + const stream4 = controller._controlledWritableStream; + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { + const stream4 = controller._controlledWritableStream; + if (!controller._started) { + return; + } + if (stream4._inFlightWriteRequest !== void 0) { + return; + } + const state = stream4._state; + if (state === "erroring") { + WritableStreamFinishErroring(stream4); + return; + } + if (controller._queue.length === 0) { + return; + } + const value = PeekQueueValue(controller); + if (value === closeSentinel) { + WritableStreamDefaultControllerProcessClose(controller); + } else { + WritableStreamDefaultControllerProcessWrite(controller, value); + } + } + function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { + if (controller._controlledWritableStream._state === "writable") { + WritableStreamDefaultControllerError(controller, error); + } + } + function WritableStreamDefaultControllerProcessClose(controller) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkCloseRequestInFlight(stream4); + DequeueValue(controller); + const sinkClosePromise = controller._closeAlgorithm(); + WritableStreamDefaultControllerClearAlgorithms(controller); + uponPromise(sinkClosePromise, () => { + WritableStreamFinishInFlightClose(stream4); + return null; + }, (reason) => { + WritableStreamFinishInFlightCloseWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerProcessWrite(controller, chunk) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkFirstWriteRequestInFlight(stream4); + const sinkWritePromise = controller._writeAlgorithm(chunk); + uponPromise(sinkWritePromise, () => { + WritableStreamFinishInFlightWrite(stream4); + const state = stream4._state; + DequeueValue(controller); + if (!WritableStreamCloseQueuedOrInFlight(stream4) && state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (reason) => { + if (stream4._state === "writable") { + WritableStreamDefaultControllerClearAlgorithms(controller); + } + WritableStreamFinishInFlightWriteWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerGetBackpressure(controller) { + const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); + return desiredSize <= 0; + } + function WritableStreamDefaultControllerError(controller, error) { + const stream4 = controller._controlledWritableStream; + WritableStreamDefaultControllerClearAlgorithms(controller); + WritableStreamStartErroring(stream4, error); + } + function streamBrandCheckException$2(name) { + return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); + } + function defaultControllerBrandCheckException$2(name) { + return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); + } + function defaultWriterBrandCheckException(name) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); + } + function defaultWriterLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released writer"); + } + function defaultWriterClosedPromiseInitialize(writer) { + writer._closedPromise = newPromise((resolve, reject) => { + writer._closedPromise_resolve = resolve; + writer._closedPromise_reject = reject; + writer._closedPromiseState = "pending"; + }); + } + function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseReject(writer, reason); + } + function defaultWriterClosedPromiseInitializeAsResolved(writer) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseResolve(writer); + } + function defaultWriterClosedPromiseReject(writer, reason) { + if (writer._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._closedPromise); + writer._closedPromise_reject(reason); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "rejected"; + } + function defaultWriterClosedPromiseResetToRejected(writer, reason) { + defaultWriterClosedPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterClosedPromiseResolve(writer) { + if (writer._closedPromise_resolve === void 0) { + return; + } + writer._closedPromise_resolve(void 0); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "resolved"; + } + function defaultWriterReadyPromiseInitialize(writer) { + writer._readyPromise = newPromise((resolve, reject) => { + writer._readyPromise_resolve = resolve; + writer._readyPromise_reject = reject; + }); + writer._readyPromiseState = "pending"; + } + function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseReject(writer, reason); + } + function defaultWriterReadyPromiseInitializeAsResolved(writer) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseResolve(writer); + } + function defaultWriterReadyPromiseReject(writer, reason) { + if (writer._readyPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._readyPromise); + writer._readyPromise_reject(reason); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "rejected"; + } + function defaultWriterReadyPromiseReset(writer) { + defaultWriterReadyPromiseInitialize(writer); + } + function defaultWriterReadyPromiseResetToRejected(writer, reason) { + defaultWriterReadyPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterReadyPromiseResolve(writer) { + if (writer._readyPromise_resolve === void 0) { + return; + } + writer._readyPromise_resolve(void 0); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "fulfilled"; + } + function getGlobals() { + if (typeof globalThis !== "undefined") { + return globalThis; + } else if (typeof self !== "undefined") { + return self; + } else if (typeof global !== "undefined") { + return global; + } + return void 0; + } + const globals = getGlobals(); + function isDOMExceptionConstructor(ctor) { + if (!(typeof ctor === "function" || typeof ctor === "object")) { + return false; + } + if (ctor.name !== "DOMException") { + return false; + } + try { + new ctor(); + return true; + } catch (_a3) { + return false; + } + } + function getFromGlobal() { + const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; + return isDOMExceptionConstructor(ctor) ? ctor : void 0; + } + function createPolyfill() { + const ctor = function DOMException4(message, name) { + this.message = message || ""; + this.name = name || "Error"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + }; + setFunctionName(ctor, "DOMException"); + ctor.prototype = Object.create(Error.prototype); + Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); + return ctor; + } + const DOMException3 = getFromGlobal() || createPolyfill(); + function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { + const reader = AcquireReadableStreamDefaultReader(source); + const writer = AcquireWritableStreamDefaultWriter(dest); + source._disturbed = true; + let shuttingDown = false; + let currentWrite = promiseResolvedWith(void 0); + return newPromise((resolve, reject) => { + let abortAlgorithm; + if (signal !== void 0) { + abortAlgorithm = () => { + const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); + const actions = []; + if (!preventAbort) { + actions.push(() => { + if (dest._state === "writable") { + return WritableStreamAbort(dest, error); + } + return promiseResolvedWith(void 0); + }); + } + if (!preventCancel) { + actions.push(() => { + if (source._state === "readable") { + return ReadableStreamCancel(source, error); + } + return promiseResolvedWith(void 0); + }); + } + shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); + }; + if (signal.aborted) { + abortAlgorithm(); + return; + } + signal.addEventListener("abort", abortAlgorithm); + } + function pipeLoop() { + return newPromise((resolveLoop, rejectLoop) => { + function next(done) { + if (done) { + resolveLoop(); + } else { + PerformPromiseThen(pipeStep(), next, rejectLoop); + } + } + next(false); + }); + } + function pipeStep() { + if (shuttingDown) { + return promiseResolvedWith(true); + } + return PerformPromiseThen(writer._readyPromise, () => { + return newPromise((resolveRead, rejectRead) => { + ReadableStreamDefaultReaderRead(reader, { + _chunkSteps: (chunk) => { + currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); + resolveRead(false); + }, + _closeSteps: () => resolveRead(true), + _errorSteps: rejectRead + }); + }); + }); + } + isOrBecomesErrored(source, reader._closedPromise, (storedError) => { + if (!preventAbort) { + shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesClosed(source, reader._closedPromise, () => { + if (!preventClose) { + shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); + } else { + shutdown(); + } + return null; + }); + if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { + const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); + } else { + shutdown(true, destClosed); + } + } + setPromiseIsHandledToTrue(pipeLoop()); + function waitForWritesToFinish() { + const oldCurrentWrite = currentWrite; + return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); + } + function isOrBecomesErrored(stream4, promise, action) { + if (stream4._state === "errored") { + action(stream4._storedError); + } else { + uponRejection(promise, action); + } + } + function isOrBecomesClosed(stream4, promise, action) { + if (stream4._state === "closed") { + action(); + } else { + uponFulfillment(promise, action); + } + } + function shutdownWithAction(action, originalIsError, originalError) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), doTheRest); + } else { + doTheRest(); + } + function doTheRest() { + uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); + return null; + } + } + function shutdown(isError, error) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error)); + } else { + finalize(isError, error); + } + } + function finalize(isError, error) { + WritableStreamDefaultWriterRelease(writer); + ReadableStreamReaderGenericRelease(reader); + if (signal !== void 0) { + signal.removeEventListener("abort", abortAlgorithm); + } + if (isError) { + reject(error); + } else { + resolve(void 0); + } + return null; + } + }); + } + class ReadableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("desiredSize"); + } + return ReadableStreamDefaultControllerGetDesiredSize(this); + } + close() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("close"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits close"); + } + ReadableStreamDefaultControllerClose(this); + } + enqueue(chunk = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("enqueue"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits enqueue"); + } + return ReadableStreamDefaultControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("error"); + } + ReadableStreamDefaultControllerError(this, e3); + } + [CancelSteps](reason) { + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableStream; + if (this._queue.length > 0) { + const chunk = DequeueValue(this); + if (this._closeRequested && this._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(this); + ReadableStreamClose(stream4); + } else { + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + readRequest._chunkSteps(chunk); + } else { + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + } + [ReleaseSteps]() { + } + } + Object.defineProperties(ReadableStreamDefaultController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); + setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultController", + configurable: true + }); + } + function IsReadableStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableStream")) { + return false; + } + return x5 instanceof ReadableStreamDefaultController2; + } + function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableStreamDefaultControllerError(controller, e3); + return null; + }); + } + function ReadableStreamDefaultControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableStream; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return false; + } + if (!controller._started) { + return false; + } + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableStreamDefaultControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function ReadableStreamDefaultControllerClose(controller) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + controller._closeRequested = true; + if (controller._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + } + function ReadableStreamDefaultControllerEnqueue(controller, chunk) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + ReadableStreamFulfillReadRequest(stream4, chunk, false); + } else { + let chunkSize; + try { + chunkSize = controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + ReadableStreamDefaultControllerError(controller, chunkSizeE); + throw chunkSizeE; + } + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + ReadableStreamDefaultControllerError(controller, enqueueE); + throw enqueueE; + } + } + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + function ReadableStreamDefaultControllerError(controller, e3) { + const stream4 = controller._controlledReadableStream; + if (stream4._state !== "readable") { + return; + } + ResetQueue(controller); + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableStreamDefaultControllerGetDesiredSize(controller) { + const state = controller._controlledReadableStream._state; + if (state === "errored") { + return null; + } + if (state === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableStreamDefaultControllerHasBackpressure(controller) { + if (ReadableStreamDefaultControllerShouldCallPull(controller)) { + return false; + } + return true; + } + function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { + const state = controller._controlledReadableStream._state; + if (!controller._closeRequested && state === "readable") { + return true; + } + return false; + } + function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledReadableStream = stream4; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._started = false; + controller._closeRequested = false; + controller._pullAgain = false; + controller._pulling = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(controller, r3); + return null; + }); + } + function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { + const controller = Object.create(ReadableStreamDefaultController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingSource.start !== void 0) { + startAlgorithm = () => underlyingSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSource.pull !== void 0) { + pullAlgorithm = () => underlyingSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + } + function defaultControllerBrandCheckException$1(name) { + return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); + } + function ReadableStreamTee(stream4, cloneForBranch2) { + if (IsReadableByteStreamController(stream4._readableStreamController)) { + return ReadableByteStreamTee(stream4); + } + return ReadableStreamDefaultTee(stream4); + } + function ReadableStreamDefaultTee(stream4, cloneForBranch2) { + const reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgain = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function pullAlgorithm() { + if (reading) { + readAgain = true; + return promiseResolvedWith(void 0); + } + reading = true; + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgain = false; + const chunk1 = chunk; + const chunk2 = chunk; + if (!canceled1) { + ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgain) { + pullAlgorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableStreamDefaultControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableStreamDefaultControllerClose(branch2._readableStreamController); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + } + branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); + branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); + uponRejection(reader._closedPromise, (r3) => { + ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); + ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + return [branch1, branch2]; + } + function ReadableByteStreamTee(stream4) { + let reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgainForBranch1 = false; + let readAgainForBranch2 = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function forwardReaderError(thisReader) { + uponRejection(thisReader._closedPromise, (r3) => { + if (thisReader !== reader) { + return null; + } + ReadableByteStreamControllerError(branch1._readableStreamController, r3); + ReadableByteStreamControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + } + function pullWithDefaultReader() { + if (IsReadableStreamBYOBReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamDefaultReader(stream4); + forwardReaderError(reader); + } + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const chunk1 = chunk; + let chunk2 = chunk; + if (!canceled1 && !canceled2) { + try { + chunk2 = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); + ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + } + if (!canceled1) { + ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableByteStreamControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableByteStreamControllerClose(branch2._readableStreamController); + } + if (branch1._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); + } + if (branch2._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + } + function pullWithBYOBReader(view, forBranch2) { + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamBYOBReader(stream4); + forwardReaderError(reader); + } + const byobBranch = forBranch2 ? branch2 : branch1; + const otherBranch = forBranch2 ? branch1 : branch2; + const readIntoRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!otherCanceled) { + let clonedChunk; + try { + clonedChunk = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); + ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); + } else if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: (chunk) => { + reading = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!byobCanceled) { + ReadableByteStreamControllerClose(byobBranch._readableStreamController); + } + if (!otherCanceled) { + ReadableByteStreamControllerClose(otherBranch._readableStreamController); + } + if (chunk !== void 0) { + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); + } + } + if (!byobCanceled || !otherCanceled) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); + } + function pull1Algorithm() { + if (reading) { + readAgainForBranch1 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, false); + } + return promiseResolvedWith(void 0); + } + function pull2Algorithm() { + if (reading) { + readAgainForBranch2 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, true); + } + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + return; + } + branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); + branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); + forwardReaderError(reader); + return [branch1, branch2]; + } + function isReadableStreamLike(stream4) { + return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; + } + function ReadableStreamFrom(source) { + if (isReadableStreamLike(source)) { + return ReadableStreamFromDefaultReader(source.getReader()); + } + return ReadableStreamFromIterable(source); + } + function ReadableStreamFromIterable(asyncIterable) { + let stream4; + const iteratorRecord = GetIterator(asyncIterable, "async"); + const startAlgorithm = noop2; + function pullAlgorithm() { + let nextResult; + try { + nextResult = IteratorNext(iteratorRecord); + } catch (e3) { + return promiseRejectedWith(e3); + } + const nextPromise = promiseResolvedWith(nextResult); + return transformPromiseWith(nextPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); + } + const done = IteratorComplete(iterResult); + if (done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = IteratorValue(iterResult); + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + const iterator = iteratorRecord.iterator; + let returnMethod; + try { + returnMethod = GetMethod(iterator, "return"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (returnMethod === void 0) { + return promiseResolvedWith(void 0); + } + let returnResult; + try { + returnResult = reflectCall(returnMethod, iterator, [reason]); + } catch (e3) { + return promiseRejectedWith(e3); + } + const returnPromise = promiseResolvedWith(returnResult); + return transformPromiseWith(returnPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); + } + return void 0; + }); + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function ReadableStreamFromDefaultReader(reader) { + let stream4; + const startAlgorithm = noop2; + function pullAlgorithm() { + let readPromise; + try { + readPromise = reader.read(); + } catch (e3) { + return promiseRejectedWith(e3); + } + return transformPromiseWith(readPromise, (readResult) => { + if (!typeIsObject(readResult)) { + throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); + } + if (readResult.done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = readResult.value; + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + try { + return promiseResolvedWith(reader.cancel(reason)); + } catch (e3) { + return promiseRejectedWith(e3); + } + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function convertUnderlyingDefaultOrByteSource(source, context) { + assertDictionary(source, context); + const original = source; + const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const pull = original === null || original === void 0 ? void 0 : original.pull; + const start = original === null || original === void 0 ? void 0 : original.start; + const type = original === null || original === void 0 ? void 0 : original.type; + return { + autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context} has member 'autoAllocateChunkSize' that`), + cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context} has member 'cancel' that`), + pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context} has member 'pull' that`), + start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context} has member 'start' that`), + type: type === void 0 ? void 0 : convertReadableStreamType(type, `${context} has member 'type' that`) + }; + } + function convertUnderlyingSourceCancelCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSourcePullCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertUnderlyingSourceStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertReadableStreamType(type, context) { + type = `${type}`; + if (type !== "bytes") { + throw new TypeError(`${context} '${type}' is not a valid enumeration value for ReadableStreamType`); + } + return type; + } + function convertIteratorOptions(options, context) { + assertDictionary(options, context); + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + return { preventCancel: Boolean(preventCancel) }; + } + function convertPipeOptions(options, context) { + assertDictionary(options, context); + const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; + const signal = options === null || options === void 0 ? void 0 : options.signal; + if (signal !== void 0) { + assertAbortSignal(signal, `${context} has member 'signal' that`); + } + return { + preventAbort: Boolean(preventAbort), + preventCancel: Boolean(preventCancel), + preventClose: Boolean(preventClose), + signal + }; + } + function assertAbortSignal(signal, context) { + if (!isAbortSignal(signal)) { + throw new TypeError(`${context} is not an AbortSignal.`); + } + } + function convertReadableWritablePair(pair, context) { + assertDictionary(pair, context); + const readable = pair === null || pair === void 0 ? void 0 : pair.readable; + assertRequiredField(readable, "readable", "ReadableWritablePair"); + assertReadableStream(readable, `${context} has member 'readable' that`); + const writable = pair === null || pair === void 0 ? void 0 : pair.writable; + assertRequiredField(writable, "writable", "ReadableWritablePair"); + assertWritableStream(writable, `${context} has member 'writable' that`); + return { readable, writable }; + } + class ReadableStream4 { + constructor(rawUnderlyingSource = {}, rawStrategy = {}) { + if (rawUnderlyingSource === void 0) { + rawUnderlyingSource = null; + } else { + assertObject(rawUnderlyingSource, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); + InitializeReadableStream(this); + if (underlyingSource.type === "bytes") { + if (strategy.size !== void 0) { + throw new RangeError("The strategy for a byte stream cannot have a size function"); + } + const highWaterMark = ExtractHighWaterMark(strategy, 0); + SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); + } else { + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); + } + } + get locked() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("locked"); + } + return IsReadableStreamLocked(this); + } + cancel(reason = void 0) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("cancel")); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); + } + return ReadableStreamCancel(this, reason); + } + getReader(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("getReader"); + } + const options = convertReaderOptions(rawOptions, "First parameter"); + if (options.mode === void 0) { + return AcquireReadableStreamDefaultReader(this); + } + return AcquireReadableStreamBYOBReader(this); + } + pipeThrough(rawTransform, rawOptions = {}) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("pipeThrough"); + } + assertRequiredArgument(rawTransform, 1, "pipeThrough"); + const transform = convertReadableWritablePair(rawTransform, "First parameter"); + const options = convertPipeOptions(rawOptions, "Second parameter"); + if (IsReadableStreamLocked(this)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + } + if (IsWritableStreamLocked(transform.writable)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + } + const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + setPromiseIsHandledToTrue(promise); + return transform.readable; + } + pipeTo(destination, rawOptions = {}) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); + } + if (destination === void 0) { + return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); + } + if (!IsWritableStream(destination)) { + return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); + } + let options; + try { + options = convertPipeOptions(rawOptions, "Second parameter"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); + } + if (IsWritableStreamLocked(destination)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); + } + return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + } + tee() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("tee"); + } + const branches = ReadableStreamTee(this); + return CreateArrayFromList(branches); + } + values(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("values"); + } + const options = convertIteratorOptions(rawOptions, "First parameter"); + return AcquireReadableStreamAsyncIterator(this, options.preventCancel); + } + [SymbolAsyncIterator](options) { + return this.values(options); + } + static from(asyncIterable) { + return ReadableStreamFrom(asyncIterable); + } + } + Object.defineProperties(ReadableStream4, { + from: { enumerable: true } + }); + Object.defineProperties(ReadableStream4.prototype, { + cancel: { enumerable: true }, + getReader: { enumerable: true }, + pipeThrough: { enumerable: true }, + pipeTo: { enumerable: true }, + tee: { enumerable: true }, + values: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(ReadableStream4.from, "from"); + setFunctionName(ReadableStream4.prototype.cancel, "cancel"); + setFunctionName(ReadableStream4.prototype.getReader, "getReader"); + setFunctionName(ReadableStream4.prototype.pipeThrough, "pipeThrough"); + setFunctionName(ReadableStream4.prototype.pipeTo, "pipeTo"); + setFunctionName(ReadableStream4.prototype.tee, "tee"); + setFunctionName(ReadableStream4.prototype.values, "values"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStream4.prototype, Symbol.toStringTag, { + value: "ReadableStream", + configurable: true + }); + } + Object.defineProperty(ReadableStream4.prototype, SymbolAsyncIterator, { + value: ReadableStream4.prototype.values, + writable: true, + configurable: true + }); + function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(ReadableStream4.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableStreamDefaultController2.prototype); + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { + const stream4 = Object.create(ReadableStream4.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableByteStreamController2.prototype); + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); + return stream4; + } + function InitializeReadableStream(stream4) { + stream4._state = "readable"; + stream4._reader = void 0; + stream4._storedError = void 0; + stream4._disturbed = false; + } + function IsReadableStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readableStreamController")) { + return false; + } + return x5 instanceof ReadableStream4; + } + function IsReadableStreamLocked(stream4) { + if (stream4._reader === void 0) { + return false; + } + return true; + } + function ReadableStreamCancel(stream4, reason) { + stream4._disturbed = true; + if (stream4._state === "closed") { + return promiseResolvedWith(void 0); + } + if (stream4._state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + ReadableStreamClose(stream4); + const reader = stream4._reader; + if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._closeSteps(void 0); + }); + } + const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); + return transformPromiseWith(sourceCancelPromise, noop2); + } + function ReadableStreamClose(stream4) { + stream4._state = "closed"; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseResolve(reader); + if (IsReadableStreamDefaultReader(reader)) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._closeSteps(); + }); + } + } + function ReadableStreamError(stream4, e3) { + stream4._state = "errored"; + stream4._storedError = e3; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseReject(reader, e3); + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } else { + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + } + function streamBrandCheckException$1(name) { + return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); + } + function convertQueuingStrategyInit(init, context) { + assertDictionary(init, context); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); + return { + highWaterMark: convertUnrestrictedDouble(highWaterMark) + }; + } + const byteLengthSizeFunction = (chunk) => { + return chunk.byteLength; + }; + setFunctionName(byteLengthSizeFunction, "size"); + class ByteLengthQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("highWaterMark"); + } + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("size"); + } + return byteLengthSizeFunction; + } + } + Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "ByteLengthQueuingStrategy", + configurable: true + }); + } + function byteLengthBrandCheckException(name) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); + } + function IsByteLengthQueuingStrategy(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_byteLengthQueuingStrategyHighWaterMark")) { + return false; + } + return x5 instanceof ByteLengthQueuingStrategy2; + } + const countSizeFunction = () => { + return 1; + }; + setFunctionName(countSizeFunction, "size"); + class CountQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "CountQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._countQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("highWaterMark"); + } + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("size"); + } + return countSizeFunction; + } + } + Object.defineProperties(CountQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "CountQueuingStrategy", + configurable: true + }); + } + function countBrandCheckException(name) { + return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); + } + function IsCountQueuingStrategy(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_countQueuingStrategyHighWaterMark")) { + return false; + } + return x5 instanceof CountQueuingStrategy2; + } + function convertTransformer(original, context) { + assertDictionary(original, context); + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const flush = original === null || original === void 0 ? void 0 : original.flush; + const readableType = original === null || original === void 0 ? void 0 : original.readableType; + const start = original === null || original === void 0 ? void 0 : original.start; + const transform = original === null || original === void 0 ? void 0 : original.transform; + const writableType = original === null || original === void 0 ? void 0 : original.writableType; + return { + cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context} has member 'cancel' that`), + flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context} has member 'flush' that`), + readableType, + start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context} has member 'start' that`), + transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context} has member 'transform' that`), + writableType + }; + } + function convertTransformerFlushCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertTransformerStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertTransformerTransformCallback(fn, original, context) { + assertFunction(fn, context); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function convertTransformerCancelCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + class TransformStream2 { + constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { + if (rawTransformer === void 0) { + rawTransformer = null; + } + const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); + const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); + const transformer = convertTransformer(rawTransformer, "First parameter"); + if (transformer.readableType !== void 0) { + throw new RangeError("Invalid readableType specified"); + } + if (transformer.writableType !== void 0) { + throw new RangeError("Invalid writableType specified"); + } + const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); + const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); + const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); + const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); + let startPromise_resolve; + const startPromise = newPromise((resolve) => { + startPromise_resolve = resolve; + }); + InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); + if (transformer.start !== void 0) { + startPromise_resolve(transformer.start(this._transformStreamController)); + } else { + startPromise_resolve(void 0); + } + } + get readable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("readable"); + } + return this._readable; + } + get writable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("writable"); + } + return this._writable; + } + } + Object.defineProperties(TransformStream2.prototype, { + readable: { enumerable: true }, + writable: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStream2.prototype, Symbol.toStringTag, { + value: "TransformStream", + configurable: true + }); + } + function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { + function startAlgorithm() { + return startPromise; + } + function writeAlgorithm(chunk) { + return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); + } + function abortAlgorithm(reason) { + return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); + } + function closeAlgorithm() { + return TransformStreamDefaultSinkCloseAlgorithm(stream4); + } + stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); + function pullAlgorithm() { + return TransformStreamDefaultSourcePullAlgorithm(stream4); + } + function cancelAlgorithm(reason) { + return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); + } + stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + stream4._backpressure = void 0; + stream4._backpressureChangePromise = void 0; + stream4._backpressureChangePromise_resolve = void 0; + TransformStreamSetBackpressure(stream4, true); + stream4._transformStreamController = void 0; + } + function IsTransformStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_transformStreamController")) { + return false; + } + return x5 instanceof TransformStream2; + } + function TransformStreamError(stream4, e3) { + ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + } + function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { + TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); + WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); + TransformStreamUnblockWrite(stream4); + } + function TransformStreamUnblockWrite(stream4) { + if (stream4._backpressure) { + TransformStreamSetBackpressure(stream4, false); + } + } + function TransformStreamSetBackpressure(stream4, backpressure) { + if (stream4._backpressureChangePromise !== void 0) { + stream4._backpressureChangePromise_resolve(); + } + stream4._backpressureChangePromise = newPromise((resolve) => { + stream4._backpressureChangePromise_resolve = resolve; + }); + stream4._backpressure = backpressure; + } + class TransformStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("desiredSize"); + } + const readableController = this._controlledTransformStream._readable._readableStreamController; + return ReadableStreamDefaultControllerGetDesiredSize(readableController); + } + enqueue(chunk = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("enqueue"); + } + TransformStreamDefaultControllerEnqueue(this, chunk); + } + error(reason = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("error"); + } + TransformStreamDefaultControllerError(this, reason); + } + terminate() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("terminate"); + } + TransformStreamDefaultControllerTerminate(this); + } + } + Object.defineProperties(TransformStreamDefaultController2.prototype, { + enqueue: { enumerable: true }, + error: { enumerable: true }, + terminate: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); + setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "TransformStreamDefaultController", + configurable: true + }); + } + function IsTransformStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledTransformStream")) { + return false; + } + return x5 instanceof TransformStreamDefaultController2; + } + function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { + controller._controlledTransformStream = stream4; + stream4._transformStreamController = controller; + controller._transformAlgorithm = transformAlgorithm; + controller._flushAlgorithm = flushAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._finishPromise = void 0; + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { + const controller = Object.create(TransformStreamDefaultController2.prototype); + let transformAlgorithm; + let flushAlgorithm; + let cancelAlgorithm; + if (transformer.transform !== void 0) { + transformAlgorithm = (chunk) => transformer.transform(chunk, controller); + } else { + transformAlgorithm = (chunk) => { + try { + TransformStreamDefaultControllerEnqueue(controller, chunk); + return promiseResolvedWith(void 0); + } catch (transformResultE) { + return promiseRejectedWith(transformResultE); + } + }; + } + if (transformer.flush !== void 0) { + flushAlgorithm = () => transformer.flush(controller); + } else { + flushAlgorithm = () => promiseResolvedWith(void 0); + } + if (transformer.cancel !== void 0) { + cancelAlgorithm = (reason) => transformer.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); + } + function TransformStreamDefaultControllerClearAlgorithms(controller) { + controller._transformAlgorithm = void 0; + controller._flushAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function TransformStreamDefaultControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { + throw new TypeError("Readable side is not in a state that permits enqueue"); + } + try { + ReadableStreamDefaultControllerEnqueue(readableController, chunk); + } catch (e3) { + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + throw stream4._readable._storedError; + } + const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); + if (backpressure !== stream4._backpressure) { + TransformStreamSetBackpressure(stream4, true); + } + } + function TransformStreamDefaultControllerError(controller, e3) { + TransformStreamError(controller._controlledTransformStream, e3); + } + function TransformStreamDefaultControllerPerformTransform(controller, chunk) { + const transformPromise = controller._transformAlgorithm(chunk); + return transformPromiseWith(transformPromise, void 0, (r3) => { + TransformStreamError(controller._controlledTransformStream, r3); + throw r3; + }); + } + function TransformStreamDefaultControllerTerminate(controller) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + ReadableStreamDefaultControllerClose(readableController); + const error = new TypeError("TransformStream terminated"); + TransformStreamErrorWritableAndUnblockWrite(stream4, error); + } + function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { + const controller = stream4._transformStreamController; + if (stream4._backpressure) { + const backpressureChangePromise = stream4._backpressureChangePromise; + return transformPromiseWith(backpressureChangePromise, () => { + const writable = stream4._writable; + const state = writable._state; + if (state === "erroring") { + throw writable._storedError; + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + }); + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + } + function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerError(readable._readableStreamController, reason); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSinkCloseAlgorithm(stream4) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const flushPromise = controller._flushAlgorithm(); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(flushPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerClose(readable._readableStreamController); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSourcePullAlgorithm(stream4) { + TransformStreamSetBackpressure(stream4, false); + return stream4._backpressureChangePromise; + } + function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const writable = stream4._writable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (writable._state === "errored") { + defaultControllerFinishPromiseReject(controller, writable._storedError); + } else { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function defaultControllerBrandCheckException(name) { + return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); + } + function defaultControllerFinishPromiseResolve(controller) { + if (controller._finishPromise_resolve === void 0) { + return; + } + controller._finishPromise_resolve(); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function defaultControllerFinishPromiseReject(controller, reason) { + if (controller._finishPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(controller._finishPromise); + controller._finishPromise_reject(reason); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function streamBrandCheckException(name) { + return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); + } + exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; + exports2.CountQueuingStrategy = CountQueuingStrategy2; + exports2.ReadableByteStreamController = ReadableByteStreamController2; + exports2.ReadableStream = ReadableStream4; + exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; + exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; + exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; + exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; + exports2.TransformStream = TransformStream2; + exports2.TransformStreamDefaultController = TransformStreamDefaultController2; + exports2.WritableStream = WritableStream2; + exports2.WritableStreamDefaultController = WritableStreamDefaultController2; + exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; + }); + } +}); + +// node_modules/node-domexception/index.js +var require_node_domexception = __commonJS({ + "node_modules/node-domexception/index.js"(exports, module2) { + if (!globalThis.DOMException) { + try { + const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); + port.postMessage(ab, [ab, ab]); + } catch (err) { + err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); + } + } + module2.exports = globalThis.DOMException; + } +}); + +// node_modules/formdata-node/lib/esm/isPlainObject.js +function isPlainObject3(value) { + if (getType2(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var getType2, isPlainObject_default2; +var init_isPlainObject = __esm({ + "node_modules/formdata-node/lib/esm/isPlainObject.js"() { + getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); + isPlainObject_default2 = isPlainObject3; + } +}); + +// node_modules/formdata-node/lib/esm/fileFromPath.js +var fileFromPath_exports = {}; +__export(fileFromPath_exports, { + fileFromPath: () => fileFromPath2, + fileFromPathSync: () => fileFromPathSync, + isFile: () => isFile2 +}); +function createFileFromPath(path5, { mtimeMs, size }, filenameOrOptions, options = {}) { + let filename; + if (isPlainObject_default2(filenameOrOptions)) { + [options, filename] = [filenameOrOptions, void 0]; + } else { + filename = filenameOrOptions; + } + const file = new FileFromPath({ path: path5, size, lastModified: mtimeMs }); + if (!filename) { + filename = file.name; + } + return new File2([file], filename, { + ...options, + lastModified: file.lastModified + }); +} +function fileFromPathSync(path5, filenameOrOptions, options = {}) { + const stats = (0, import_fs2.statSync)(path5); + return createFileFromPath(path5, stats, filenameOrOptions, options); +} +async function fileFromPath2(path5, filenameOrOptions, options) { + const stats = await import_fs2.promises.stat(path5); + return createFileFromPath(path5, stats, filenameOrOptions, options); +} +var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet4, __classPrivateFieldGet5, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; +var init_fileFromPath = __esm({ + "node_modules/formdata-node/lib/esm/fileFromPath.js"() { + import_fs2 = require("fs"); + import_path3 = require("path"); + import_node_domexception = __toESM(require_node_domexception(), 1); + init_File(); + init_isPlainObject(); + init_isFile(); + __classPrivateFieldSet4 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + __classPrivateFieldGet5 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; + FileFromPath = class { + constructor(input) { + _FileFromPath_path.set(this, void 0); + _FileFromPath_start.set(this, void 0); + __classPrivateFieldSet4(this, _FileFromPath_path, input.path, "f"); + __classPrivateFieldSet4(this, _FileFromPath_start, input.start || 0, "f"); + this.name = (0, import_path3.basename)(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); + this.size = input.size; + this.lastModified = input.lastModified; + } + slice(start, end) { + return new FileFromPath({ + path: __classPrivateFieldGet5(this, _FileFromPath_path, "f"), + lastModified: this.lastModified, + size: end - start, + start + }); + } + async *stream() { + const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); + if (mtimeMs > this.lastModified) { + throw new import_node_domexception.default(MESSAGE, "NotReadableError"); + } + if (this.size) { + yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet5(this, _FileFromPath_path, "f"), { + start: __classPrivateFieldGet5(this, _FileFromPath_start, "f"), + end: __classPrivateFieldGet5(this, _FileFromPath_start, "f") + this.size - 1 + }); + } + } + get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { + return "File"; + } + }; + } +}); + // node_modules/ignore/index.js var require_ignore = __commonJS({ "node_modules/ignore/index.js"(exports, module2) { @@ -15386,7 +25934,7 @@ var require_ignore = __commonJS({ TMP_KEY_IGNORE = Symbol.for("node-ignore"); } var KEY_IGNORE = TMP_KEY_IGNORE; - var define = (object, key, value) => Object.defineProperty(object, key, { value }); + var define2 = (object, key, value) => Object.defineProperty(object, key, { value }); var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; var RETURN_FALSE = () => false; var sanitizeRange = (range) => range.replace( @@ -15398,6 +25946,10 @@ var require_ignore = __commonJS({ return slashes.slice(0, length - length % 2); }; var REPLACERS = [ + [ + /^\uFEFF/, + () => EMPTY + ], [ /\\?\s+$/, (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY @@ -15434,11 +25986,11 @@ var require_ignore = __commonJS({ ], [ /\\\/\\\*\\\*(?=\\\/|$)/g, - (_6, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" + (_7, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" ], [ /(^|[^\\]+)(\\\*)+(?=.+)/g, - (_6, p1, p22) => { + (_7, p1, p22) => { const unescaped = p22.replace(/\\\*/g, "[^\\/]*"); return p1 + unescaped; } @@ -15461,7 +26013,7 @@ var require_ignore = __commonJS({ ], [ /(\^|\\\/)?\\\*$/, - (_6, p1) => { + (_7, p1) => { const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; return `${prefix}(?=$|\\/$)`; } @@ -15520,9 +26072,9 @@ var require_ignore = __commonJS({ return doThrow(`path must not be empty`, TypeError); } if (checkPath.isNotRelative(path5)) { - const r2 = "`path.relative()`d"; + const r3 = "`path.relative()`d"; return doThrow( - `path should be a ${r2} string, but got "${originalPath}"`, + `path should be a ${r3} string, but got "${originalPath}"`, RangeError ); } @@ -15537,7 +26089,7 @@ var require_ignore = __commonJS({ ignoreCase = ignorecase, allowRelativePaths = false } = {}) { - define(this, KEY_IGNORE, true); + define2(this, KEY_IGNORE, true); this._rules = []; this._ignoreCase = ignoreCase; this._allowRelativePaths = allowRelativePaths; @@ -15652,139 +26204,139 @@ var k = "unknown-flag"; var C = "argument"; var { stringify: h } = JSON; var O = /\B([A-Z])/g; -var v = (t) => t.replace(O, "-$1").toLowerCase(); +var v = (t2) => t2.replace(O, "-$1").toLowerCase(); var { hasOwnProperty: D } = Object.prototype; -var w = (t, n) => D.call(t, n); -var L = (t) => Array.isArray(t); -var b = (t) => typeof t == "function" ? [t, false] : L(t) ? [t[0], true] : b(t.type); -var d = (t, n) => t === Boolean ? n !== "false" : n; -var m = (t, n) => typeof n == "boolean" ? n : t === Number && n === "" ? Number.NaN : t(n); +var w = (t2, n2) => D.call(t2, n2); +var L = (t2) => Array.isArray(t2); +var b = (t2) => typeof t2 == "function" ? [t2, false] : L(t2) ? [t2[0], true] : b(t2.type); +var d = (t2, n2) => t2 === Boolean ? n2 !== "false" : n2; +var m = (t2, n2) => typeof n2 == "boolean" ? n2 : t2 === Number && n2 === "" ? Number.NaN : t2(n2); var R = /[\s.:=]/; -var B = (t) => { - const n = `Flag name ${h(t)}`; - if (t.length === 0) - throw new Error(`${n} cannot be empty`); - if (t.length === 1) - throw new Error(`${n} must be longer than a character`); - const r2 = t.match(R); - if (r2) - throw new Error(`${n} cannot contain ${h(r2?.[0])}`); +var B = (t2) => { + const n2 = `Flag name ${h(t2)}`; + if (t2.length === 0) + throw new Error(`${n2} cannot be empty`); + if (t2.length === 1) + throw new Error(`${n2} must be longer than a character`); + const r3 = t2.match(R); + if (r3) + throw new Error(`${n2} cannot contain ${h(r3?.[0])}`); }; -var K = (t) => { - const n = {}, r2 = (e2, o2) => { - if (w(n, e2)) - throw new Error(`Duplicate flags named ${h(e2)}`); - n[e2] = o2; +var K = (t2) => { + const n2 = {}, r3 = (e3, o3) => { + if (w(n2, e3)) + throw new Error(`Duplicate flags named ${h(e3)}`); + n2[e3] = o3; }; - for (const e2 in t) { - if (!w(t, e2)) + for (const e3 in t2) { + if (!w(t2, e3)) continue; - B(e2); - const o2 = t[e2], s = [[], ...b(o2), o2]; - r2(e2, s); - const i2 = v(e2); - if (e2 !== i2 && r2(i2, s), "alias" in o2 && typeof o2.alias == "string") { - const { alias: a2 } = o2, l = `Flag alias ${h(a2)} for flag ${h(e2)}`; - if (a2.length === 0) - throw new Error(`${l} cannot be empty`); - if (a2.length > 1) - throw new Error(`${l} must be a single character`); - r2(a2, s); + B(e3); + const o3 = t2[e3], s2 = [[], ...b(o3), o3]; + r3(e3, s2); + const i3 = v(e3); + if (e3 !== i3 && r3(i3, s2), "alias" in o3 && typeof o3.alias == "string") { + const { alias: a4 } = o3, l3 = `Flag alias ${h(a4)} for flag ${h(e3)}`; + if (a4.length === 0) + throw new Error(`${l3} cannot be empty`); + if (a4.length > 1) + throw new Error(`${l3} must be a single character`); + r3(a4, s2); } } - return n; + return n2; }; -var _ = (t, n) => { - const r2 = {}; - for (const e2 in t) { - if (!w(t, e2)) +var _ = (t2, n2) => { + const r3 = {}; + for (const e3 in t2) { + if (!w(t2, e3)) continue; - const [o2, , s, i2] = n[e2]; - if (o2.length === 0 && "default" in i2) { - let { default: a2 } = i2; - typeof a2 == "function" && (a2 = a2()), r2[e2] = a2; + const [o3, , s2, i3] = n2[e3]; + if (o3.length === 0 && "default" in i3) { + let { default: a4 } = i3; + typeof a4 == "function" && (a4 = a4()), r3[e3] = a4; } else - r2[e2] = s ? o2 : o2.pop(); + r3[e3] = s2 ? o3 : o3.pop(); } - return r2; + return r3; }; var F = "--"; var G = /[.:=]/; var T = /^-{1,2}\w/; -var N = (t) => { - if (!T.test(t)) +var N = (t2) => { + if (!T.test(t2)) return; - const n = !t.startsWith(F); - let r2 = t.slice(n ? 1 : 2), e2; - const o2 = r2.match(G); - if (o2) { - const { index: s } = o2; - e2 = r2.slice(s + 1), r2 = r2.slice(0, s); + const n2 = !t2.startsWith(F); + let r3 = t2.slice(n2 ? 1 : 2), e3; + const o3 = r3.match(G); + if (o3) { + const { index: s2 } = o3; + e3 = r3.slice(s2 + 1), r3 = r3.slice(0, s2); } - return [r2, e2, n]; + return [r3, e3, n2]; }; -var $ = (t, { onFlag: n, onArgument: r2 }) => { - let e2; - const o2 = (s, i2) => { - if (typeof e2 != "function") +var $ = (t2, { onFlag: n2, onArgument: r3 }) => { + let e3; + const o3 = (s2, i3) => { + if (typeof e3 != "function") return true; - e2(s, i2), e2 = void 0; + e3(s2, i3), e3 = void 0; }; - for (let s = 0; s < t.length; s += 1) { - const i2 = t[s]; - if (i2 === F) { - o2(); - const l = t.slice(s + 1); - r2?.(l, [s], true); + for (let s2 = 0; s2 < t2.length; s2 += 1) { + const i3 = t2[s2]; + if (i3 === F) { + o3(); + const l3 = t2.slice(s2 + 1); + r3?.(l3, [s2], true); break; } - const a2 = N(i2); - if (a2) { - if (o2(), !n) + const a4 = N(i3); + if (a4) { + if (o3(), !n2) continue; - const [l, f3, g3] = a2; - if (g3) - for (let c3 = 0; c3 < l.length; c3 += 1) { - o2(); - const u2 = c3 === l.length - 1; - e2 = n(l[c3], u2 ? f3 : void 0, [s, c3 + 1, u2]); + const [l3, f4, g4] = a4; + if (g4) + for (let c3 = 0; c3 < l3.length; c3 += 1) { + o3(); + const u3 = c3 === l3.length - 1; + e3 = n2(l3[c3], u3 ? f4 : void 0, [s2, c3 + 1, u3]); } else - e2 = n(l, f3, [s]); + e3 = n2(l3, f4, [s2]); } else - o2(i2, [s]) && r2?.([i2], [s]); + o3(i3, [s2]) && r3?.([i3], [s2]); } - o2(); + o3(); }; -var E = (t, n) => { - for (const [r2, e2, o2] of n.reverse()) { - if (e2) { - const s = t[r2]; - let i2 = s.slice(0, e2); - if (o2 || (i2 += s.slice(e2 + 1)), i2 !== "-") { - t[r2] = i2; +var E = (t2, n2) => { + for (const [r3, e3, o3] of n2.reverse()) { + if (e3) { + const s2 = t2[r3]; + let i3 = s2.slice(0, e3); + if (o3 || (i3 += s2.slice(e3 + 1)), i3 !== "-") { + t2[r3] = i3; continue; } } - t.splice(r2, 1); + t2.splice(r3, 1); } }; -var U = (t, n = process.argv.slice(2), { ignore: r2 } = {}) => { - const e2 = [], o2 = K(t), s = {}, i2 = []; - return i2[F] = [], $(n, { onFlag(a2, l, f3) { - const g3 = w(o2, a2); - if (!r2?.(g3 ? V : k, a2, l)) { - if (g3) { - const [c3, u2] = o2[a2], y5 = d(u2, l), p4 = (P3, A3) => { - e2.push(f3), A3 && e2.push(A3), c3.push(m(u2, P3 || "")); +var U = (t2, n2 = process.argv.slice(2), { ignore: r3 } = {}) => { + const e3 = [], o3 = K(t2), s2 = {}, i3 = []; + return i3[F] = [], $(n2, { onFlag(a4, l3, f4) { + const g4 = w(o3, a4); + if (!r3?.(g4 ? V : k, a4, l3)) { + if (g4) { + const [c3, u3] = o3[a4], y6 = d(u3, l3), p4 = (P4, A5) => { + e3.push(f4), A5 && e3.push(A5), c3.push(m(u3, P4 || "")); }; - return y5 === void 0 ? p4 : p4(y5); + return y6 === void 0 ? p4 : p4(y6); } - w(s, a2) || (s[a2] = []), s[a2].push(l === void 0 ? true : l), e2.push(f3); + w(s2, a4) || (s2[a4] = []), s2[a4].push(l3 === void 0 ? true : l3), e3.push(f4); } - }, onArgument(a2, l, f3) { - r2?.(C, n[l[0]]) || (i2.push(...a2), f3 ? (i2[F] = a2, n.splice(l[0])) : e2.push(l)); - } }), E(n, e2), { flags: _(t, o2), unknownFlags: s, _: i2 }; + }, onArgument(a4, l3, f4) { + r3?.(C, n2[l3[0]]) || (i3.push(...a4), f4 ? (i3[F] = a4, n2.splice(l3[0])) : e3.push(l3)); + } }), E(n2, e3), { flags: _(t2, o3), unknownFlags: s2, _: i3 }; }; // node_modules/cleye/dist/index.mjs @@ -15801,200 +26353,200 @@ var I = Object.getOwnPropertySymbols; var ED = Object.getPrototypeOf; var L2 = Object.prototype.hasOwnProperty; var eD = Object.prototype.propertyIsEnumerable; -var W = (D4, F4, u2) => F4 in D4 ? m2(D4, F4, { enumerable: true, configurable: true, writable: true, value: u2 }) : D4[F4] = u2; -var p = (D4, F4) => { - for (var u2 in F4 || (F4 = {})) - L2.call(F4, u2) && W(D4, u2, F4[u2]); +var W = (D5, F5, u3) => F5 in D5 ? m2(D5, F5, { enumerable: true, configurable: true, writable: true, value: u3 }) : D5[F5] = u3; +var p = (D5, F5) => { + for (var u3 in F5 || (F5 = {})) + L2.call(F5, u3) && W(D5, u3, F5[u3]); if (I) - for (var u2 of I(F4)) - eD.call(F4, u2) && W(D4, u2, F4[u2]); - return D4; + for (var u3 of I(F5)) + eD.call(F5, u3) && W(D5, u3, F5[u3]); + return D5; }; -var c = (D4, F4) => uD(D4, CD(F4)); -var nD = (D4) => m2(D4, "__esModule", { value: true }); -var rD = (D4, F4) => () => (D4 && (F4 = D4(D4 = 0)), F4); -var iD = (D4, F4) => () => (F4 || D4((F4 = { exports: {} }).exports, F4), F4.exports); -var oD = (D4, F4, u2, C4) => { - if (F4 && typeof F4 == "object" || typeof F4 == "function") - for (let t of tD(F4)) - !L2.call(D4, t) && (u2 || t !== "default") && m2(D4, t, { get: () => F4[t], enumerable: !(C4 = FD(F4, t)) || C4.enumerable }); - return D4; +var c = (D5, F5) => uD(D5, CD(F5)); +var nD = (D5) => m2(D5, "__esModule", { value: true }); +var rD = (D5, F5) => () => (D5 && (F5 = D5(D5 = 0)), F5); +var iD = (D5, F5) => () => (F5 || D5((F5 = { exports: {} }).exports, F5), F5.exports); +var oD = (D5, F5, u3, C5) => { + if (F5 && typeof F5 == "object" || typeof F5 == "function") + for (let t2 of tD(F5)) + !L2.call(D5, t2) && (u3 || t2 !== "default") && m2(D5, t2, { get: () => F5[t2], enumerable: !(C5 = FD(F5, t2)) || C5.enumerable }); + return D5; }; -var BD = (D4, F4) => oD(nD(m2(D4 != null ? DD(ED(D4)) : {}, "default", !F4 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); +var BD = (D5, F5) => oD(nD(m2(D5 != null ? DD(ED(D5)) : {}, "default", !F5 && D5 && D5.__esModule ? { get: () => D5.default, enumerable: true } : { value: D5, enumerable: true })), D5); var i = rD(() => { }); -var $2 = iD((LD, N5) => { +var $2 = iD((LD, N6) => { "use strict"; i(); - N5.exports = function() { + N6.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); i(); i(); i(); -var v2 = (D4) => { - var u2, C4, t; - let F4 = (u2 = process.stdout.columns) != null ? u2 : Number.POSITIVE_INFINITY; - return typeof D4 == "function" && (D4 = D4(F4)), D4 || (D4 = {}), Array.isArray(D4) ? { columns: D4, stdoutColumns: F4 } : { columns: (C4 = D4.columns) != null ? C4 : [], stdoutColumns: (t = D4.stdoutColumns) != null ? t : F4 }; +var v2 = (D5) => { + var u3, C5, t2; + let F5 = (u3 = process.stdout.columns) != null ? u3 : Number.POSITIVE_INFINITY; + return typeof D5 == "function" && (D5 = D5(F5)), D5 || (D5 = {}), Array.isArray(D5) ? { columns: D5, stdoutColumns: F5 } : { columns: (C5 = D5.columns) != null ? C5 : [], stdoutColumns: (t2 = D5.stdoutColumns) != null ? t2 : F5 }; }; i(); i(); i(); i(); i(); -function w2({ onlyFirst: D4 = false } = {}) { - let F4 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(F4, D4 ? void 0 : "g"); +function w2({ onlyFirst: D5 = false } = {}) { + let F5 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(F5, D5 ? void 0 : "g"); } -function d2(D4) { - if (typeof D4 != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof D4}\``); - return D4.replace(w2(), ""); +function d2(D5) { + if (typeof D5 != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof D5}\``); + return D5.replace(w2(), ""); } i(); -function y(D4) { - return Number.isInteger(D4) ? D4 >= 4352 && (D4 <= 4447 || D4 === 9001 || D4 === 9002 || 11904 <= D4 && D4 <= 12871 && D4 !== 12351 || 12880 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65131 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 262141) : false; +function y(D5) { + return Number.isInteger(D5) ? D5 >= 4352 && (D5 <= 4447 || D5 === 9001 || D5 === 9002 || 11904 <= D5 && D5 <= 12871 && D5 !== 12351 || 12880 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65131 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 262141) : false; } var j = BD($2(), 1); -function g(D4) { - if (typeof D4 != "string" || D4.length === 0 || (D4 = d2(D4), D4.length === 0)) +function g(D5) { + if (typeof D5 != "string" || D5.length === 0 || (D5 = d2(D5), D5.length === 0)) return 0; - D4 = D4.replace((0, j.default)(), " "); - let F4 = 0; - for (let u2 = 0; u2 < D4.length; u2++) { - let C4 = D4.codePointAt(u2); - C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879 || (C4 > 65535 && u2++, F4 += y(C4) ? 2 : 1); + D5 = D5.replace((0, j.default)(), " "); + let F5 = 0; + for (let u3 = 0; u3 < D5.length; u3++) { + let C5 = D5.codePointAt(u3); + C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879 || (C5 > 65535 && u3++, F5 += y(C5) ? 2 : 1); } - return F4; + return F5; } -var b2 = (D4) => Math.max(...D4.split(` +var b2 = (D5) => Math.max(...D5.split(` `).map(g)); -var k2 = (D4) => { - let F4 = []; - for (let u2 of D4) { - let { length: C4 } = u2, t = C4 - F4.length; - for (let E3 = 0; E3 < t; E3 += 1) - F4.push(0); - for (let E3 = 0; E3 < C4; E3 += 1) { - let e2 = b2(u2[E3]); - e2 > F4[E3] && (F4[E3] = e2); +var k2 = (D5) => { + let F5 = []; + for (let u3 of D5) { + let { length: C5 } = u3, t2 = C5 - F5.length; + for (let E4 = 0; E4 < t2; E4 += 1) + F5.push(0); + for (let E4 = 0; E4 < C5; E4 += 1) { + let e3 = b2(u3[E4]); + e3 > F5[E4] && (F5[E4] = e3); } } - return F4; + return F5; }; i(); var _2 = /^\d+%$/; var z = { width: "auto", align: "left", contentWidth: 0, paddingLeft: 0, paddingRight: 0, paddingTop: 0, paddingBottom: 0, horizontalPadding: 0, paddingLeftString: "", paddingRightString: "" }; -var sD = (D4, F4) => { - var C4; - let u2 = []; - for (let t = 0; t < D4.length; t += 1) { - let E3 = (C4 = F4[t]) != null ? C4 : "auto"; - if (typeof E3 == "number" || E3 === "auto" || E3 === "content-width" || typeof E3 == "string" && _2.test(E3)) { - u2.push(c(p({}, z), { width: E3, contentWidth: D4[t] })); +var sD = (D5, F5) => { + var C5; + let u3 = []; + for (let t2 = 0; t2 < D5.length; t2 += 1) { + let E4 = (C5 = F5[t2]) != null ? C5 : "auto"; + if (typeof E4 == "number" || E4 === "auto" || E4 === "content-width" || typeof E4 == "string" && _2.test(E4)) { + u3.push(c(p({}, z), { width: E4, contentWidth: D5[t2] })); continue; } - if (E3 && typeof E3 == "object") { - let e2 = c(p(p({}, z), E3), { contentWidth: D4[t] }); - e2.horizontalPadding = e2.paddingLeft + e2.paddingRight, u2.push(e2); + if (E4 && typeof E4 == "object") { + let e3 = c(p(p({}, z), E4), { contentWidth: D5[t2] }); + e3.horizontalPadding = e3.paddingLeft + e3.paddingRight, u3.push(e3); continue; } - throw new Error(`Invalid column width: ${JSON.stringify(E3)}`); + throw new Error(`Invalid column width: ${JSON.stringify(E4)}`); } - return u2; + return u3; }; -function aD(D4, F4) { - for (let u2 of D4) { - let { width: C4 } = u2; - if (C4 === "content-width" && (u2.width = u2.contentWidth), C4 === "auto") { - let n = Math.min(20, u2.contentWidth); - u2.width = n, u2.autoOverflow = u2.contentWidth - n; +function aD(D5, F5) { + for (let u3 of D5) { + let { width: C5 } = u3; + if (C5 === "content-width" && (u3.width = u3.contentWidth), C5 === "auto") { + let n2 = Math.min(20, u3.contentWidth); + u3.width = n2, u3.autoOverflow = u3.contentWidth - n2; } - if (typeof C4 == "string" && _2.test(C4)) { - let n = Number.parseFloat(C4.slice(0, -1)) / 100; - u2.width = Math.floor(F4 * n) - (u2.paddingLeft + u2.paddingRight); + if (typeof C5 == "string" && _2.test(C5)) { + let n2 = Number.parseFloat(C5.slice(0, -1)) / 100; + u3.width = Math.floor(F5 * n2) - (u3.paddingLeft + u3.paddingRight); } - let { horizontalPadding: t } = u2, E3 = 1, e2 = E3 + t; - if (e2 >= F4) { - let n = e2 - F4, o2 = Math.ceil(u2.paddingLeft / t * n), B2 = n - o2; - u2.paddingLeft -= o2, u2.paddingRight -= B2, u2.horizontalPadding = u2.paddingLeft + u2.paddingRight; + let { horizontalPadding: t2 } = u3, E4 = 1, e3 = E4 + t2; + if (e3 >= F5) { + let n2 = e3 - F5, o3 = Math.ceil(u3.paddingLeft / t2 * n2), B3 = n2 - o3; + u3.paddingLeft -= o3, u3.paddingRight -= B3, u3.horizontalPadding = u3.paddingLeft + u3.paddingRight; } - u2.paddingLeftString = u2.paddingLeft ? " ".repeat(u2.paddingLeft) : "", u2.paddingRightString = u2.paddingRight ? " ".repeat(u2.paddingRight) : ""; - let r2 = F4 - u2.horizontalPadding; - u2.width = Math.max(Math.min(u2.width, r2), E3); + u3.paddingLeftString = u3.paddingLeft ? " ".repeat(u3.paddingLeft) : "", u3.paddingRightString = u3.paddingRight ? " ".repeat(u3.paddingRight) : ""; + let r3 = F5 - u3.horizontalPadding; + u3.width = Math.max(Math.min(u3.width, r3), E4); } } var G2 = () => Object.assign([], { columns: 0 }); -function lD(D4, F4) { - let u2 = [G2()], [C4] = u2; - for (let t of D4) { - let E3 = t.width + t.horizontalPadding; - C4.columns + E3 > F4 && (C4 = G2(), u2.push(C4)), C4.push(t), C4.columns += E3; +function lD(D5, F5) { + let u3 = [G2()], [C5] = u3; + for (let t2 of D5) { + let E4 = t2.width + t2.horizontalPadding; + C5.columns + E4 > F5 && (C5 = G2(), u3.push(C5)), C5.push(t2), C5.columns += E4; } - for (let t of u2) { - let E3 = t.reduce((s, l) => s + l.width + l.horizontalPadding, 0), e2 = F4 - E3; - if (e2 === 0) + for (let t2 of u3) { + let E4 = t2.reduce((s2, l3) => s2 + l3.width + l3.horizontalPadding, 0), e3 = F5 - E4; + if (e3 === 0) continue; - let r2 = t.filter((s) => "autoOverflow" in s), n = r2.filter((s) => s.autoOverflow > 0), o2 = n.reduce((s, l) => s + l.autoOverflow, 0), B2 = Math.min(o2, e2); - for (let s of n) { - let l = Math.floor(s.autoOverflow / o2 * B2); - s.width += l, e2 -= l; + let r3 = t2.filter((s2) => "autoOverflow" in s2), n2 = r3.filter((s2) => s2.autoOverflow > 0), o3 = n2.reduce((s2, l3) => s2 + l3.autoOverflow, 0), B3 = Math.min(o3, e3); + for (let s2 of n2) { + let l3 = Math.floor(s2.autoOverflow / o3 * B3); + s2.width += l3, e3 -= l3; } - let a2 = Math.floor(e2 / r2.length); - for (let s = 0; s < r2.length; s += 1) { - let l = r2[s]; - s === r2.length - 1 ? l.width += e2 : l.width += a2, e2 -= a2; + let a4 = Math.floor(e3 / r3.length); + for (let s2 = 0; s2 < r3.length; s2 += 1) { + let l3 = r3[s2]; + s2 === r3.length - 1 ? l3.width += e3 : l3.width += a4, e3 -= a4; } } - return u2; + return u3; } -function Z(D4, F4, u2) { - let C4 = sD(u2, F4); - return aD(C4, D4), lD(C4, D4); +function Z(D5, F5, u3) { + let C5 = sD(u3, F5); + return aD(C5, D5), lD(C5, D5); } i(); i(); i(); var O2 = 10; -var U2 = (D4 = 0) => (F4) => `\x1B[${F4 + D4}m`; -var V2 = (D4 = 0) => (F4) => `\x1B[${38 + D4};5;${F4}m`; -var Y = (D4 = 0) => (F4, u2, C4) => `\x1B[${38 + D4};2;${F4};${u2};${C4}m`; +var U2 = (D5 = 0) => (F5) => `\x1B[${F5 + D5}m`; +var V2 = (D5 = 0) => (F5) => `\x1B[${38 + D5};5;${F5}m`; +var Y = (D5 = 0) => (F5, u3, C5) => `\x1B[${38 + D5};2;${F5};${u3};${C5}m`; function AD() { - let D4 = /* @__PURE__ */ new Map(), F4 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F4.color.gray = F4.color.blackBright, F4.bgColor.bgGray = F4.bgColor.bgBlackBright, F4.color.grey = F4.color.blackBright, F4.bgColor.bgGrey = F4.bgColor.bgBlackBright; - for (let [u2, C4] of Object.entries(F4)) { - for (let [t, E3] of Object.entries(C4)) - F4[t] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C4[t] = F4[t], D4.set(E3[0], E3[1]); - Object.defineProperty(F4, u2, { value: C4, enumerable: false }); + let D5 = /* @__PURE__ */ new Map(), F5 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F5.color.gray = F5.color.blackBright, F5.bgColor.bgGray = F5.bgColor.bgBlackBright, F5.color.grey = F5.color.blackBright, F5.bgColor.bgGrey = F5.bgColor.bgBlackBright; + for (let [u3, C5] of Object.entries(F5)) { + for (let [t2, E4] of Object.entries(C5)) + F5[t2] = { open: `\x1B[${E4[0]}m`, close: `\x1B[${E4[1]}m` }, C5[t2] = F5[t2], D5.set(E4[0], E4[1]); + Object.defineProperty(F5, u3, { value: C5, enumerable: false }); } - return Object.defineProperty(F4, "codes", { value: D4, enumerable: false }), F4.color.close = "\x1B[39m", F4.bgColor.close = "\x1B[49m", F4.color.ansi = U2(), F4.color.ansi256 = V2(), F4.color.ansi16m = Y(), F4.bgColor.ansi = U2(O2), F4.bgColor.ansi256 = V2(O2), F4.bgColor.ansi16m = Y(O2), Object.defineProperties(F4, { rgbToAnsi256: { value: (u2, C4, t) => u2 === C4 && C4 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C4 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - let C4 = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); - if (!C4) + return Object.defineProperty(F5, "codes", { value: D5, enumerable: false }), F5.color.close = "\x1B[39m", F5.bgColor.close = "\x1B[49m", F5.color.ansi = U2(), F5.color.ansi256 = V2(), F5.color.ansi16m = Y(), F5.bgColor.ansi = U2(O2), F5.bgColor.ansi256 = V2(O2), F5.bgColor.ansi16m = Y(O2), Object.defineProperties(F5, { rgbToAnsi256: { value: (u3, C5, t2) => u3 === C5 && C5 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C5 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + let C5 = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); + if (!C5) return [0, 0, 0]; - let { colorString: t } = C4.groups; - t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); - let E3 = Number.parseInt(t, 16); - return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => F4.rgbToAnsi256(...F4.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let C4, t, E3; - if (u2 >= 232) - C4 = ((u2 - 232) * 10 + 8) / 255, t = C4, E3 = C4; + let { colorString: t2 } = C5.groups; + t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); + let E4 = Number.parseInt(t2, 16); + return [E4 >> 16 & 255, E4 >> 8 & 255, E4 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => F5.rgbToAnsi256(...F5.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let C5, t2, E4; + if (u3 >= 232) + C5 = ((u3 - 232) * 10 + 8) / 255, t2 = C5, E4 = C5; else { - u2 -= 16; - let n = u2 % 36; - C4 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E3 = n % 6 / 5; + u3 -= 16; + let n2 = u3 % 36; + C5 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E4 = n2 % 6 / 5; } - let e2 = Math.max(C4, t, E3) * 2; - if (e2 === 0) + let e3 = Math.max(C5, t2, E4) * 2; + if (e3 === 0) return 30; - let r2 = 30 + (Math.round(E3) << 2 | Math.round(t) << 1 | Math.round(C4)); - return e2 === 2 && (r2 += 60), r2; - }, enumerable: false }, rgbToAnsi: { value: (u2, C4, t) => F4.ansi256ToAnsi(F4.rgbToAnsi256(u2, C4, t)), enumerable: false }, hexToAnsi: { value: (u2) => F4.ansi256ToAnsi(F4.hexToAnsi256(u2)), enumerable: false } }), F4; + let r3 = 30 + (Math.round(E4) << 2 | Math.round(t2) << 1 | Math.round(C5)); + return e3 === 2 && (r3 += 60), r3; + }, enumerable: false }, rgbToAnsi: { value: (u3, C5, t2) => F5.ansi256ToAnsi(F5.rgbToAnsi256(u3, C5, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F5.ansi256ToAnsi(F5.hexToAnsi256(u3)), enumerable: false } }), F5; } var fD = AD(); var K2 = fD; @@ -16005,386 +26557,386 @@ var q = "["; var pD = "]"; var H = "m"; var M = `${pD}8;;`; -var J = (D4) => `${x.values().next().value}${q}${D4}${H}`; -var Q = (D4) => `${x.values().next().value}${M}${D4}${R2}`; -var hD = (D4) => D4.split(" ").map((F4) => g(F4)); -var S = (D4, F4, u2) => { - let C4 = [...F4], t = false, E3 = false, e2 = g(d2(D4[D4.length - 1])); - for (let [r2, n] of C4.entries()) { - let o2 = g(n); - if (e2 + o2 <= u2 ? D4[D4.length - 1] += n : (D4.push(n), e2 = 0), x.has(n) && (t = true, E3 = C4.slice(r2 + 1).join("").startsWith(M)), t) { - E3 ? n === R2 && (t = false, E3 = false) : n === H && (t = false); +var J = (D5) => `${x.values().next().value}${q}${D5}${H}`; +var Q = (D5) => `${x.values().next().value}${M}${D5}${R2}`; +var hD = (D5) => D5.split(" ").map((F5) => g(F5)); +var S = (D5, F5, u3) => { + let C5 = [...F5], t2 = false, E4 = false, e3 = g(d2(D5[D5.length - 1])); + for (let [r3, n2] of C5.entries()) { + let o3 = g(n2); + if (e3 + o3 <= u3 ? D5[D5.length - 1] += n2 : (D5.push(n2), e3 = 0), x.has(n2) && (t2 = true, E4 = C5.slice(r3 + 1).join("").startsWith(M)), t2) { + E4 ? n2 === R2 && (t2 = false, E4 = false) : n2 === H && (t2 = false); continue; } - e2 += o2, e2 === u2 && r2 < C4.length - 1 && (D4.push(""), e2 = 0); + e3 += o3, e3 === u3 && r3 < C5.length - 1 && (D5.push(""), e3 = 0); } - !e2 && D4[D4.length - 1].length > 0 && D4.length > 1 && (D4[D4.length - 2] += D4.pop()); + !e3 && D5[D5.length - 1].length > 0 && D5.length > 1 && (D5[D5.length - 2] += D5.pop()); }; -var cD = (D4) => { - let F4 = D4.split(" "), u2 = F4.length; - for (; u2 > 0 && !(g(F4[u2 - 1]) > 0); ) - u2--; - return u2 === F4.length ? D4 : F4.slice(0, u2).join(" ") + F4.slice(u2).join(""); +var cD = (D5) => { + let F5 = D5.split(" "), u3 = F5.length; + for (; u3 > 0 && !(g(F5[u3 - 1]) > 0); ) + u3--; + return u3 === F5.length ? D5 : F5.slice(0, u3).join(" ") + F5.slice(u3).join(""); }; -var dD = (D4, F4, u2 = {}) => { - if (u2.trim !== false && D4.trim() === "") +var dD = (D5, F5, u3 = {}) => { + if (u3.trim !== false && D5.trim() === "") return ""; - let C4 = "", t, E3, e2 = hD(D4), r2 = [""]; - for (let [o2, B2] of D4.split(" ").entries()) { - u2.trim !== false && (r2[r2.length - 1] = r2[r2.length - 1].trimStart()); - let a2 = g(r2[r2.length - 1]); - if (o2 !== 0 && (a2 >= F4 && (u2.wordWrap === false || u2.trim === false) && (r2.push(""), a2 = 0), (a2 > 0 || u2.trim === false) && (r2[r2.length - 1] += " ", a2++)), u2.hard && e2[o2] > F4) { - let s = F4 - a2, l = 1 + Math.floor((e2[o2] - s - 1) / F4); - Math.floor((e2[o2] - 1) / F4) < l && r2.push(""), S(r2, B2, F4); + let C5 = "", t2, E4, e3 = hD(D5), r3 = [""]; + for (let [o3, B3] of D5.split(" ").entries()) { + u3.trim !== false && (r3[r3.length - 1] = r3[r3.length - 1].trimStart()); + let a4 = g(r3[r3.length - 1]); + if (o3 !== 0 && (a4 >= F5 && (u3.wordWrap === false || u3.trim === false) && (r3.push(""), a4 = 0), (a4 > 0 || u3.trim === false) && (r3[r3.length - 1] += " ", a4++)), u3.hard && e3[o3] > F5) { + let s2 = F5 - a4, l3 = 1 + Math.floor((e3[o3] - s2 - 1) / F5); + Math.floor((e3[o3] - 1) / F5) < l3 && r3.push(""), S(r3, B3, F5); continue; } - if (a2 + e2[o2] > F4 && a2 > 0 && e2[o2] > 0) { - if (u2.wordWrap === false && a2 < F4) { - S(r2, B2, F4); + if (a4 + e3[o3] > F5 && a4 > 0 && e3[o3] > 0) { + if (u3.wordWrap === false && a4 < F5) { + S(r3, B3, F5); continue; } - r2.push(""); + r3.push(""); } - if (a2 + e2[o2] > F4 && u2.wordWrap === false) { - S(r2, B2, F4); + if (a4 + e3[o3] > F5 && u3.wordWrap === false) { + S(r3, B3, F5); continue; } - r2[r2.length - 1] += B2; + r3[r3.length - 1] += B3; } - u2.trim !== false && (r2 = r2.map((o2) => cD(o2))); - let n = [...r2.join(` + u3.trim !== false && (r3 = r3.map((o3) => cD(o3))); + let n2 = [...r3.join(` `)]; - for (let [o2, B2] of n.entries()) { - if (C4 += B2, x.has(B2)) { - let { groups: s } = new RegExp(`(?:\\${q}(?\\d+)m|\\${M}(?.*)${R2})`).exec(n.slice(o2).join("")) || { groups: {} }; - if (s.code !== void 0) { - let l = Number.parseFloat(s.code); - t = l === gD ? void 0 : l; + for (let [o3, B3] of n2.entries()) { + if (C5 += B3, x.has(B3)) { + let { groups: s2 } = new RegExp(`(?:\\${q}(?\\d+)m|\\${M}(?.*)${R2})`).exec(n2.slice(o3).join("")) || { groups: {} }; + if (s2.code !== void 0) { + let l3 = Number.parseFloat(s2.code); + t2 = l3 === gD ? void 0 : l3; } else - s.uri !== void 0 && (E3 = s.uri.length === 0 ? void 0 : s.uri); + s2.uri !== void 0 && (E4 = s2.uri.length === 0 ? void 0 : s2.uri); } - let a2 = K2.codes.get(Number(t)); - n[o2 + 1] === ` -` ? (E3 && (C4 += Q("")), t && a2 && (C4 += J(a2))) : B2 === ` -` && (t && a2 && (C4 += J(t)), E3 && (C4 += Q(E3))); + let a4 = K2.codes.get(Number(t2)); + n2[o3 + 1] === ` +` ? (E4 && (C5 += Q("")), t2 && a4 && (C5 += J(a4))) : B3 === ` +` && (t2 && a4 && (C5 += J(t2)), E4 && (C5 += Q(E4))); } - return C4; + return C5; }; -function T2(D4, F4, u2) { - return String(D4).normalize().replace(/\r\n/g, ` +function T2(D5, F5, u3) { + return String(D5).normalize().replace(/\r\n/g, ` `).split(` -`).map((C4) => dD(C4, F4, u2)).join(` +`).map((C5) => dD(C5, F5, u3)).join(` `); } -var X = (D4) => Array.from({ length: D4 }).fill(""); -function P(D4, F4) { - let u2 = [], C4 = 0; - for (let t of D4) { - let E3 = 0, e2 = t.map((n) => { - var a2; - let o2 = (a2 = F4[C4]) != null ? a2 : ""; - C4 += 1, n.preprocess && (o2 = n.preprocess(o2)), b2(o2) > n.width && (o2 = T2(o2, n.width, { hard: true })); - let B2 = o2.split(` +var X = (D5) => Array.from({ length: D5 }).fill(""); +function P(D5, F5) { + let u3 = [], C5 = 0; + for (let t2 of D5) { + let E4 = 0, e3 = t2.map((n2) => { + var a4; + let o3 = (a4 = F5[C5]) != null ? a4 : ""; + C5 += 1, n2.preprocess && (o3 = n2.preprocess(o3)), b2(o3) > n2.width && (o3 = T2(o3, n2.width, { hard: true })); + let B3 = o3.split(` `); - if (n.postprocess) { - let { postprocess: s } = n; - B2 = B2.map((l, h4) => s.call(n, l, h4)); + if (n2.postprocess) { + let { postprocess: s2 } = n2; + B3 = B3.map((l3, h4) => s2.call(n2, l3, h4)); } - return n.paddingTop && B2.unshift(...X(n.paddingTop)), n.paddingBottom && B2.push(...X(n.paddingBottom)), B2.length > E3 && (E3 = B2.length), c(p({}, n), { lines: B2 }); - }), r2 = []; - for (let n = 0; n < E3; n += 1) { - let o2 = e2.map((B2) => { + return n2.paddingTop && B3.unshift(...X(n2.paddingTop)), n2.paddingBottom && B3.push(...X(n2.paddingBottom)), B3.length > E4 && (E4 = B3.length), c(p({}, n2), { lines: B3 }); + }), r3 = []; + for (let n2 = 0; n2 < E4; n2 += 1) { + let o3 = e3.map((B3) => { var h4; - let a2 = (h4 = B2.lines[n]) != null ? h4 : "", s = Number.isFinite(B2.width) ? " ".repeat(B2.width - g(a2)) : "", l = B2.paddingLeftString; - return B2.align === "right" && (l += s), l += a2, B2.align === "left" && (l += s), l + B2.paddingRightString; + let a4 = (h4 = B3.lines[n2]) != null ? h4 : "", s2 = Number.isFinite(B3.width) ? " ".repeat(B3.width - g(a4)) : "", l3 = B3.paddingLeftString; + return B3.align === "right" && (l3 += s2), l3 += a4, B3.align === "left" && (l3 += s2), l3 + B3.paddingRightString; }).join(""); - r2.push(o2); + r3.push(o3); } - u2.push(r2.join(` + u3.push(r3.join(` `)); } - return u2.join(` + return u3.join(` `); } -function mD(D4, F4) { - if (!D4 || D4.length === 0) +function mD(D5, F5) { + if (!D5 || D5.length === 0) return ""; - let u2 = k2(D4), C4 = u2.length; - if (C4 === 0) + let u3 = k2(D5), C5 = u3.length; + if (C5 === 0) return ""; - let { stdoutColumns: t, columns: E3 } = v2(F4); - if (E3.length > C4) - throw new Error(`${E3.length} columns defined, but only ${C4} columns found`); - let e2 = Z(t, E3, u2); - return D4.map((r2) => P(e2, r2)).join(` + let { stdoutColumns: t2, columns: E4 } = v2(F5); + if (E4.length > C5) + throw new Error(`${E4.length} columns defined, but only ${C5} columns found`); + let e3 = Z(t2, E4, u3); + return D5.map((r3) => P(e3, r3)).join(` `); } i(); var bD = ["<", ">", "=", ">=", "<="]; -function xD(D4) { - if (!bD.includes(D4)) - throw new TypeError(`Invalid breakpoint operator: ${D4}`); +function xD(D5) { + if (!bD.includes(D5)) + throw new TypeError(`Invalid breakpoint operator: ${D5}`); } -function wD(D4) { - let F4 = Object.keys(D4).map((u2) => { - let [C4, t] = u2.split(" "); - xD(C4); - let E3 = Number.parseInt(t, 10); - if (Number.isNaN(E3)) - throw new TypeError(`Invalid breakpoint value: ${t}`); - let e2 = D4[u2]; - return { operator: C4, breakpoint: E3, value: e2 }; - }).sort((u2, C4) => C4.breakpoint - u2.breakpoint); - return (u2) => { - var C4; - return (C4 = F4.find(({ operator: t, breakpoint: E3 }) => t === "=" && u2 === E3 || t === ">" && u2 > E3 || t === "<" && u2 < E3 || t === ">=" && u2 >= E3 || t === "<=" && u2 <= E3)) == null ? void 0 : C4.value; +function wD(D5) { + let F5 = Object.keys(D5).map((u3) => { + let [C5, t2] = u3.split(" "); + xD(C5); + let E4 = Number.parseInt(t2, 10); + if (Number.isNaN(E4)) + throw new TypeError(`Invalid breakpoint value: ${t2}`); + let e3 = D5[u3]; + return { operator: C5, breakpoint: E4, value: e3 }; + }).sort((u3, C5) => C5.breakpoint - u3.breakpoint); + return (u3) => { + var C5; + return (C5 = F5.find(({ operator: t2, breakpoint: E4 }) => t2 === "=" && u3 === E4 || t2 === ">" && u3 > E4 || t2 === "<" && u3 < E4 || t2 === ">=" && u3 >= E4 || t2 === "<=" && u3 <= E4)) == null ? void 0 : C5.value; }; } // node_modules/cleye/dist/index.mjs -var S2 = (t) => t.replace(/[\W_]([a-z\d])?/gi, (e2, r2) => r2 ? r2.toUpperCase() : ""); -var q2 = (t) => t.replace(/\B([A-Z])/g, "-$1").toLowerCase(); -var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t) => t.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; -function D2(t) { - let e2 = false; - return { type: "table", data: { tableData: Object.keys(t).sort((a2, i2) => a2.localeCompare(i2)).map((a2) => { - const i2 = t[a2], s = "alias" in i2; - return s && (e2 = true), { name: a2, flag: i2, flagFormatted: `--${q2(a2)}`, aliasesEnabled: e2, aliasFormatted: s ? `-${i2.alias}` : void 0 }; - }).map((a2) => (a2.aliasesEnabled = e2, [{ type: "flagName", data: a2 }, { type: "flagDescription", data: a2 }])), tableBreakpoints: I2 } }; +var S2 = (t2) => t2.replace(/[\W_]([a-z\d])?/gi, (e3, r3) => r3 ? r3.toUpperCase() : ""); +var q2 = (t2) => t2.replace(/\B([A-Z])/g, "-$1").toLowerCase(); +var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t2) => t2.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; +function D2(t2) { + let e3 = false; + return { type: "table", data: { tableData: Object.keys(t2).sort((a4, i3) => a4.localeCompare(i3)).map((a4) => { + const i3 = t2[a4], s2 = "alias" in i3; + return s2 && (e3 = true), { name: a4, flag: i3, flagFormatted: `--${q2(a4)}`, aliasesEnabled: e3, aliasFormatted: s2 ? `-${i3.alias}` : void 0 }; + }).map((a4) => (a4.aliasesEnabled = e3, [{ type: "flagName", data: a4 }, { type: "flagDescription", data: a4 }])), tableBreakpoints: I2 } }; } -var A = (t) => !t || (t.version ?? (t.help ? t.help.version : void 0)); -var C2 = (t) => { - const e2 = "parent" in t && t.parent?.name; - return (e2 ? `${e2} ` : "") + t.name; +var A = (t2) => !t2 || (t2.version ?? (t2.help ? t2.help.version : void 0)); +var C2 = (t2) => { + const e3 = "parent" in t2 && t2.parent?.name; + return (e3 ? `${e3} ` : "") + t2.name; }; -function R3(t) { - const e2 = []; - t.name && e2.push(C2(t)); - const r2 = A(t) ?? ("parent" in t && A(t.parent)); - if (r2 && e2.push(`v${r2}`), e2.length !== 0) - return { id: "name", type: "text", data: `${e2.join(" ")} +function R3(t2) { + const e3 = []; + t2.name && e3.push(C2(t2)); + const r3 = A(t2) ?? ("parent" in t2 && A(t2.parent)); + if (r3 && e3.push(`v${r3}`), e3.length !== 0) + return { id: "name", type: "text", data: `${e3.join(" ")} ` }; } -function L3(t) { - const { help: e2 } = t; - if (!(!e2 || !e2.description)) - return { id: "description", type: "text", data: `${e2.description} +function L3(t2) { + const { help: e3 } = t2; + if (!(!e3 || !e3.description)) + return { id: "description", type: "text", data: `${e3.description} ` }; } -function T3(t) { - const e2 = t.help || {}; - if ("usage" in e2) - return e2.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e2.usage) ? e2.usage.join(` -`) : e2.usage } } : void 0; - if (t.name) { - const r2 = [], n = [C2(t)]; - if (t.flags && Object.keys(t.flags).length > 0 && n.push("[flags...]"), t.parameters && t.parameters.length > 0) { - const { parameters: a2 } = t, i2 = a2.indexOf("--"), s = i2 > -1 && a2.slice(i2 + 1).some((o2) => o2.startsWith("<")); - n.push(a2.map((o2) => o2 !== "--" ? o2 : s ? "--" : "[--]").join(" ")); +function T3(t2) { + const e3 = t2.help || {}; + if ("usage" in e3) + return e3.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e3.usage) ? e3.usage.join(` +`) : e3.usage } } : void 0; + if (t2.name) { + const r3 = [], n2 = [C2(t2)]; + if (t2.flags && Object.keys(t2.flags).length > 0 && n2.push("[flags...]"), t2.parameters && t2.parameters.length > 0) { + const { parameters: a4 } = t2, i3 = a4.indexOf("--"), s2 = i3 > -1 && a4.slice(i3 + 1).some((o3) => o3.startsWith("<")); + n2.push(a4.map((o3) => o3 !== "--" ? o3 : s2 ? "--" : "[--]").join(" ")); } - if (n.length > 1 && r2.push(n.join(" ")), "commands" in t && t.commands?.length && r2.push(`${t.name} `), r2.length > 0) - return { id: "usage", type: "section", data: { title: "Usage:", body: r2.join(` + if (n2.length > 1 && r3.push(n2.join(" ")), "commands" in t2 && t2.commands?.length && r3.push(`${t2.name} `), r3.length > 0) + return { id: "usage", type: "section", data: { title: "Usage:", body: r3.join(` `) } }; } } -function _3(t) { - return !("commands" in t) || !t.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t.commands.map((n) => [n.options.name, n.options.help ? n.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; +function _3(t2) { + return !("commands" in t2) || !t2.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t2.commands.map((n2) => [n2.options.name, n2.options.help ? n2.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; } -function k3(t) { - if (!(!t.flags || Object.keys(t.flags).length === 0)) - return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t.flags), indentBody: 0 } }; +function k3(t2) { + if (!(!t2.flags || Object.keys(t2.flags).length === 0)) + return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t2.flags), indentBody: 0 } }; } -function F2(t) { - const { help: e2 } = t; - if (!e2 || !e2.examples || e2.examples.length === 0) +function F2(t2) { + const { help: e3 } = t2; + if (!e3 || !e3.examples || e3.examples.length === 0) return; - let { examples: r2 } = e2; - if (Array.isArray(r2) && (r2 = r2.join(` -`)), r2) - return { id: "examples", type: "section", data: { title: "Examples:", body: r2 } }; + let { examples: r3 } = e3; + if (Array.isArray(r3) && (r3 = r3.join(` +`)), r3) + return { id: "examples", type: "section", data: { title: "Examples:", body: r3 } }; } -function H2(t) { - if (!("alias" in t) || !t.alias) +function H2(t2) { + if (!("alias" in t2) || !t2.alias) return; - const { alias: e2 } = t; - return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e2) ? e2.join(", ") : e2 } }; + const { alias: e3 } = t2; + return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e3) ? e3.join(", ") : e3 } }; } -var U3 = (t) => [R3, L3, T3, _3, k3, F2, H2].map((e2) => e2(t)).filter(Boolean); +var U3 = (t2) => [R3, L3, T3, _3, k3, F2, H2].map((e3) => e3(t2)).filter(Boolean); var J2 = import_tty.default.WriteStream.prototype.hasColors(); var M2 = class { - text(e2) { - return e2; + text(e3) { + return e3; } - bold(e2) { - return J2 ? `\x1B[1m${e2}\x1B[22m` : e2.toLocaleUpperCase(); + bold(e3) { + return J2 ? `\x1B[1m${e3}\x1B[22m` : e3.toLocaleUpperCase(); } - indentText({ text: e2, spaces: r2 }) { - return e2.replace(/^/gm, " ".repeat(r2)); + indentText({ text: e3, spaces: r3 }) { + return e3.replace(/^/gm, " ".repeat(r3)); } - heading(e2) { - return this.bold(e2); + heading(e3) { + return this.bold(e3); } - section({ title: e2, body: r2, indentBody: n = 2 }) { - return `${(e2 ? `${this.heading(e2)} -` : "") + (r2 ? this.indentText({ text: this.render(r2), spaces: n }) : "")} + section({ title: e3, body: r3, indentBody: n2 = 2 }) { + return `${(e3 ? `${this.heading(e3)} +` : "") + (r3 ? this.indentText({ text: this.render(r3), spaces: n2 }) : "")} `; } - table({ tableData: e2, tableOptions: r2, tableBreakpoints: n }) { - return mD(e2.map((a2) => a2.map((i2) => this.render(i2))), n ? wD(n) : r2); + table({ tableData: e3, tableOptions: r3, tableBreakpoints: n2 }) { + return mD(e3.map((a4) => a4.map((i3) => this.render(i3))), n2 ? wD(n2) : r3); } - flagParameter(e2) { - return e2 === Boolean ? "" : e2 === String ? "" : e2 === Number ? "" : Array.isArray(e2) ? this.flagParameter(e2[0]) : ""; + flagParameter(e3) { + return e3 === Boolean ? "" : e3 === String ? "" : e3 === Number ? "" : Array.isArray(e3) ? this.flagParameter(e3[0]) : ""; } - flagOperator(e2) { + flagOperator(e3) { return " "; } - flagName(e2) { - const { flag: r2, flagFormatted: n, aliasesEnabled: a2, aliasFormatted: i2 } = e2; - let s = ""; - if (i2 ? s += `${i2}, ` : a2 && (s += " "), s += n, "placeholder" in r2 && typeof r2.placeholder == "string") - s += `${this.flagOperator(e2)}${r2.placeholder}`; + flagName(e3) { + const { flag: r3, flagFormatted: n2, aliasesEnabled: a4, aliasFormatted: i3 } = e3; + let s2 = ""; + if (i3 ? s2 += `${i3}, ` : a4 && (s2 += " "), s2 += n2, "placeholder" in r3 && typeof r3.placeholder == "string") + s2 += `${this.flagOperator(e3)}${r3.placeholder}`; else { - const o2 = this.flagParameter("type" in r2 ? r2.type : r2); - o2 && (s += `${this.flagOperator(e2)}${o2}`); + const o3 = this.flagParameter("type" in r3 ? r3.type : r3); + o3 && (s2 += `${this.flagOperator(e3)}${o3}`); } - return s; + return s2; } - flagDefault(e2) { - return JSON.stringify(e2); + flagDefault(e3) { + return JSON.stringify(e3); } - flagDescription({ flag: e2 }) { - let r2 = "description" in e2 ? e2.description ?? "" : ""; - if ("default" in e2) { - let { default: n } = e2; - typeof n == "function" && (n = n()), n && (r2 += ` (default: ${this.flagDefault(n)})`); + flagDescription({ flag: e3 }) { + let r3 = "description" in e3 ? e3.description ?? "" : ""; + if ("default" in e3) { + let { default: n2 } = e3; + typeof n2 == "function" && (n2 = n2()), n2 && (r3 += ` (default: ${this.flagDefault(n2)})`); } - return r2; + return r3; } - render(e2) { - if (typeof e2 == "string") - return e2; - if (Array.isArray(e2)) - return e2.map((r2) => this.render(r2)).join(` + render(e3) { + if (typeof e3 == "string") + return e3; + if (Array.isArray(e3)) + return e3.map((r3) => this.render(r3)).join(` `); - if ("type" in e2 && this[e2.type]) { - const r2 = this[e2.type]; - if (typeof r2 == "function") - return r2.call(this, e2.data); + if ("type" in e3 && this[e3.type]) { + const r3 = this[e3.type]; + if (typeof r3 == "function") + return r3.call(this, e3.data); } - throw new Error(`Invalid node type: ${JSON.stringify(e2)}`); + throw new Error(`Invalid node type: ${JSON.stringify(e3)}`); } }; var y2 = /^[\w.-]+$/; var { stringify: d3 } = JSON; var V3 = /[|\\{}()[\]^$+*?.]/; -function w3(t) { - const e2 = []; - let r2, n; - for (const a2 of t) { - if (n) - throw new Error(`Invalid parameter: Spread parameter ${d3(n)} must be last`); - const i2 = a2[0], s = a2[a2.length - 1]; - let o2; - if (i2 === "<" && s === ">" && (o2 = true, r2)) - throw new Error(`Invalid parameter: Required parameter ${d3(a2)} cannot come after optional parameter ${d3(r2)}`); - if (i2 === "[" && s === "]" && (o2 = false, r2 = a2), o2 === void 0) - throw new Error(`Invalid parameter: ${d3(a2)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); - let l = a2.slice(1, -1); - const f3 = l.slice(-3) === "..."; - f3 && (n = a2, l = l.slice(0, -3)); - const p4 = l.match(V3); +function w3(t2) { + const e3 = []; + let r3, n2; + for (const a4 of t2) { + if (n2) + throw new Error(`Invalid parameter: Spread parameter ${d3(n2)} must be last`); + const i3 = a4[0], s2 = a4[a4.length - 1]; + let o3; + if (i3 === "<" && s2 === ">" && (o3 = true, r3)) + throw new Error(`Invalid parameter: Required parameter ${d3(a4)} cannot come after optional parameter ${d3(r3)}`); + if (i3 === "[" && s2 === "]" && (o3 = false, r3 = a4), o3 === void 0) + throw new Error(`Invalid parameter: ${d3(a4)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); + let l3 = a4.slice(1, -1); + const f4 = l3.slice(-3) === "..."; + f4 && (n2 = a4, l3 = l3.slice(0, -3)); + const p4 = l3.match(V3); if (p4) - throw new Error(`Invalid parameter: ${d3(a2)}. Invalid character found ${d3(p4[0])}`); - e2.push({ name: l, required: o2, spread: f3 }); + throw new Error(`Invalid parameter: ${d3(a4)}. Invalid character found ${d3(p4[0])}`); + e3.push({ name: l3, required: o3, spread: f4 }); } - return e2; + return e3; } -function b3(t, e2, r2, n) { - for (let a2 = 0; a2 < e2.length; a2 += 1) { - const { name: i2, required: s, spread: o2 } = e2[a2], l = S2(i2); - if (l in t) - throw new Error(`Invalid parameter: ${d3(i2)} is used more than once.`); - const f3 = o2 ? r2.slice(a2) : r2[a2]; - if (o2 && (a2 = e2.length), s && (!f3 || o2 && f3.length === 0)) - return console.error(`Error: Missing required parameter ${d3(i2)} -`), n(), process.exit(1); - t[l] = f3; +function b3(t2, e3, r3, n2) { + for (let a4 = 0; a4 < e3.length; a4 += 1) { + const { name: i3, required: s2, spread: o3 } = e3[a4], l3 = S2(i3); + if (l3 in t2) + throw new Error(`Invalid parameter: ${d3(i3)} is used more than once.`); + const f4 = o3 ? r3.slice(a4) : r3[a4]; + if (o3 && (a4 = e3.length), s2 && (!f4 || o3 && f4.length === 0)) + return console.error(`Error: Missing required parameter ${d3(i3)} +`), n2(), process.exit(1); + t2[l3] = f4; } } -function W2(t) { - return t === void 0 || t !== false; +function W2(t2) { + return t2 === void 0 || t2 !== false; } -function x2(t, e2, r2, n) { - const a2 = { ...e2.flags }, i2 = e2.version; - i2 && (a2.version = { type: Boolean, description: "Show version" }); - const { help: s } = e2, o2 = W2(s); - o2 && !("help" in a2) && (a2.help = { type: Boolean, alias: "h", description: "Show help" }); - const l = U(a2, n, { ignore: e2.ignoreArgv }), f3 = () => { - console.log(e2.version); +function x2(t2, e3, r3, n2) { + const a4 = { ...e3.flags }, i3 = e3.version; + i3 && (a4.version = { type: Boolean, description: "Show version" }); + const { help: s2 } = e3, o3 = W2(s2); + o3 && !("help" in a4) && (a4.help = { type: Boolean, alias: "h", description: "Show help" }); + const l3 = U(a4, n2, { ignore: e3.ignoreArgv }), f4 = () => { + console.log(e3.version); }; - if (i2 && l.flags.version === true) - return f3(), process.exit(0); - const p4 = new M2(), O4 = o2 && s?.render ? s.render : (c3) => p4.render(c3), u2 = (c3) => { - const m4 = U3({ ...e2, ...c3 ? { help: c3 } : {}, flags: a2 }); - console.log(O4(m4, p4)); + if (i3 && l3.flags.version === true) + return f4(), process.exit(0); + const p4 = new M2(), O5 = o3 && s2?.render ? s2.render : (c3) => p4.render(c3), u3 = (c3) => { + const m5 = U3({ ...e3, ...c3 ? { help: c3 } : {}, flags: a4 }); + console.log(O5(m5, p4)); }; - if (o2 && l.flags.help === true) - return u2(), process.exit(0); - if (e2.parameters) { - let { parameters: c3 } = e2, m4 = l._; - const g3 = c3.indexOf("--"), v4 = c3.slice(g3 + 1), h4 = /* @__PURE__ */ Object.create(null); - if (g3 > -1 && v4.length > 0) { - c3 = c3.slice(0, g3); - const E3 = l._["--"]; - m4 = m4.slice(0, -E3.length || void 0), b3(h4, w3(c3), m4, u2), b3(h4, w3(v4), E3, u2); + if (o3 && l3.flags.help === true) + return u3(), process.exit(0); + if (e3.parameters) { + let { parameters: c3 } = e3, m5 = l3._; + const g4 = c3.indexOf("--"), v5 = c3.slice(g4 + 1), h4 = /* @__PURE__ */ Object.create(null); + if (g4 > -1 && v5.length > 0) { + c3 = c3.slice(0, g4); + const E4 = l3._["--"]; + m5 = m5.slice(0, -E4.length || void 0), b3(h4, w3(c3), m5, u3), b3(h4, w3(v5), E4, u3); } else - b3(h4, w3(c3), m4, u2); - Object.assign(l._, h4); + b3(h4, w3(c3), m5, u3); + Object.assign(l3._, h4); } - const $4 = { ...l, showVersion: f3, showHelp: u2 }; - return typeof r2 == "function" && r2($4), { command: t, ...$4 }; + const $6 = { ...l3, showVersion: f4, showHelp: u3 }; + return typeof r3 == "function" && r3($6), { command: t2, ...$6 }; } -function z2(t, e2) { - const r2 = /* @__PURE__ */ new Map(); - for (const n of e2) { - const a2 = [n.options.name], { alias: i2 } = n.options; - i2 && (Array.isArray(i2) ? a2.push(...i2) : a2.push(i2)); - for (const s of a2) { - if (r2.has(s)) - throw new Error(`Duplicate command name found: ${d3(s)}`); - r2.set(s, n); +function z2(t2, e3) { + const r3 = /* @__PURE__ */ new Map(); + for (const n2 of e3) { + const a4 = [n2.options.name], { alias: i3 } = n2.options; + i3 && (Array.isArray(i3) ? a4.push(...i3) : a4.push(i3)); + for (const s2 of a4) { + if (r3.has(s2)) + throw new Error(`Duplicate command name found: ${d3(s2)}`); + r3.set(s2, n2); } } - return r2.get(t); + return r3.get(t2); } -function Z2(t, e2, r2 = process.argv.slice(2)) { - if (!t) +function Z2(t2, e3, r3 = process.argv.slice(2)) { + if (!t2) throw new Error("Options is required"); - if ("name" in t && (!t.name || !y2.test(t.name))) - throw new Error(`Invalid script name: ${d3(t.name)}`); - const n = r2[0]; - if (t.commands && y2.test(n)) { - const a2 = z2(n, t.commands); - if (a2) - return x2(a2.options.name, { ...a2.options, parent: t }, a2.callback, r2.slice(1)); + if ("name" in t2 && (!t2.name || !y2.test(t2.name))) + throw new Error(`Invalid script name: ${d3(t2.name)}`); + const n2 = r3[0]; + if (t2.commands && y2.test(n2)) { + const a4 = z2(n2, t2.commands); + if (a4) + return x2(a4.options.name, { ...a4.options, parent: t2 }, a4.callback, r3.slice(1)); } - return x2(void 0, t, e2, r2); + return x2(void 0, t2, e3, r3); } -function G3(t, e2) { - if (!t) +function G3(t2, e3) { + if (!t2) throw new Error("Command options are required"); - const { name: r2 } = t; - if (t.name === void 0) + const { name: r3 } = t2; + if (t2.name === void 0) throw new Error("Command name is required"); - if (!y2.test(r2)) - throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); - return { options: t, callback: e2 }; + if (!y2.test(r3)) + throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); + return { options: t2, callback: e3 }; } // package.json var package_default = { name: "opencommit", - version: "3.0.12", + version: "3.0.13", description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}", keywords: [ "git", @@ -16457,6 +27009,7 @@ var package_default = { "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", "@octokit/webhooks-schemas": "^6.11.0", @@ -16725,7 +27278,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -16955,13 +27508,13 @@ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 }); var source_default = chalk; // node_modules/execa/index.js -var import_node_buffer = require("node:buffer"); +var import_node_buffer2 = require("node:buffer"); var import_node_path2 = __toESM(require("node:path"), 1); -var import_node_child_process = __toESM(require("node:child_process"), 1); -var import_node_process3 = __toESM(require("node:process"), 1); +var import_node_child_process3 = __toESM(require("node:child_process"), 1); +var import_node_process5 = __toESM(require("node:process"), 1); var import_cross_spawn = __toESM(require_cross_spawn(), 1); -// node_modules/strip-final-newline/index.js +// node_modules/execa/node_modules/strip-final-newline/index.js function stripFinalNewline(input) { const LF = typeof input === "string" ? "\n" : "\n".charCodeAt(); const CR = typeof input === "string" ? "\r" : "\r".charCodeAt(); @@ -16977,7 +27530,7 @@ function stripFinalNewline(input) { // node_modules/npm-run-path/index.js var import_node_process2 = __toESM(require("node:process"), 1); var import_node_path = __toESM(require("node:path"), 1); -var import_node_url = __toESM(require("node:url"), 1); +var import_node_url = require("node:url"); // node_modules/npm-run-path/node_modules/path-key/index.js function pathKey(options = {}) { @@ -16992,31 +27545,43 @@ function pathKey(options = {}) { } // node_modules/npm-run-path/index.js -function npmRunPath(options = {}) { - const { - cwd = import_node_process2.default.cwd(), - path: path_ = import_node_process2.default.env[pathKey()], - execPath = import_node_process2.default.execPath - } = options; - let previous; - const cwdString = cwd instanceof URL ? import_node_url.default.fileURLToPath(cwd) : cwd; - let cwdPath = import_node_path.default.resolve(cwdString); +var npmRunPath = ({ + cwd = import_node_process2.default.cwd(), + path: pathOption = import_node_process2.default.env[pathKey()], + preferLocal = true, + execPath = import_node_process2.default.execPath, + addExecPath = true +} = {}) => { + const cwdString = cwd instanceof URL ? (0, import_node_url.fileURLToPath)(cwd) : cwd; + const cwdPath = import_node_path.default.resolve(cwdString); const result = []; + if (preferLocal) { + applyPreferLocal(result, cwdPath); + } + if (addExecPath) { + applyExecPath(result, execPath, cwdPath); + } + return [...result, pathOption].join(import_node_path.default.delimiter); +}; +var applyPreferLocal = (result, cwdPath) => { + let previous; while (previous !== cwdPath) { result.push(import_node_path.default.join(cwdPath, "node_modules/.bin")); previous = cwdPath; cwdPath = import_node_path.default.resolve(cwdPath, ".."); } - result.push(import_node_path.default.resolve(cwdString, execPath, "..")); - return [...result, path_].join(import_node_path.default.delimiter); -} -function npmRunPathEnv({ env: env2 = import_node_process2.default.env, ...options } = {}) { +}; +var applyExecPath = (result, execPath, cwdPath) => { + const execPathString = execPath instanceof URL ? (0, import_node_url.fileURLToPath)(execPath) : execPath; + result.push(import_node_path.default.resolve(cwdPath, execPathString, "..")); +}; +var npmRunPathEnv = ({ env: env2 = import_node_process2.default.env, ...options } = {}) => { env2 = { ...env2 }; - const path5 = pathKey({ env: env2 }); - options.path = env2[path5]; - env2[path5] = npmRunPath(options); + const pathName = pathKey({ env: env2 }); + options.path = env2[pathName]; + env2[pathName] = npmRunPath(options); return env2; -} +}; // node_modules/mimic-fn/index.js var copyProperty = (to, from, property, ignoreNonConfigurable) => { @@ -17094,23 +27659,24 @@ onetime.callCount = (function_) => { }; var onetime_default = onetime; +// node_modules/execa/lib/error.js +var import_node_process3 = __toESM(require("node:process"), 1); + // node_modules/human-signals/build/src/main.js var import_node_os3 = require("node:os"); // node_modules/human-signals/build/src/realtime.js -var getRealtimeSignals = function() { +var getRealtimeSignals = () => { const length = SIGRTMAX - SIGRTMIN + 1; return Array.from({ length }, getRealtimeSignal); }; -var getRealtimeSignal = function(value, index) { - return { - name: `SIGRT${index + 1}`, - number: SIGRTMIN + index, - action: "terminate", - description: "Application-specific signal (realtime)", - standard: "posix" - }; -}; +var getRealtimeSignal = (value, index) => ({ + name: `SIGRT${index + 1}`, + number: SIGRTMIN + index, + action: "terminate", + description: "Application-specific signal (realtime)", + standard: "posix" +}); var SIGRTMIN = 34; var SIGRTMAX = 64; @@ -17391,19 +27957,19 @@ var SIGNALS = [ ]; // node_modules/human-signals/build/src/signals.js -var getSignals = function() { +var getSignals = () => { const realtimeSignals = getRealtimeSignals(); const signals = [...SIGNALS, ...realtimeSignals].map(normalizeSignal); return signals; }; -var normalizeSignal = function({ +var normalizeSignal = ({ name, number: defaultNumber, description, action, forced = false, standard -}) { +}) => { const { signals: { [name]: constantSignal } } = import_node_os2.constants; @@ -17413,11 +27979,11 @@ var normalizeSignal = function({ }; // node_modules/human-signals/build/src/main.js -var getSignalsByName = function() { +var getSignalsByName = () => { const signals = getSignals(); return Object.fromEntries(signals.map(getSignalByName)); }; -var getSignalByName = function({ +var getSignalByName = ({ name, number, description, @@ -17425,20 +27991,15 @@ var getSignalByName = function({ action, forced, standard -}) { - return [ - name, - { name, number, description, supported, action, forced, standard } - ]; -}; +}) => [name, { name, number, description, supported, action, forced, standard }]; var signalsByName = getSignalsByName(); -var getSignalsByNumber = function() { +var getSignalsByNumber = () => { const signals = getSignals(); const length = SIGRTMAX + 1; const signalsA = Array.from({ length }, (value, number) => getSignalByNumber(number, signals)); return Object.assign({}, ...signalsA); }; -var getSignalByNumber = function(number, signals) { +var getSignalByNumber = (number, signals) => { const signal = findSignalByNumber(number, signals); if (signal === void 0) { return {}; @@ -17456,7 +28017,7 @@ var getSignalByNumber = function(number, signals) { } }; }; -var findSignalByNumber = function(number, signals) { +var findSignalByNumber = (number, signals) => { const signal = signals.find(({ name }) => import_node_os3.constants.signals[name] === number); if (signal !== void 0) { return signal; @@ -17491,19 +28052,19 @@ var makeError = ({ error, signal, exitCode, - command: command2, + command: command3, escapedCommand, timedOut, isCanceled, killed, - parsed: { options: { timeout } } + parsed: { options: { timeout, cwd = import_node_process3.default.cwd() } } }) => { exitCode = exitCode === null ? void 0 : exitCode; signal = signal === null ? void 0 : signal; const signalDescription = signal === void 0 ? void 0 : signalsByName[signal].description; const errorCode = error && error.code; const prefix = getErrorPrefix({ timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled }); - const execaMessage = `Command ${prefix}: ${command2}`; + const execaMessage = `Command ${prefix}: ${command3}`; const isError = Object.prototype.toString.call(error) === "[object Error]"; const shortMessage = isError ? `${execaMessage} ${error.message}` : execaMessage; @@ -17515,13 +28076,14 @@ ${error.message}` : execaMessage; error = new Error(message); } error.shortMessage = shortMessage; - error.command = command2; + error.command = command3; error.escapedCommand = escapedCommand; error.exitCode = exitCode; error.signal = signal; error.signalDescription = signalDescription; error.stdout = stdout; error.stderr = stderr; + error.cwd = cwd; if (all3 !== void 0) { error.all = all3; } @@ -17573,11 +28135,11 @@ var setKillTimeout = (kill, signal, options, killResult) => { return; } const timeout = getForceKillAfterTimeout(options); - const t = setTimeout(() => { + const t2 = setTimeout(() => { kill("SIGKILL"); }, timeout); - if (t.unref) { - t.unref(); + if (t2.unref) { + t2.unref(); } }; var shouldForceKill = (signal, { forceKillAfterTimeout }, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult; @@ -17633,15 +28195,82 @@ var setExitHandler = async (spawned, { cleanup, detached }, timedPromise) => { }); }; +// node_modules/execa/lib/pipe.js +var import_node_fs = require("node:fs"); +var import_node_child_process = require("node:child_process"); + // node_modules/is-stream/index.js function isStream(stream4) { return stream4 !== null && typeof stream4 === "object" && typeof stream4.pipe === "function"; } +function isWritableStream(stream4) { + return isStream(stream4) && stream4.writable !== false && typeof stream4._write === "function" && typeof stream4._writableState === "object"; +} + +// node_modules/execa/lib/pipe.js +var isExecaChildProcess = (target) => target instanceof import_node_child_process.ChildProcess && typeof target.then === "function"; +var pipeToTarget = (spawned, streamName, target) => { + if (typeof target === "string") { + spawned[streamName].pipe((0, import_node_fs.createWriteStream)(target)); + return spawned; + } + if (isWritableStream(target)) { + spawned[streamName].pipe(target); + return spawned; + } + if (!isExecaChildProcess(target)) { + throw new TypeError("The second argument must be a string, a stream or an Execa child process."); + } + if (!isWritableStream(target.stdin)) { + throw new TypeError("The target child process's stdin must be available."); + } + spawned[streamName].pipe(target.stdin); + return target; +}; +var addPipeMethods = (spawned) => { + if (spawned.stdout !== null) { + spawned.pipeStdout = pipeToTarget.bind(void 0, spawned, "stdout"); + } + if (spawned.stderr !== null) { + spawned.pipeStderr = pipeToTarget.bind(void 0, spawned, "stderr"); + } + if (spawned.all !== void 0) { + spawned.pipeAll = pipeToTarget.bind(void 0, spawned, "all"); + } +}; // node_modules/execa/lib/stream.js +var import_node_fs2 = require("node:fs"); var import_get_stream = __toESM(require_get_stream(), 1); var import_merge_stream = __toESM(require_merge_stream(), 1); -var handleInput = (spawned, input) => { +var validateInputOptions = (input) => { + if (input !== void 0) { + throw new TypeError("The `input` and `inputFile` options cannot be both set."); + } +}; +var getInputSync = ({ input, inputFile }) => { + if (typeof inputFile !== "string") { + return input; + } + validateInputOptions(input); + return (0, import_node_fs2.readFileSync)(inputFile); +}; +var handleInputSync = (options) => { + const input = getInputSync(options); + if (isStream(input)) { + throw new TypeError("The `input` option cannot be a stream in sync mode"); + } + return input; +}; +var getInput = ({ input, inputFile }) => { + if (typeof inputFile !== "string") { + return input; + } + validateInputOptions(input); + return (0, import_node_fs2.createReadStream)(inputFile); +}; +var handleInput = (spawned, options) => { + const input = getInput(options); if (input === void 0) { return; } @@ -17712,7 +28341,6 @@ var mergePromise = (spawned, promise) => { const value = typeof promise === "function" ? (...args) => Reflect.apply(descriptor.value, promise(), args) : descriptor.value.bind(promise); Reflect.defineProperty(spawned, property, { ...descriptor, value }); } - return spawned; }; var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { spawned.on("exit", (exitCode, signal) => { @@ -17729,6 +28357,8 @@ var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { }); // node_modules/execa/lib/command.js +var import_node_buffer = require("node:buffer"); +var import_node_child_process2 = require("node:child_process"); var normalizeArgs = (file, args = []) => { if (!Array.isArray(args)) { return [file]; @@ -17745,11 +28375,80 @@ var escapeArg = (arg) => { }; var joinCommand = (file, args) => normalizeArgs(file, args).join(" "); var getEscapedCommand = (file, args) => normalizeArgs(file, args).map((arg) => escapeArg(arg)).join(" "); +var SPACES_REGEXP = / +/g; +var parseExpression = (expression) => { + const typeOfExpression = typeof expression; + if (typeOfExpression === "string") { + return expression; + } + if (typeOfExpression === "number") { + return String(expression); + } + if (typeOfExpression === "object" && expression !== null && !(expression instanceof import_node_child_process2.ChildProcess) && "stdout" in expression) { + const typeOfStdout = typeof expression.stdout; + if (typeOfStdout === "string") { + return expression.stdout; + } + if (import_node_buffer.Buffer.isBuffer(expression.stdout)) { + return expression.stdout.toString(); + } + throw new TypeError(`Unexpected "${typeOfStdout}" stdout in template expression`); + } + throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`); +}; +var concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0 ? [...tokens, ...nextTokens] : [ + ...tokens.slice(0, -1), + `${tokens[tokens.length - 1]}${nextTokens[0]}`, + ...nextTokens.slice(1) +]; +var parseTemplate = ({ templates, expressions, tokens, index, template }) => { + const templateString = template ?? templates.raw[index]; + const templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean); + const newTokens = concatTokens( + tokens, + templateTokens, + templateString.startsWith(" ") + ); + if (index === expressions.length) { + return newTokens; + } + const expression = expressions[index]; + const expressionTokens = Array.isArray(expression) ? expression.map((expression2) => parseExpression(expression2)) : [parseExpression(expression)]; + return concatTokens( + newTokens, + expressionTokens, + templateString.endsWith(" ") + ); +}; +var parseTemplates = (templates, expressions) => { + let tokens = []; + for (const [index, template] of templates.entries()) { + tokens = parseTemplate({ templates, expressions, tokens, index, template }); + } + return tokens; +}; + +// node_modules/execa/lib/verbose.js +var import_node_util = require("node:util"); +var import_node_process4 = __toESM(require("node:process"), 1); +var verboseDefault = (0, import_node_util.debuglog)("execa").enabled; +var padField = (field, padding) => String(field).padStart(padding, "0"); +var getTimestamp = () => { + const date = new Date(); + return `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`; +}; +var logCommand = (escapedCommand, { verbose }) => { + if (!verbose) { + return; + } + import_node_process4.default.stderr.write(`[${getTimestamp()}] ${escapedCommand} +`); +}; // node_modules/execa/index.js var DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100; var getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => { - const env2 = extendEnv ? { ...import_node_process3.default.env, ...envOption } : envOption; + const env2 = extendEnv ? { ...import_node_process5.default.env, ...envOption } : envOption; if (preferLocal) { return npmRunPathEnv({ env: env2, cwd: localDir, execPath }); } @@ -17766,24 +28465,25 @@ var handleArguments = (file, args, options = {}) => { stripFinalNewline: true, extendEnv: true, preferLocal: false, - localDir: options.cwd || import_node_process3.default.cwd(), - execPath: import_node_process3.default.execPath, + localDir: options.cwd || import_node_process5.default.cwd(), + execPath: import_node_process5.default.execPath, encoding: "utf8", reject: true, cleanup: true, all: false, windowsHide: true, + verbose: verboseDefault, ...options }; options.env = getEnv(options); options.stdio = normalizeStdio(options); - if (import_node_process3.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { + if (import_node_process5.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { args.unshift("/q"); } return { file, args, options, parsed }; }; var handleOutput = (options, value, error) => { - if (typeof value !== "string" && !import_node_buffer.Buffer.isBuffer(value)) { + if (typeof value !== "string" && !import_node_buffer2.Buffer.isBuffer(value)) { return error === void 0 ? void 0 : ""; } if (options.stripFinalNewline) { @@ -17793,27 +28493,29 @@ var handleOutput = (options, value, error) => { }; function execa(file, args, options) { const parsed = handleArguments(file, args, options); - const command2 = joinCommand(file, args); + const command3 = joinCommand(file, args); const escapedCommand = getEscapedCommand(file, args); + logCommand(escapedCommand, parsed.options); validateTimeout(parsed.options); let spawned; try { - spawned = import_node_child_process.default.spawn(parsed.file, parsed.args, parsed.options); + spawned = import_node_child_process3.default.spawn(parsed.file, parsed.args, parsed.options); } catch (error) { - const dummySpawned = new import_node_child_process.default.ChildProcess(); + const dummySpawned = new import_node_child_process3.default.ChildProcess(); const errorPromise = Promise.reject(makeError({ error, stdout: "", stderr: "", all: "", - command: command2, + command: command3, escapedCommand, parsed, timedOut: false, isCanceled: false, killed: false })); - return mergePromise(dummySpawned, errorPromise); + mergePromise(dummySpawned, errorPromise); + return dummySpawned; } const spawnedPromise = getSpawnedPromise(spawned); const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise); @@ -17834,7 +28536,7 @@ function execa(file, args, options) { stdout, stderr, all: all3, - command: command2, + command: command3, escapedCommand, parsed, timedOut, @@ -17847,7 +28549,7 @@ function execa(file, args, options) { throw returnedError; } return { - command: command2, + command: command3, escapedCommand, exitCode: 0, stdout, @@ -17860,341 +28562,429 @@ function execa(file, args, options) { }; }; const handlePromiseOnce = onetime_default(handlePromise); - handleInput(spawned, parsed.options.input); + handleInput(spawned, parsed.options); spawned.all = makeAllStream(spawned, parsed.options); - return mergePromise(spawned, handlePromiseOnce); + addPipeMethods(spawned); + mergePromise(spawned, handlePromiseOnce); + return spawned; } +function execaSync(file, args, options) { + const parsed = handleArguments(file, args, options); + const command3 = joinCommand(file, args); + const escapedCommand = getEscapedCommand(file, args); + logCommand(escapedCommand, parsed.options); + const input = handleInputSync(parsed.options); + let result; + try { + result = import_node_child_process3.default.spawnSync(parsed.file, parsed.args, { ...parsed.options, input }); + } catch (error) { + throw makeError({ + error, + stdout: "", + stderr: "", + all: "", + command: command3, + escapedCommand, + parsed, + timedOut: false, + isCanceled: false, + killed: false + }); + } + const stdout = handleOutput(parsed.options, result.stdout, result.error); + const stderr = handleOutput(parsed.options, result.stderr, result.error); + if (result.error || result.status !== 0 || result.signal !== null) { + const error = makeError({ + stdout, + stderr, + error: result.error, + signal: result.signal, + exitCode: result.status, + command: command3, + escapedCommand, + parsed, + timedOut: result.error && result.error.code === "ETIMEDOUT", + isCanceled: false, + killed: result.signal !== null + }); + if (!parsed.options.reject) { + return error; + } + throw error; + } + return { + command: command3, + escapedCommand, + exitCode: 0, + stdout, + stderr, + failed: false, + timedOut: false, + isCanceled: false, + killed: false + }; +} +var normalizeScriptStdin = ({ input, inputFile, stdio }) => input === void 0 && inputFile === void 0 && stdio === void 0 ? { stdin: "inherit" } : {}; +var normalizeScriptOptions = (options = {}) => ({ + preferLocal: true, + ...normalizeScriptStdin(options), + ...options +}); +function create$(options) { + function $6(templatesOrOptions, ...expressions) { + if (!Array.isArray(templatesOrOptions)) { + return create$({ ...options, ...templatesOrOptions }); + } + const [file, ...args] = parseTemplates(templatesOrOptions, expressions); + return execa(file, args, normalizeScriptOptions(options)); + } + $6.sync = (templates, ...expressions) => { + if (!Array.isArray(templates)) { + throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`."); + } + const [file, ...args] = parseTemplates(templates, expressions); + return execaSync(file, args, normalizeScriptOptions(options)); + }; + return $6; +} +var $3 = create$(); // node_modules/@clack/core/dist/index.mjs var import_sisteransi = __toESM(require_src(), 1); -var import_node_process4 = require("node:process"); +var import_node_process6 = require("node:process"); var f = __toESM(require("node:readline"), 1); var import_node_readline = __toESM(require("node:readline"), 1); var import_node_tty2 = require("node:tty"); -function z3({ onlyFirst: t = false } = {}) { - const u2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(u2, t ? void 0 : "g"); +function q3({ onlyFirst: t2 = false } = {}) { + const u3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(u3, t2 ? void 0 : "g"); } -function $3(t) { - if (typeof t != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``); - return t.replace(z3(), ""); +function S3(t2) { + if (typeof t2 != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof t2}\``); + return t2.replace(q3(), ""); } -var m3 = {}; -var G4 = { get exports() { - return m3; -}, set exports(t) { - m3 = t; -} }; -(function(t) { - var u2 = {}; - t.exports = u2, u2.eastAsianWidth = function(e2) { - var s = e2.charCodeAt(0), C4 = e2.length == 2 ? e2.charCodeAt(1) : 0, D4 = s; - return 55296 <= s && s <= 56319 && 56320 <= C4 && C4 <= 57343 && (s &= 1023, C4 &= 1023, D4 = s << 10 | C4, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; - }, u2.characterLength = function(e2) { - var s = this.eastAsianWidth(e2); - return s == "F" || s == "W" || s == "A" ? 2 : 1; +function j2(t2) { + return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; +} +var M3 = { exports: {} }; +(function(t2) { + var u3 = {}; + t2.exports = u3, u3.eastAsianWidth = function(e3) { + var s2 = e3.charCodeAt(0), C5 = e3.length == 2 ? e3.charCodeAt(1) : 0, D5 = s2; + return 55296 <= s2 && s2 <= 56319 && 56320 <= C5 && C5 <= 57343 && (s2 &= 1023, C5 &= 1023, D5 = s2 << 10 | C5, D5 += 65536), D5 == 12288 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 ? "F" : D5 == 8361 || 65377 <= D5 && D5 <= 65470 || 65474 <= D5 && D5 <= 65479 || 65482 <= D5 && D5 <= 65487 || 65490 <= D5 && D5 <= 65495 || 65498 <= D5 && D5 <= 65500 || 65512 <= D5 && D5 <= 65518 ? "H" : 4352 <= D5 && D5 <= 4447 || 4515 <= D5 && D5 <= 4519 || 4602 <= D5 && D5 <= 4607 || 9001 <= D5 && D5 <= 9002 || 11904 <= D5 && D5 <= 11929 || 11931 <= D5 && D5 <= 12019 || 12032 <= D5 && D5 <= 12245 || 12272 <= D5 && D5 <= 12283 || 12289 <= D5 && D5 <= 12350 || 12353 <= D5 && D5 <= 12438 || 12441 <= D5 && D5 <= 12543 || 12549 <= D5 && D5 <= 12589 || 12593 <= D5 && D5 <= 12686 || 12688 <= D5 && D5 <= 12730 || 12736 <= D5 && D5 <= 12771 || 12784 <= D5 && D5 <= 12830 || 12832 <= D5 && D5 <= 12871 || 12880 <= D5 && D5 <= 13054 || 13056 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42124 || 42128 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 55216 <= D5 && D5 <= 55238 || 55243 <= D5 && D5 <= 55291 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65106 || 65108 <= D5 && D5 <= 65126 || 65128 <= D5 && D5 <= 65131 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127490 || 127504 <= D5 && D5 <= 127546 || 127552 <= D5 && D5 <= 127560 || 127568 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 194367 || 177984 <= D5 && D5 <= 196605 || 196608 <= D5 && D5 <= 262141 ? "W" : 32 <= D5 && D5 <= 126 || 162 <= D5 && D5 <= 163 || 165 <= D5 && D5 <= 166 || D5 == 172 || D5 == 175 || 10214 <= D5 && D5 <= 10221 || 10629 <= D5 && D5 <= 10630 ? "Na" : D5 == 161 || D5 == 164 || 167 <= D5 && D5 <= 168 || D5 == 170 || 173 <= D5 && D5 <= 174 || 176 <= D5 && D5 <= 180 || 182 <= D5 && D5 <= 186 || 188 <= D5 && D5 <= 191 || D5 == 198 || D5 == 208 || 215 <= D5 && D5 <= 216 || 222 <= D5 && D5 <= 225 || D5 == 230 || 232 <= D5 && D5 <= 234 || 236 <= D5 && D5 <= 237 || D5 == 240 || 242 <= D5 && D5 <= 243 || 247 <= D5 && D5 <= 250 || D5 == 252 || D5 == 254 || D5 == 257 || D5 == 273 || D5 == 275 || D5 == 283 || 294 <= D5 && D5 <= 295 || D5 == 299 || 305 <= D5 && D5 <= 307 || D5 == 312 || 319 <= D5 && D5 <= 322 || D5 == 324 || 328 <= D5 && D5 <= 331 || D5 == 333 || 338 <= D5 && D5 <= 339 || 358 <= D5 && D5 <= 359 || D5 == 363 || D5 == 462 || D5 == 464 || D5 == 466 || D5 == 468 || D5 == 470 || D5 == 472 || D5 == 474 || D5 == 476 || D5 == 593 || D5 == 609 || D5 == 708 || D5 == 711 || 713 <= D5 && D5 <= 715 || D5 == 717 || D5 == 720 || 728 <= D5 && D5 <= 731 || D5 == 733 || D5 == 735 || 768 <= D5 && D5 <= 879 || 913 <= D5 && D5 <= 929 || 931 <= D5 && D5 <= 937 || 945 <= D5 && D5 <= 961 || 963 <= D5 && D5 <= 969 || D5 == 1025 || 1040 <= D5 && D5 <= 1103 || D5 == 1105 || D5 == 8208 || 8211 <= D5 && D5 <= 8214 || 8216 <= D5 && D5 <= 8217 || 8220 <= D5 && D5 <= 8221 || 8224 <= D5 && D5 <= 8226 || 8228 <= D5 && D5 <= 8231 || D5 == 8240 || 8242 <= D5 && D5 <= 8243 || D5 == 8245 || D5 == 8251 || D5 == 8254 || D5 == 8308 || D5 == 8319 || 8321 <= D5 && D5 <= 8324 || D5 == 8364 || D5 == 8451 || D5 == 8453 || D5 == 8457 || D5 == 8467 || D5 == 8470 || 8481 <= D5 && D5 <= 8482 || D5 == 8486 || D5 == 8491 || 8531 <= D5 && D5 <= 8532 || 8539 <= D5 && D5 <= 8542 || 8544 <= D5 && D5 <= 8555 || 8560 <= D5 && D5 <= 8569 || D5 == 8585 || 8592 <= D5 && D5 <= 8601 || 8632 <= D5 && D5 <= 8633 || D5 == 8658 || D5 == 8660 || D5 == 8679 || D5 == 8704 || 8706 <= D5 && D5 <= 8707 || 8711 <= D5 && D5 <= 8712 || D5 == 8715 || D5 == 8719 || D5 == 8721 || D5 == 8725 || D5 == 8730 || 8733 <= D5 && D5 <= 8736 || D5 == 8739 || D5 == 8741 || 8743 <= D5 && D5 <= 8748 || D5 == 8750 || 8756 <= D5 && D5 <= 8759 || 8764 <= D5 && D5 <= 8765 || D5 == 8776 || D5 == 8780 || D5 == 8786 || 8800 <= D5 && D5 <= 8801 || 8804 <= D5 && D5 <= 8807 || 8810 <= D5 && D5 <= 8811 || 8814 <= D5 && D5 <= 8815 || 8834 <= D5 && D5 <= 8835 || 8838 <= D5 && D5 <= 8839 || D5 == 8853 || D5 == 8857 || D5 == 8869 || D5 == 8895 || D5 == 8978 || 9312 <= D5 && D5 <= 9449 || 9451 <= D5 && D5 <= 9547 || 9552 <= D5 && D5 <= 9587 || 9600 <= D5 && D5 <= 9615 || 9618 <= D5 && D5 <= 9621 || 9632 <= D5 && D5 <= 9633 || 9635 <= D5 && D5 <= 9641 || 9650 <= D5 && D5 <= 9651 || 9654 <= D5 && D5 <= 9655 || 9660 <= D5 && D5 <= 9661 || 9664 <= D5 && D5 <= 9665 || 9670 <= D5 && D5 <= 9672 || D5 == 9675 || 9678 <= D5 && D5 <= 9681 || 9698 <= D5 && D5 <= 9701 || D5 == 9711 || 9733 <= D5 && D5 <= 9734 || D5 == 9737 || 9742 <= D5 && D5 <= 9743 || 9748 <= D5 && D5 <= 9749 || D5 == 9756 || D5 == 9758 || D5 == 9792 || D5 == 9794 || 9824 <= D5 && D5 <= 9825 || 9827 <= D5 && D5 <= 9829 || 9831 <= D5 && D5 <= 9834 || 9836 <= D5 && D5 <= 9837 || D5 == 9839 || 9886 <= D5 && D5 <= 9887 || 9918 <= D5 && D5 <= 9919 || 9924 <= D5 && D5 <= 9933 || 9935 <= D5 && D5 <= 9953 || D5 == 9955 || 9960 <= D5 && D5 <= 9983 || D5 == 10045 || D5 == 10071 || 10102 <= D5 && D5 <= 10111 || 11093 <= D5 && D5 <= 11097 || 12872 <= D5 && D5 <= 12879 || 57344 <= D5 && D5 <= 63743 || 65024 <= D5 && D5 <= 65039 || D5 == 65533 || 127232 <= D5 && D5 <= 127242 || 127248 <= D5 && D5 <= 127277 || 127280 <= D5 && D5 <= 127337 || 127344 <= D5 && D5 <= 127386 || 917760 <= D5 && D5 <= 917999 || 983040 <= D5 && D5 <= 1048573 || 1048576 <= D5 && D5 <= 1114109 ? "A" : "N"; + }, u3.characterLength = function(e3) { + var s2 = this.eastAsianWidth(e3); + return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; }; - function F4(e2) { - return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F5(e3) { + return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u2.length = function(e2) { - for (var s = F4(e2), C4 = 0, D4 = 0; D4 < s.length; D4++) - C4 = C4 + this.characterLength(s[D4]); - return C4; - }, u2.slice = function(e2, s, C4) { - textLen = u2.length(e2), s = s || 0, C4 = C4 || 1, s < 0 && (s = textLen + s), C4 < 0 && (C4 = textLen + C4); - for (var D4 = "", i2 = 0, o2 = F4(e2), E3 = 0; E3 < o2.length; E3++) { - var a2 = o2[E3], n = u2.length(a2); - if (i2 >= s - (n == 2 ? 1 : 0)) - if (i2 + n <= C4) - D4 += a2; + u3.length = function(e3) { + for (var s2 = F5(e3), C5 = 0, D5 = 0; D5 < s2.length; D5++) + C5 = C5 + this.characterLength(s2[D5]); + return C5; + }, u3.slice = function(e3, s2, C5) { + textLen = u3.length(e3), s2 = s2 || 0, C5 = C5 || 1, s2 < 0 && (s2 = textLen + s2), C5 < 0 && (C5 = textLen + C5); + for (var D5 = "", i3 = 0, n2 = F5(e3), E4 = 0; E4 < n2.length; E4++) { + var h4 = n2[E4], o3 = u3.length(h4); + if (i3 >= s2 - (o3 == 2 ? 1 : 0)) + if (i3 + o3 <= C5) + D5 += h4; else break; - i2 += n; + i3 += o3; } - return D4; + return D5; }; -})(G4); -var K3 = m3; -var Y2 = function() { +})(M3); +var J3 = M3.exports; +var Q2 = j2(J3); +var X2 = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; -function c2(t, u2 = {}) { - if (typeof t != "string" || t.length === 0 || (u2 = { ambiguousIsNarrow: true, ...u2 }, t = $3(t), t.length === 0)) +var DD2 = j2(X2); +function A2(t2, u3 = {}) { + if (typeof t2 != "string" || t2.length === 0 || (u3 = { ambiguousIsNarrow: true, ...u3 }, t2 = S3(t2), t2.length === 0)) return 0; - t = t.replace(Y2(), " "); - const F4 = u2.ambiguousIsNarrow ? 1 : 2; - let e2 = 0; - for (const s of t) { - const C4 = s.codePointAt(0); - if (C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879) + t2 = t2.replace(DD2(), " "); + const F5 = u3.ambiguousIsNarrow ? 1 : 2; + let e3 = 0; + for (const s2 of t2) { + const C5 = s2.codePointAt(0); + if (C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879) continue; - switch (K3.eastAsianWidth(s)) { + switch (Q2.eastAsianWidth(s2)) { case "F": case "W": - e2 += 2; + e3 += 2; break; case "A": - e2 += F4; + e3 += F5; break; default: - e2 += 1; + e3 += 1; } } - return e2; + return e3; } -var v3 = 10; -var L4 = (t = 0) => (u2) => `\x1B[${u2 + t}m`; -var M3 = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; -var T4 = (t = 0) => (u2, F4, e2) => `\x1B[${38 + t};2;${u2};${F4};${e2}m`; +var m3 = 10; +var T4 = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; +var P2 = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; +var W3 = (t2 = 0) => (u3, F5, e3) => `\x1B[${38 + t2};2;${u3};${F5};${e3}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var Z3 = Object.keys(r.color); -var H3 = Object.keys(r.bgColor); -[...Z3, ...H3]; -function U4() { - const t = /* @__PURE__ */ new Map(); - for (const [u2, F4] of Object.entries(r)) { - for (const [e2, s] of Object.entries(F4)) - r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F4[e2] = r[e2], t.set(s[0], s[1]); - Object.defineProperty(r, u2, { value: F4, enumerable: false }); +var uD2 = Object.keys(r.color); +var FD2 = Object.keys(r.bgColor); +[...uD2, ...FD2]; +function tD2() { + const t2 = /* @__PURE__ */ new Map(); + for (const [u3, F5] of Object.entries(r)) { + for (const [e3, s2] of Object.entries(F5)) + r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F5[e3] = r[e3], t2.set(s2[0], s2[1]); + Object.defineProperty(r, u3, { value: F5, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L4(), r.color.ansi256 = M3(), r.color.ansi16m = T4(), r.bgColor.ansi = L4(v3), r.bgColor.ansi256 = M3(v3), r.bgColor.ansi16m = T4(v3), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F4, e2) => u2 === F4 && F4 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F4 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - const F4 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); - if (!F4) + return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T4(), r.color.ansi256 = P2(), r.color.ansi16m = W3(), r.bgColor.ansi = T4(m3), r.bgColor.ansi256 = P2(m3), r.bgColor.ansi16m = W3(m3), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F5, e3) => u3 === F5 && F5 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F5 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + const F5 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); + if (!F5) return [0, 0, 0]; - let [e2] = F4; - e2.length === 3 && (e2 = [...e2].map((C4) => C4 + C4).join("")); - const s = Number.parseInt(e2, 16); - return [s >> 16 & 255, s >> 8 & 255, s & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let F4, e2, s; - if (u2 >= 232) - F4 = ((u2 - 232) * 10 + 8) / 255, e2 = F4, s = F4; + let [e3] = F5; + e3.length === 3 && (e3 = [...e3].map((C5) => C5 + C5).join("")); + const s2 = Number.parseInt(e3, 16); + return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let F5, e3, s2; + if (u3 >= 232) + F5 = ((u3 - 232) * 10 + 8) / 255, e3 = F5, s2 = F5; else { - u2 -= 16; - const i2 = u2 % 36; - F4 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; + u3 -= 16; + const i3 = u3 % 36; + F5 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; } - const C4 = Math.max(F4, e2, s) * 2; - if (C4 === 0) + const C5 = Math.max(F5, e3, s2) * 2; + if (C5 === 0) return 30; - let D4 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F4)); - return C4 === 2 && (D4 += 60), D4; - }, enumerable: false }, rgbToAnsi: { value: (u2, F4, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F4, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; + let D5 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F5)); + return C5 === 2 && (D5 += 60), D5; + }, enumerable: false }, rgbToAnsi: { value: (u3, F5, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F5, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; } -var q3 = U4(); -var p2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); -var J3 = 39; +var eD2 = tD2(); +var g2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); +var sD2 = 39; var b4 = "\x07"; -var W3 = "["; -var Q2 = "]"; +var O3 = "["; +var CD2 = "]"; var I3 = "m"; -var w4 = `${Q2}8;;`; -var N3 = (t) => `${p2.values().next().value}${W3}${t}${I3}`; -var j2 = (t) => `${p2.values().next().value}${w4}${t}${b4}`; -var X2 = (t) => t.split(" ").map((u2) => c2(u2)); -var _4 = (t, u2, F4) => { - const e2 = [...u2]; - let s = false, C4 = false, D4 = c2($3(t[t.length - 1])); - for (const [i2, o2] of e2.entries()) { - const E3 = c2(o2); - if (D4 + E3 <= F4 ? t[t.length - 1] += o2 : (t.push(o2), D4 = 0), p2.has(o2) && (s = true, C4 = e2.slice(i2 + 1).join("").startsWith(w4)), s) { - C4 ? o2 === b4 && (s = false, C4 = false) : o2 === I3 && (s = false); +var w4 = `${CD2}8;;`; +var N3 = (t2) => `${g2.values().next().value}${O3}${t2}${I3}`; +var L4 = (t2) => `${g2.values().next().value}${w4}${t2}${b4}`; +var iD2 = (t2) => t2.split(" ").map((u3) => A2(u3)); +var y3 = (t2, u3, F5) => { + const e3 = [...u3]; + let s2 = false, C5 = false, D5 = A2(S3(t2[t2.length - 1])); + for (const [i3, n2] of e3.entries()) { + const E4 = A2(n2); + if (D5 + E4 <= F5 ? t2[t2.length - 1] += n2 : (t2.push(n2), D5 = 0), g2.has(n2) && (s2 = true, C5 = e3.slice(i3 + 1).join("").startsWith(w4)), s2) { + C5 ? n2 === b4 && (s2 = false, C5 = false) : n2 === I3 && (s2 = false); continue; } - D4 += E3, D4 === F4 && i2 < e2.length - 1 && (t.push(""), D4 = 0); + D5 += E4, D5 === F5 && i3 < e3.length - 1 && (t2.push(""), D5 = 0); } - !D4 && t[t.length - 1].length > 0 && t.length > 1 && (t[t.length - 2] += t.pop()); + !D5 && t2[t2.length - 1].length > 0 && t2.length > 1 && (t2[t2.length - 2] += t2.pop()); }; -var DD2 = (t) => { - const u2 = t.split(" "); - let F4 = u2.length; - for (; F4 > 0 && !(c2(u2[F4 - 1]) > 0); ) - F4--; - return F4 === u2.length ? t : u2.slice(0, F4).join(" ") + u2.slice(F4).join(""); +var rD2 = (t2) => { + const u3 = t2.split(" "); + let F5 = u3.length; + for (; F5 > 0 && !(A2(u3[F5 - 1]) > 0); ) + F5--; + return F5 === u3.length ? t2 : u3.slice(0, F5).join(" ") + u3.slice(F5).join(""); }; -var uD2 = (t, u2, F4 = {}) => { - if (F4.trim !== false && t.trim() === "") +var ED2 = (t2, u3, F5 = {}) => { + if (F5.trim !== false && t2.trim() === "") return ""; - let e2 = "", s, C4; - const D4 = X2(t); - let i2 = [""]; - for (const [E3, a2] of t.split(" ").entries()) { - F4.trim !== false && (i2[i2.length - 1] = i2[i2.length - 1].trimStart()); - let n = c2(i2[i2.length - 1]); - if (E3 !== 0 && (n >= u2 && (F4.wordWrap === false || F4.trim === false) && (i2.push(""), n = 0), (n > 0 || F4.trim === false) && (i2[i2.length - 1] += " ", n++)), F4.hard && D4[E3] > u2) { - const B2 = u2 - n, A3 = 1 + Math.floor((D4[E3] - B2 - 1) / u2); - Math.floor((D4[E3] - 1) / u2) < A3 && i2.push(""), _4(i2, a2, u2); + let e3 = "", s2, C5; + const D5 = iD2(t2); + let i3 = [""]; + for (const [E4, h4] of t2.split(" ").entries()) { + F5.trim !== false && (i3[i3.length - 1] = i3[i3.length - 1].trimStart()); + let o3 = A2(i3[i3.length - 1]); + if (E4 !== 0 && (o3 >= u3 && (F5.wordWrap === false || F5.trim === false) && (i3.push(""), o3 = 0), (o3 > 0 || F5.trim === false) && (i3[i3.length - 1] += " ", o3++)), F5.hard && D5[E4] > u3) { + const B3 = u3 - o3, p4 = 1 + Math.floor((D5[E4] - B3 - 1) / u3); + Math.floor((D5[E4] - 1) / u3) < p4 && i3.push(""), y3(i3, h4, u3); continue; } - if (n + D4[E3] > u2 && n > 0 && D4[E3] > 0) { - if (F4.wordWrap === false && n < u2) { - _4(i2, a2, u2); + if (o3 + D5[E4] > u3 && o3 > 0 && D5[E4] > 0) { + if (F5.wordWrap === false && o3 < u3) { + y3(i3, h4, u3); continue; } - i2.push(""); + i3.push(""); } - if (n + D4[E3] > u2 && F4.wordWrap === false) { - _4(i2, a2, u2); + if (o3 + D5[E4] > u3 && F5.wordWrap === false) { + y3(i3, h4, u3); continue; } - i2[i2.length - 1] += a2; + i3[i3.length - 1] += h4; } - F4.trim !== false && (i2 = i2.map((E3) => DD2(E3))); - const o2 = [...i2.join(` + F5.trim !== false && (i3 = i3.map((E4) => rD2(E4))); + const n2 = [...i3.join(` `)]; - for (const [E3, a2] of o2.entries()) { - if (e2 += a2, p2.has(a2)) { - const { groups: B2 } = new RegExp(`(?:\\${W3}(?\\d+)m|\\${w4}(?.*)${b4})`).exec(o2.slice(E3).join("")) || { groups: {} }; - if (B2.code !== void 0) { - const A3 = Number.parseFloat(B2.code); - s = A3 === J3 ? void 0 : A3; + for (const [E4, h4] of n2.entries()) { + if (e3 += h4, g2.has(h4)) { + const { groups: B3 } = new RegExp(`(?:\\${O3}(?\\d+)m|\\${w4}(?.*)${b4})`).exec(n2.slice(E4).join("")) || { groups: {} }; + if (B3.code !== void 0) { + const p4 = Number.parseFloat(B3.code); + s2 = p4 === sD2 ? void 0 : p4; } else - B2.uri !== void 0 && (C4 = B2.uri.length === 0 ? void 0 : B2.uri); + B3.uri !== void 0 && (C5 = B3.uri.length === 0 ? void 0 : B3.uri); } - const n = q3.codes.get(Number(s)); - o2[E3 + 1] === ` -` ? (C4 && (e2 += j2("")), s && n && (e2 += N3(n))) : a2 === ` -` && (s && n && (e2 += N3(s)), C4 && (e2 += j2(C4))); + const o3 = eD2.codes.get(Number(s2)); + n2[E4 + 1] === ` +` ? (C5 && (e3 += L4("")), s2 && o3 && (e3 += N3(o3))) : h4 === ` +` && (s2 && o3 && (e3 += N3(s2)), C5 && (e3 += L4(C5))); } - return e2; + return e3; }; -function P2(t, u2, F4) { - return String(t).normalize().replace(/\r\n/g, ` +function R4(t2, u3, F5) { + return String(t2).normalize().replace(/\r\n/g, ` `).split(` -`).map((e2) => uD2(e2, u2, F4)).join(` +`).map((e3) => ED2(e3, u3, F5)).join(` `); } -function FD2(t, u2) { - if (t === u2) +var oD2 = Object.defineProperty; +var nD2 = (t2, u3, F5) => u3 in t2 ? oD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var a = (t2, u3, F5) => (nD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +function aD2(t2, u3) { + if (t2 === u3) return; - const F4 = t.split(` -`), e2 = u2.split(` -`), s = []; - for (let C4 = 0; C4 < Math.max(F4.length, e2.length); C4++) - F4[C4] !== e2[C4] && s.push(C4); - return s; + const F5 = t2.split(` +`), e3 = u3.split(` +`), s2 = []; + for (let C5 = 0; C5 < Math.max(F5.length, e3.length); C5++) + F5[C5] !== e3[C5] && s2.push(C5); + return s2; } -var R4 = Symbol("clack:cancel"); -function eD2(t) { - return t === R4; +var V4 = Symbol("clack:cancel"); +function hD2(t2) { + return t2 === V4; } -function g2(t, u2) { - t.isTTY && t.setRawMode(u2); +function v3(t2, u3) { + t2.isTTY && t2.setRawMode(u3); } -var V4 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); -var tD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); -var h2 = class { - constructor({ render: u2, input: F4 = import_node_process4.stdin, output: e2 = import_node_process4.stdout, ...s }, C4 = true) { - this._track = false, this._cursor = 0, this.state = "initial", this.error = "", this.subscribers = /* @__PURE__ */ new Map(), this._prevFrame = "", this.opts = s, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u2.bind(this), this._track = C4, this.input = F4, this.output = e2; +var z3 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); +var lD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); +var x3 = class { + constructor({ render: u3, input: F5 = import_node_process6.stdin, output: e3 = import_node_process6.stdout, ...s2 }, C5 = true) { + a(this, "input"), a(this, "output"), a(this, "rl"), a(this, "opts"), a(this, "_track", false), a(this, "_render"), a(this, "_cursor", 0), a(this, "state", "initial"), a(this, "value"), a(this, "error", ""), a(this, "subscribers", /* @__PURE__ */ new Map()), a(this, "_prevFrame", ""), this.opts = s2, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u3.bind(this), this._track = C5, this.input = F5, this.output = e3; } prompt() { - const u2 = new import_node_tty2.WriteStream(0); - return u2._write = (F4, e2, s) => { - this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s(); - }, this.input.pipe(u2), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u2, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), g2(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F4, e2) => { + const u3 = new import_node_tty2.WriteStream(0); + return u3._write = (F5, e3, s2) => { + this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s2(); + }, this.input.pipe(u3), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u3, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), v3(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F5, e3) => { this.once("submit", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(this.value); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(this.value); }), this.once("cancel", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(R4); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(V4); }); }); } - on(u2, F4) { - const e2 = this.subscribers.get(u2) ?? []; - e2.push({ cb: F4 }), this.subscribers.set(u2, e2); + on(u3, F5) { + const e3 = this.subscribers.get(u3) ?? []; + e3.push({ cb: F5 }), this.subscribers.set(u3, e3); } - once(u2, F4) { - const e2 = this.subscribers.get(u2) ?? []; - e2.push({ cb: F4, once: true }), this.subscribers.set(u2, e2); + once(u3, F5) { + const e3 = this.subscribers.get(u3) ?? []; + e3.push({ cb: F5, once: true }), this.subscribers.set(u3, e3); } - emit(u2, ...F4) { - const e2 = this.subscribers.get(u2) ?? [], s = []; - for (const C4 of e2) - C4.cb(...F4), C4.once && s.push(() => e2.splice(e2.indexOf(C4), 1)); - for (const C4 of s) - C4(); + emit(u3, ...F5) { + const e3 = this.subscribers.get(u3) ?? [], s2 = []; + for (const C5 of e3) + C5.cb(...F5), C5.once && s2.push(() => e3.splice(e3.indexOf(C5), 1)); + for (const C5 of s2) + C5(); } unsubscribe() { this.subscribers.clear(); } - onKeypress(u2, F4) { - if (this.state === "error" && (this.state = "active"), F4?.name && !this._track && V4.has(F4.name) && this.emit("cursor", V4.get(F4.name)), F4?.name && tD2.has(F4.name) && this.emit("cursor", F4.name), u2 && (u2.toLowerCase() === "y" || u2.toLowerCase() === "n") && this.emit("confirm", u2.toLowerCase() === "y"), u2 && this.emit("key", u2.toLowerCase()), F4?.name === "return") { + onKeypress(u3, F5) { + if (this.state === "error" && (this.state = "active"), F5?.name && !this._track && z3.has(F5.name) && this.emit("cursor", z3.get(F5.name)), F5?.name && lD2.has(F5.name) && this.emit("cursor", F5.name), u3 && (u3.toLowerCase() === "y" || u3.toLowerCase() === "n") && this.emit("confirm", u3.toLowerCase() === "y"), u3 === " " && this.opts.placeholder && (this.value || (this.rl.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u3 && this.emit("key", u3.toLowerCase()), F5?.name === "return") { if (this.opts.validate) { - const e2 = this.opts.validate(this.value); - e2 && (this.error = e2, this.state = "error", this.rl.write(this.value)); + const e3 = this.opts.validate(this.value); + e3 && (this.error = e3, this.state = "error", this.rl.write(this.value)); } this.state !== "error" && (this.state = "submit"); } - u2 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); + u3 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); } close() { this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(` -`), g2(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); +`), v3(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); } restoreCursor() { - const u2 = P2(this._prevFrame, process.stdout.columns, { hard: true }).split(` + const u3 = R4(this._prevFrame, process.stdout.columns, { hard: true }).split(` `).length - 1; - this.output.write(import_sisteransi.cursor.move(-999, u2 * -1)); + this.output.write(import_sisteransi.cursor.move(-999, u3 * -1)); } render() { - const u2 = P2(this._render(this) ?? "", process.stdout.columns, { hard: true }); - if (u2 !== this._prevFrame) { + const u3 = R4(this._render(this) ?? "", process.stdout.columns, { hard: true }); + if (u3 !== this._prevFrame) { if (this.state === "initial") this.output.write(import_sisteransi.cursor.hide); else { - const F4 = FD2(this._prevFrame, u2); - if (this.restoreCursor(), F4 && F4?.length === 1) { - const e2 = F4[0]; - this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.lines(1)); - const s = u2.split(` + const F5 = aD2(this._prevFrame, u3); + if (this.restoreCursor(), F5 && F5?.length === 1) { + const e3 = F5[0]; + this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.lines(1)); + const s2 = u3.split(` `); - this.output.write(s[e2]), this._prevFrame = u2, this.output.write(import_sisteransi.cursor.move(0, s.length - e2 - 1)); + this.output.write(s2[e3]), this._prevFrame = u3, this.output.write(import_sisteransi.cursor.move(0, s2.length - e3 - 1)); return; - } else if (F4 && F4?.length > 1) { - const e2 = F4[0]; - this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.down()); - const C4 = u2.split(` -`).slice(e2); - this.output.write(C4.join(` -`)), this._prevFrame = u2; + } else if (F5 && F5?.length > 1) { + const e3 = F5[0]; + this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.down()); + const s2 = u3.split(` +`).slice(e3); + this.output.write(s2.join(` +`)), this._prevFrame = u3; return; } this.output.write(import_sisteransi.erase.down()); } - this.output.write(u2), this.state === "initial" && (this.state = "active"), this._prevFrame = u2; + this.output.write(u3), this.state === "initial" && (this.state = "active"), this._prevFrame = u3; } } }; -var sD2 = class extends h2 { +var xD2 = class extends x3 { get cursor() { return this.value ? 0 : 1; } get _value() { return this.cursor === 0; } - constructor(u2) { - super(u2, false), this.value = !!u2.initialValue, this.on("value", () => { + constructor(u3) { + super(u3, false), this.value = !!u3.initialValue, this.on("value", () => { this.value = this._value; - }), this.on("confirm", (F4) => { - this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F4, this.state = "submit", this.close(); + }), this.on("confirm", (F5) => { + this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F5, this.state = "submit", this.close(); }), this.on("cursor", () => { this.value = !this.value; }); } }; -var iD2 = class extends h2 { - constructor(u2) { - super(u2, false), this.cursor = 0, this.options = u2.options, this.value = [...u2.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F4 }) => F4 === u2.cursorAt), 0), this.on("key", (F4) => { - F4 === "a" && this.toggleAll(); - }), this.on("cursor", (F4) => { - switch (F4) { +var pD2 = Object.defineProperty; +var fD2 = (t2, u3, F5) => u3 in t2 ? pD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var K3 = (t2, u3, F5) => (fD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +var gD2 = class extends x3 { + constructor(u3) { + super(u3, false), K3(this, "options"), K3(this, "cursor", 0), this.options = u3.options, this.value = [...u3.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F5 }) => F5 === u3.cursorAt), 0), this.on("key", (F5) => { + F5 === "a" && this.toggleAll(); + }), this.on("cursor", (F5) => { + switch (F5) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -18213,18 +29003,21 @@ var iD2 = class extends h2 { return this.options[this.cursor].value; } toggleAll() { - const u2 = this.value.length === this.options.length; - this.value = u2 ? [] : this.options.map((F4) => F4.value); + const u3 = this.value.length === this.options.length; + this.value = u3 ? [] : this.options.map((F5) => F5.value); } toggleValue() { - const u2 = this.value.includes(this._value); - this.value = u2 ? this.value.filter((F4) => F4 !== this._value) : [...this.value, this._value]; + const u3 = this.value.includes(this._value); + this.value = u3 ? this.value.filter((F5) => F5 !== this._value) : [...this.value, this._value]; } }; -var ED2 = class extends h2 { - constructor(u2) { - super(u2, false), this.cursor = 0, this.options = u2.options, this.cursor = this.options.findIndex(({ value: F4 }) => F4 === u2.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F4) => { - switch (F4) { +var bD2 = Object.defineProperty; +var wD2 = (t2, u3, F5) => u3 in t2 ? bD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var Z3 = (t2, u3, F5) => (wD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +var yD = class extends x3 { + constructor(u3) { + super(u3, false), Z3(this, "options"), Z3(this, "cursor", 0), this.options = u3.options, this.cursor = this.options.findIndex(({ value: F5 }) => F5 === u3.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F5) => { + switch (F5) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -18244,56 +29037,57 @@ var ED2 = class extends h2 { this.value = this._value.value; } }; -function aD2({ input: t = import_node_process4.stdin, output: u2 = import_node_process4.stdout, overwrite: F4 = true, hideCursor: e2 = true } = {}) { - const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); - const C4 = (D4, { name: i2 }) => { - if (String(D4) === "" && process.exit(0), !F4) +var PD = globalThis.process.platform.startsWith("win"); +function WD({ input: t2 = import_node_process6.stdin, output: u3 = import_node_process6.stdout, overwrite: F5 = true, hideCursor: e3 = true } = {}) { + const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); + const C5 = (D5, { name: i3 }) => { + if (String(D5) === "" && process.exit(0), !F5) return; - let E3 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; - f.moveCursor(u2, E3, a2, () => { - f.clearLine(u2, 1, () => { - t.once("keypress", C4); + let n2 = i3 === "return" ? 0 : -1, E4 = i3 === "return" ? -1 : 0; + f.moveCursor(u3, n2, E4, () => { + f.clearLine(u3, 1, () => { + t2.once("keypress", C5); }); }); }; - return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C4), () => { - t.off("keypress", C4), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); + return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C5), () => { + t2.off("keypress", C5), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); }; } // node_modules/@clack/prompts/dist/index.mjs -var import_node_process5 = __toESM(require("node:process"), 1); +var import_node_process7 = __toESM(require("node:process"), 1); var import_picocolors = __toESM(require_picocolors(), 1); var import_sisteransi2 = __toESM(require_src(), 1); function N4() { - return import_node_process5.default.platform !== "win32" ? import_node_process5.default.env.TERM !== "linux" : Boolean(import_node_process5.default.env.CI) || Boolean(import_node_process5.default.env.WT_SESSION) || Boolean(import_node_process5.default.env.TERMINUS_SUBLIME) || import_node_process5.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process5.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process5.default.env.TERM_PROGRAM === "vscode" || import_node_process5.default.env.TERM === "xterm-256color" || import_node_process5.default.env.TERM === "alacritty" || import_node_process5.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; + return import_node_process7.default.platform !== "win32" ? import_node_process7.default.env.TERM !== "linux" : Boolean(import_node_process7.default.env.CI) || Boolean(import_node_process7.default.env.WT_SESSION) || Boolean(import_node_process7.default.env.TERMINUS_SUBLIME) || import_node_process7.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process7.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process7.default.env.TERM_PROGRAM === "vscode" || import_node_process7.default.env.TERM === "xterm-256color" || import_node_process7.default.env.TERM === "alacritty" || import_node_process7.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } -var p3 = N4(); -var u = (r2, n) => p3 ? r2 : n; +var p2 = N4(); +var u = (r3, n2) => p2 ? r3 : n2; var W4 = u("\u25C6", "*"); var D3 = u("\u25A0", "x"); var F3 = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); var L5 = u("\u250C", "T"); -var a = u("\u2502", "|"); +var a2 = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w5 = u("\u25CF", ">"); var S4 = u("\u25CB", " "); var _5 = u("\u25FB", "[\u2022]"); var y4 = u("\u25FC", "[+]"); -var A2 = u("\u25FB", "[ ]"); +var A3 = u("\u25FB", "[ ]"); var q4 = u("\u25AA", "\u2022"); var R5 = u("\u2500", "-"); -var G5 = u("\u256E", "+"); -var H4 = u("\u251C", "+"); +var G4 = u("\u256E", "+"); +var H3 = u("\u251C", "+"); var K4 = u("\u256F", "+"); var U5 = u("\u25CF", "\u2022"); var Z4 = u("\u25C6", "*"); var z4 = u("\u25B2", "!"); var X3 = u("\u25A0", "x"); -var h3 = (r2) => { - switch (r2) { +var h2 = (r3) => { + switch (r3) { case "initial": case "active": return import_picocolors.default.cyan(W4); @@ -18305,138 +29099,138 @@ var h3 = (r2) => { return import_picocolors.default.green(f2); } }; -var Q3 = (r2) => { - const n = r2.active ?? "Yes", s = r2.inactive ?? "No"; - return new sD2({ active: n, inactive: s, initialValue: r2.initialValue ?? true, render() { - const t = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} -`, i2 = this.value ? n : s; +var Q3 = (r3) => { + const n2 = r3.active ?? "Yes", s2 = r3.inactive ?? "No"; + return new xD2({ active: n2, inactive: s2, initialValue: r3.initialValue ?? true, render() { + const t2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} +`, i3 = this.value ? n2 : s2; switch (this.state) { case "submit": - return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(i2)}`; + return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(i3)}`; case "cancel": - return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))} -${import_picocolors.default.gray(a)}`; + return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))} +${import_picocolors.default.gray(a2)}`; default: - return `${t}${import_picocolors.default.cyan(a)} ${this.value ? `${import_picocolors.default.green(w5)} ${n}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s)}` : `${import_picocolors.default.green(w5)} ${s}`} + return `${t2}${import_picocolors.default.cyan(a2)} ${this.value ? `${import_picocolors.default.green(w5)} ${n2}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n2)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s2)}` : `${import_picocolors.default.green(w5)} ${s2}`} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var ee = (r2) => { - const n = (s, t) => { - const i2 = s.label ?? String(s.value); - return t === "active" ? `${import_picocolors.default.green(w5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i2)}`; +var ee = (r3) => { + const n2 = (s2, t2) => { + const i3 = s2.label ?? String(s2.value); + return t2 === "active" ? `${import_picocolors.default.green(w5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i3)}`; }; - return new ED2({ options: r2.options, initialValue: r2.initialValue, render() { - const s = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} + return new yD({ options: r3.options, initialValue: r3.initialValue, render() { + const s2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} `; switch (this.state) { case "submit": - return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "selected")}`; + return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "selected")}`; case "cancel": - return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "cancelled")} -${import_picocolors.default.gray(a)}`; + return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "cancelled")} +${import_picocolors.default.gray(a2)}`; default: - return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => n(t, i2 === this.cursor ? "active" : "inactive")).join(` -${import_picocolors.default.cyan(a)} `)} + return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => n2(t2, i3 === this.cursor ? "active" : "inactive")).join(` +${import_picocolors.default.cyan(a2)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var re = (r2) => { - const n = (s, t) => { - const i2 = s.label ?? String(s.value); - return t === "active" ? `${import_picocolors.default.cyan(_5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : t === "active-selected" ? `${import_picocolors.default.green(y4)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "submitted" ? `${import_picocolors.default.dim(i2)}` : `${import_picocolors.default.dim(A2)} ${import_picocolors.default.dim(i2)}`; +var re = (r3) => { + const n2 = (s2, t2) => { + const i3 = s2.label ?? String(s2.value); + return t2 === "active" ? `${import_picocolors.default.cyan(_5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : t2 === "active-selected" ? `${import_picocolors.default.green(y4)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "submitted" ? `${import_picocolors.default.dim(i3)}` : `${import_picocolors.default.dim(A3)} ${import_picocolors.default.dim(i3)}`; }; - return new iD2({ options: r2.options, initialValues: r2.initialValues, required: r2.required ?? true, cursorAt: r2.cursorAt, validate(s) { - if (this.required && s.length === 0) + return new gD2({ options: r3.options, initialValues: r3.initialValues, required: r3.required ?? true, cursorAt: r3.cursorAt, validate(s2) { + if (this.required && s2.length === 0) return `Please select at least one option. ${import_picocolors.default.reset(import_picocolors.default.dim(`Press ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" space ")))} to select, ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" enter ")))} to submit`))}`; }, render() { - let s = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} + let s2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} `; switch (this.state) { case "submit": - return `${s}${import_picocolors.default.gray(a)} ${this.options.filter(({ value: t }) => this.value.includes(t)).map((t) => n(t, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; + return `${s2}${import_picocolors.default.gray(a2)} ${this.options.filter(({ value: t2 }) => this.value.includes(t2)).map((t2) => n2(t2, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; case "cancel": { - const t = this.options.filter(({ value: i2 }) => this.value.includes(i2)).map((i2) => n(i2, "cancelled")).join(import_picocolors.default.dim(", ")); - return `${s}${import_picocolors.default.gray(a)} ${t.trim() ? `${t} -${import_picocolors.default.gray(a)}` : ""}`; + const t2 = this.options.filter(({ value: i3 }) => this.value.includes(i3)).map((i3) => n2(i3, "cancelled")).join(import_picocolors.default.dim(", ")); + return `${s2}${import_picocolors.default.gray(a2)} ${t2.trim() ? `${t2} +${import_picocolors.default.gray(a2)}` : ""}`; } case "error": { - const t = this.error.split(` -`).map((i2, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i2)}` : ` ${i2}`).join(` + const t2 = this.error.split(` +`).map((i3, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i3)}` : ` ${i3}`).join(` `); - return s + import_picocolors.default.yellow(a) + " " + this.options.map((i2, c3) => { - const l = this.value.includes(i2.value), $4 = c3 === this.cursor; - return $4 && l ? n(i2, "active-selected") : l ? n(i2, "selected") : n(i2, $4 ? "active" : "inactive"); + return s2 + import_picocolors.default.yellow(a2) + " " + this.options.map((i3, c3) => { + const l3 = this.value.includes(i3.value), $6 = c3 === this.cursor; + return $6 && l3 ? n2(i3, "active-selected") : l3 ? n2(i3, "selected") : n2(i3, $6 ? "active" : "inactive"); }).join(` -${import_picocolors.default.yellow(a)} `) + ` -` + t + ` +${import_picocolors.default.yellow(a2)} `) + ` +` + t2 + ` `; } default: - return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => { - const c3 = this.value.includes(t.value), l = i2 === this.cursor; - return l && c3 ? n(t, "active-selected") : c3 ? n(t, "selected") : n(t, l ? "active" : "inactive"); + return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => { + const c3 = this.value.includes(t2.value), l3 = i3 === this.cursor; + return l3 && c3 ? n2(t2, "active-selected") : c3 ? n2(t2, "selected") : n2(t2, l3 ? "active" : "inactive"); }).join(` -${import_picocolors.default.cyan(a)} `)} +${import_picocolors.default.cyan(a2)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var b5 = (r2) => r2.replace(ue(), ""); -var ie = (r2 = "", n = "") => { - const s = ` -${r2} +var b5 = (r3) => r3.replace(ue(), ""); +var ie = (r3 = "", n2 = "") => { + const s2 = ` +${r3} `.split(` -`), t = Math.max(s.reduce((c3, l) => (l = b5(l), l.length > c3 ? l.length : c3), 0), b5(n).length) + 2, i2 = s.map((c3) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c3)}${" ".repeat(t - b5(c3).length)}${import_picocolors.default.gray(a)}`).join(` +`), t2 = Math.max(s2.reduce((c3, l3) => (l3 = b5(l3), l3.length > c3 ? l3.length : c3), 0), b5(n2).length) + 2, i3 = s2.map((c3) => `${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(c3)}${" ".repeat(t2 - b5(c3).length)}${import_picocolors.default.gray(a2)}`).join(` `); - process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R5.repeat(Math.max(t - n.length - 1, 1)) + G5)} -${i2} -${import_picocolors.default.gray(H4 + R5.repeat(t + 2) + K4)} + process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R5.repeat(Math.max(t2 - n2.length - 1, 1)) + G4)} +${i3} +${import_picocolors.default.gray(H3 + R5.repeat(t2 + 2) + K4)} `); }; -var ae = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L5)} ${r2} +var ae = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L5)} ${r3} `); }; -var ce = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.gray(o)} ${r2} +var ce = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.gray(o)} ${r3} `); }; -var C3 = p3 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; +var C3 = p2 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r2, n; - const s = p3 ? 80 : 120; - return { start(t = "") { - t = t.replace(/\.?\.?\.$/, ""), r2 = aD2(), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.magenta("\u25CB")} ${t} + let r3, n2; + const s2 = p2 ? 80 : 120; + return { start(t2 = "") { + t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.magenta("\u25CB")} ${t2} `); - let i2 = 0, c3 = 0; - n = setInterval(() => { - let l = C3[i2]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} -`), i2 = i2 === C3.length - 1 ? 0 : i2 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; - }, s); - }, stop(t = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${t} -`), r2(); + let i3 = 0, c3 = 0; + n2 = setInterval(() => { + let l3 = C3[i3]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} +`), i3 = i3 === C3.length - 1 ? 0 : i3 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; + }, s2); + }, stop(t2 = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.green(f2)} ${t2} +`), r3(); } }; }; function ue() { - const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r2, "g"); + const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r3, "g"); } // src/generateCommitMessageFromGitDiff.ts @@ -18656,6 +29450,32 @@ function getI18nLocal(value) { // src/commands/config.ts dotenv.config(); +var MODEL_LIST = { + openai: [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-turbo", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ], + anthropic: [ + "claude-3-haiku-20240307", + "claude-3-sonnet-20240229", + "claude-3-opus-20240229" + ] +}; +var getDefaultModel = (provider3) => { + switch (provider3) { + case "ollama": + return ""; + case "anthropic": + return MODEL_LIST.anthropic[0]; + default: + return MODEL_LIST.openai[0]; + } +}; var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -18665,11 +29485,11 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config9 = {}) { validateConfig( - "API_KEY", - value || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", - "You need to provide an API key" + "OpenAI API_KEY", + value || config9.OCO_ANTHROPIC_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, @@ -18678,11 +29498,19 @@ var configValidators = { ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config8["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, + config9["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, "Must be 51 characters long" ); return value; }, + ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config9 = {}) { + validateConfig( + "ANTHROPIC_API_KEY", + value || config9.OCO_OPENAI_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic API key" + ); + return value; + }, ["OCO_DESCRIPTION" /* OCO_DESCRIPTION */](value) { validateConfig( "OCO_DESCRIPTION" /* OCO_DESCRIPTION */, @@ -18750,16 +29578,8 @@ var configValidators = { ["OCO_MODEL" /* OCO_MODEL */](value) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-1106-preview", - "gpt-4-0125-preview", - "gpt-4-turbo", - "gpt-4-turbo-preview" - ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` ); return value; }, @@ -18793,10 +29613,11 @@ var configValidators = { [ "", "openai", + "anthropic", "ollama", "test" ].includes(value), - `${value} is not supported yet, use 'ollama' or 'openai' (default)` + `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` ); return value; }, @@ -18813,12 +29634,13 @@ var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); var getConfig = () => { const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, + OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", + OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", @@ -18830,19 +29652,19 @@ var getConfig = () => { if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config8 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config8)) { - if (["null", "undefined"].includes(config8[configKey])) { - config8[configKey] = void 0; + const config9 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config9)) { + if (["null", "undefined"].includes(config9[configKey])) { + config9[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config8[configKey] ?? configFromEnv[configKey], - config8 + config9[configKey] ?? configFromEnv[configKey], + config9 ); - config8[configKey] = validValue; + config9[configKey] = validValue; } catch (error) { ce(`Unknown '${configKey}' config option.`); ce( @@ -18851,10 +29673,10 @@ var getConfig = () => { process.exit(1); } } - return config8; + return config9; }; var setConfig = (keyValues) => { - const config8 = getConfig() || {}; + const config9 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -18866,9 +29688,9 @@ var setConfig = (keyValues) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config8[configKey] = validValue; + config9[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config8), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config9), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; var configCommand = G3( @@ -18879,19 +29701,19 @@ var configCommand = G3( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode2, keyValues } = argv._; - if (mode2 === "get" /* get */) { - const config8 = getConfig() || {}; + const { mode: mode3, keyValues } = argv._; + if (mode3 === "get" /* get */) { + const config9 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config8[key]}`); + ce(`${key}=${config9[key]}`); } - } else if (mode2 === "set" /* set */) { + } else if (mode3 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode3}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -18934,12 +29756,12 @@ var llmReadableRules = { enumRule: (key, applicable, value) => `The ${key} should ${applicable} be one of the following values: - ${Array.isArray(value) ? value.join("\n - ") : value}.`, enumTypeRule: (key, applicable, value, prompt) => `The ${key} should ${applicable} be one of the following values: - - ${Array.isArray(value) ? value.map((v4) => { - const description = getTypeRuleExtraDescription(v4, prompt); + - ${Array.isArray(value) ? value.map((v5) => { + const description = getTypeRuleExtraDescription(v5, prompt); if (description) { - return `${v4} (${description})`; + return `${v5} (${description})`; } else - return v4; + return v5; }).join("\n - ") : value}.`, fullStopRule: (key, applicable, value) => `The ${key} should ${applicable} end with '${value}'.`, maxLengthRule: (key, applicable, value) => `The ${key} should ${applicable} have ${value} characters or less.`, @@ -18992,8 +29814,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config8) => { - const { rules, prompt } = config8; +var inferPromptsFromCommitlintConfig = (config9) => { + const { rules, prompt } = config9; if (!rules) return []; return Object.keys(rules).map( @@ -19099,7 +29921,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e2) { + } catch (e3) { exists = false; } return exists; @@ -19170,8 +29992,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream2 = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - const pattern = "[object FormData]"; - return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); + let kind2; + return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -19179,21 +30001,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i2; - let l; + let i3; + let l3; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; fn.call(null, obj[key], key, obj); } } @@ -19201,10 +30023,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i2 = keys.length; + let i3 = keys.length; let _key; - while (i2-- > 0) { - _key = keys[i2]; + while (i3-- > 0) { + _key = keys[i3]; if (key === _key.toLowerCase()) { return _key; } @@ -19232,20 +30054,20 @@ function merge() { result[targetKey] = val; } }; - for (let i2 = 0, l = arguments.length; i2 < l; i2++) { - arguments[i2] && forEach(arguments[i2], assignValue); + for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + arguments[i3] && forEach(arguments[i3], assignValue); } return result; } -var extend = (a2, b6, thisArg, { allOwnKeys } = {}) => { - forEach(b6, (val, key) => { +var extend = (a4, b7, thisArg, { allOwnKeys } = {}) => { + forEach(b7, (val, key) => { if (thisArg && isFunction(val)) { - a2[key] = bind(val, thisArg); + a4[key] = bind(val, thisArg); } else { - a2[key] = val; + a4[key] = val; } }, { allOwnKeys }); - return a2; + return a4; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -19263,7 +30085,7 @@ var inherits = (constructor, superConstructor, props, descriptors3) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i2; + let i3; let prop; const merged = {}; destObj = destObj || {}; @@ -19271,9 +30093,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i2 = props.length; - while (i2-- > 0) { - prop = props[i2]; + i3 = props.length; + while (i3-- > 0) { + prop = props[i3]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -19297,12 +30119,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i2 = thing.length; - if (!isNumber(i2)) + let i3 = thing.length; + if (!isNumber(i3)) return null; - const arr = new Array(i2); - while (i2-- > 0) { - arr[i2] = thing[i2]; + const arr = new Array(i3); + while (i3-- > 0) { + arr[i3] = thing[i3]; } return arr; }; @@ -19332,7 +30154,7 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m4, p1, p22) { + function replacer(m5, p1, p22) { return p1.toUpperCase() + p22; } ); @@ -19343,8 +30165,9 @@ var reduceDescriptors = (obj, reducer) => { const descriptors3 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors3, (descriptor, name) => { - if (reducer(descriptor, name, obj) !== false) { - reducedDescriptors[name] = descriptor; + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -19371,12 +30194,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define = (arr) => { + const define2 = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -19392,11 +30215,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet; + const { length } = alphabet2; while (size--) { - str += alphabet[Math.random() * length | 0]; + str += alphabet2[Math.random() * length | 0]; } return str; }; @@ -19405,19 +30228,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i2) => { + const visit = (source, i3) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i2] = source; + stack[i3] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i2 + 1); + const reducedValue = visit(value, i3 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i2] = void 0; + stack[i3] = void 0; return target; } } @@ -19425,6 +30248,8 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; +var isAsyncFn = kindOfTest("AsyncFunction"); +var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -19474,11 +30299,13 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject + toJSONObject, + isAsyncFn, + isThenable }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config8, request, response) { +function AxiosError(message, code, config9, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -19488,7 +30315,7 @@ function AxiosError(message, code, config8, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config8 && (this.config = config8); + config9 && (this.config = config9); request && (this.request = request); response && (this.response = response); } @@ -19529,14 +30356,14 @@ var descriptors2 = {}; }); Object.defineProperties(AxiosError, descriptors2); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config8, request, response, customProps) => { +AxiosError.from = (error, code, config9, request, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config8, request, response); + AxiosError.call(axiosError, error.message, code, config9, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -19558,9 +30385,9 @@ function removeBrackets(key) { function renderKey(path5, key, dots) { if (!path5) return key; - return path5.concat(key).map(function each(token, i2) { + return path5.concat(key).map(function each(token, i3) { token = removeBrackets(token); - return !dots && i2 ? "[" + token + "]" : token; + return !dots && i3 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -19699,9 +30526,9 @@ var AxiosURLSearchParams_default = AxiosURLSearchParams; function encode2(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } -function buildURL(url3, params, options) { +function buildURL(url2, params, options) { if (!params) { - return url3; + return url2; } const _encode = options && options.encode || encode2; const serializeFn = options && options.serialize; @@ -19712,13 +30539,13 @@ function buildURL(url3, params, options) { serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode); } if (serializedParams) { - const hashmarkIndex = url3.indexOf("#"); + const hashmarkIndex = url2.indexOf("#"); if (hashmarkIndex !== -1) { - url3 = url3.slice(0, hashmarkIndex); + url2 = url2.slice(0, hashmarkIndex); } - url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url3; + return url2; } // node_modules/axios/lib/core/InterceptorManager.js @@ -19777,11 +30604,32 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; +// node_modules/axios/lib/platform/common/utils.js +var utils_exports = {}; +__export(utils_exports, { + hasBrowserEnv: () => hasBrowserEnv, + hasStandardBrowserEnv: () => hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv +}); +var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; +var hasStandardBrowserEnv = ((product) => { + return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; +})(typeof navigator !== "undefined" && navigator.product); +var hasStandardBrowserWebWorkerEnv = (() => { + return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; +})(); + +// node_modules/axios/lib/platform/index.js +var platform_default = { + ...utils_exports, + ...node_default +}; + // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path5, helpers) { - if (node_default.isNode && utils_default.isBuffer(value)) { + if (platform_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -19799,11 +30647,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i2; + let i3; const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; obj[key] = arr[key]; } return obj; @@ -19811,6 +30659,8 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path5, value, target, index) { let name = path5[index++]; + if (name === "__proto__") + return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path5.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -19843,17 +30693,14 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js -var DEFAULT_CONTENT_TYPE = { - "Content-Type": void 0 -}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -19869,11 +30716,8 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - if (!hasJSONContentType) { - return data; - } + const isFormData3 = utils_default.isFormData(data); + if (isFormData3) { return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -19915,12 +30759,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e3.name === "SyntaxError") { + throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e2; + throw e3; } } } @@ -19932,24 +30776,22 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: node_default.classes.FormData, - Blob: node_default.classes.Blob + FormData: platform_default.classes.FormData, + Blob: platform_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*" + "Accept": "application/json, text/plain, */*", + "Content-Type": void 0 } } }; -utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { +utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { defaults.headers[method] = {}; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); -}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -19976,11 +30818,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i2; + let i3; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i2 = line.indexOf(":"); - key = line.substring(0, i2).trim().toLowerCase(); - val = line.substring(i2 + 1).trim(); + i3 = line.indexOf(":"); + key = line.substring(0, i3).trim().toLowerCase(); + val = line.substring(i3 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -20017,9 +30859,7 @@ function parseTokens(str) { } return tokens; } -function isValidHeaderName(str) { - return /^[-_a-zA-Z]+$/.test(str.trim()); -} +var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -20037,7 +30877,7 @@ function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w6, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w7, char, str) => { return char.toUpperCase() + str; }); } @@ -20130,10 +30970,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i2 = keys.length; + let i3 = keys.length; let deleted = false; - while (i2--) { - const key = keys[i2]; + while (i3--) { + const key = keys[i3]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -20205,18 +31045,26 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.freezeMethods(AxiosHeaders.prototype); +utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + }; +}); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config8 = this || defaults_default; - const context = response || config8; + const config9 = this || defaults_default; + const context = response || config9; const headers = AxiosHeaders_default.from(context.headers); let data = context.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config8, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config9, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -20228,8 +31076,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config8, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config8, request); +function CanceledError(message, config9, request) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config9, request); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -20254,13 +31102,13 @@ function settle(resolve, reject, response) { } // node_modules/axios/lib/helpers/isAbsoluteURL.js -function isAbsoluteURL(url3) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); +function isAbsoluteURL(url2) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); } // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -20280,18 +31128,18 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.3.4"; +var VERSION = "1.6.8"; // node_modules/axios/lib/helpers/parseProtocol.js -function parseProtocol(url3) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url3); +function parseProtocol(url2) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2); return match && match[1] || ""; } // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || node_default.classes.Blob; + const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -20366,11 +31214,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i2 = tail; + let i3 = tail; let bytesCount = 0; - while (i2 !== head) { - bytesCount += bytes[i2++]; - i2 = i2 % samplesCount; + while (i3 !== head) { + bytesCount += bytes[i3++]; + i3 = i3 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -20536,7 +31384,7 @@ var AxiosTransformStream = class extends import_stream2.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = __toESM(require("events"), 1); +var import_events = require("events"); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -20565,9 +31413,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName } = this.constructor; + const { escapeName: escapeName2 } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -20658,6 +31506,21 @@ var ZlibHeaderTransformStream = class extends import_stream4.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; +// node_modules/axios/lib/helpers/callbackify.js +var callbackify = (fn, reducer) => { + return utils_default.isAsyncFn(fn) ? function(...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +}; +var callbackify_default = callbackify; + // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -20670,15 +31533,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = node_default.protocols.map((protocol) => { +var supportedProtocols = platform_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options) { +function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options); + options.beforeRedirects.config(options, responseDetails); } } function setProxy(options, configProxy, location) { @@ -20736,21 +31599,43 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var http_default = isHttpAdapterSupported && function httpAdapter(config8) { +var resolveFamily = ({ address, family }) => { + if (!utils_default.isString(address)) { + throw TypeError("address must be a string"); + } + return { + address, + family: family || (address.indexOf(".") < 0 ? 6 : 4) + }; +}; +var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); +var http_default = isHttpAdapterSupported && function httpAdapter(config9) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data } = config8; - const { responseType, responseEncoding } = config8; - const method = config8.method.toUpperCase(); + let { data, lookup, family } = config9; + const { responseType, responseEncoding } = config9; + const method = config9.method.toUpperCase(); let isDone; let rejected = false; let req; - const emitter = new import_events.default(); + if (lookup) { + const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + const emitter = new import_events.EventEmitter(); const onFinished = () => { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(abort); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(abort); } - if (config8.signal) { - config8.signal.removeEventListener("abort", abort); + if (config9.signal) { + config9.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -20762,16 +31647,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config8, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config9, req) : reason); } emitter.once("abort", reject); - if (config8.cancelToken || config8.signal) { - config8.cancelToken && config8.cancelToken.subscribe(abort); - if (config8.signal) { - config8.signal.aborted ? abort() : config8.signal.addEventListener("abort", abort); + if (config9.cancelToken || config9.signal) { + config9.cancelToken && config9.cancelToken.subscribe(abort); + if (config9.signal) { + config9.signal.aborted ? abort() : config9.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config8.baseURL, config8.url); + const fullPath = buildFullPath(config9.baseURL, config9.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -20781,15 +31666,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 405, statusText: "method not allowed", headers: {}, - config: config8 + config: config9 }); } try { - convertedData = fromDataURI(config8.url, responseType === "blob", { - Blob: config8.env && config8.env.Blob + convertedData = fromDataURI(config9.url, responseType === "blob", { + Blob: config9.env && config9.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config8); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config9); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -20804,21 +31689,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config8 + config: config9 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config8 + config9 )); } - const headers = AxiosHeaders_default.from(config8.headers).normalize(); + const headers = AxiosHeaders_default.from(config9.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config8.onDownloadProgress; - const onUploadProgress = config8.onUploadProgress; - const maxRate = config8.maxRate; + const onDownloadProgress = config9.onDownloadProgress; + const onUploadProgress = config9.onUploadProgress; + const maxRate = config9.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -20835,7 +31720,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e2) { + } catch (e3) { } } } else if (utils_default.isBlob(data)) { @@ -20852,15 +31737,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config8 + config9 )); } headers.setContentLength(data.length, false); - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { + if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config8 + config9 )); } } @@ -20886,9 +31771,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); } let auth = void 0; - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password || ""; + if (config9.auth) { + const username = config9.auth.username || ""; + const password = config9.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -20901,13 +31786,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { path5 = buildURL( parsed.pathname + parsed.search, - config8.params, - config8.paramsSerializer + config9.params, + config9.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config9; + customErr.url = config9.url; customErr.exists = true; return reject(customErr); } @@ -20920,42 +31805,44 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { path: path5, method, headers: headers.toJSON(), - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config9.httpAgent, https: config9.httpsAgent }, auth, protocol, + family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - if (config8.socketPath) { - options.socketPath = config8.socketPath; + !utils_default.isUndefined(lookup) && (options.lookup = lookup); + if (config9.socketPath) { + options.socketPath = config9.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config8.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config9.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { + options.agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; + if (config9.transport) { + transport = config9.transport; + } else if (config9.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config9.maxRedirects) { + options.maxRedirects = config9.maxRedirects; } - if (config8.beforeRedirect) { - options.beforeRedirects.config = config8.beforeRedirect; + if (config9.beforeRedirect) { + options.beforeRedirects.config = config9.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config9.maxBodyLength > -1) { + options.maxBodyLength = config9.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config9.insecureHTTPParser) { + options.insecureHTTPParser = config9.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -20976,11 +31863,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } let responseStream = res; const lastRequest = res.req || req; - if (config8.decompress !== false && res.headers["content-encoding"]) { + if (config9.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch (res.headers["content-encoding"]) { + switch ((res.headers["content-encoding"] || "").toLowerCase()) { case "gzip": case "x-gzip": case "compress": @@ -21009,7 +31896,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config8, + config: config9, request: lastRequest }; if (responseType === "stream") { @@ -21021,13 +31908,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config9.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config9, lastRequest )); } @@ -21037,9 +31924,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config9.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config9, lastRequest ); responseStream.destroy(err); @@ -21048,7 +31935,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config8, lastRequest)); + reject(AxiosError_default.from(err, null, config9, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -21061,7 +31948,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } response.data = responseData; } catch (err) { - reject(AxiosError_default.from(err, null, config8, response.request, response)); + return reject(AxiosError_default.from(err, null, config9, response.request, response)); } settle(resolve, reject, response); }); @@ -21078,18 +31965,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config8, req)); + reject(AxiosError_default.from(err, null, config9, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - const timeout = parseInt(config8.timeout, 10); - if (isNaN(timeout)) { + if (config9.timeout) { + const timeout = parseInt(config9.timeout, 10); + if (Number.isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config8, + config9, req )); return; @@ -21097,15 +31984,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config9.transitional || transitional_default; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, + config9, req )); abort(); @@ -21123,7 +32010,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config8, req)); + abort(new CanceledError_default("Request stream has been aborted", config9, req)); } }); data.pipe(req); @@ -21134,52 +32021,39 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { - return { - write: function write(name, value, expires, path5, domain, secure) { - const cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - if (utils_default.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - if (utils_default.isString(path5)) { - cookie.push("path=" + path5); - } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); - } - if (secure === true) { - cookie.push("secure"); - } - document.cookie = cookie.join("; "); - }, - read: function read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, "", Date.now() - 864e5); - } - }; -}() : function nonStandardBrowserEnv() { - return { - write: function write() { - }, - read: function read() { - return null; - }, - remove: function remove() { - } - }; -}(); +var cookies_default = platform_default.hasStandardBrowserEnv ? { + write(name, value, expires, path5, domain, secure) { + const cookie = [name + "=" + encodeURIComponent(value)]; + utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); + utils_default.isString(path5) && cookie.push("path=" + path5); + utils_default.isString(domain) && cookie.push("domain=" + domain); + secure === true && cookie.push("secure"); + document.cookie = cookie.join("; "); + }, + read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove(name) { + this.write(name, "", Date.now() - 864e5); + } +} : { + write() { + }, + read() { + return null; + }, + remove() { + } +}; // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { +var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; - function resolveURL(url3) { - let href = url3; + function resolveURL(url2) { + let href = url2; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -21201,7 +32075,7 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv2() { +}() : function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; @@ -21211,9 +32085,9 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e2) => { - const loaded = e2.loaded; - const total = e2.lengthComputable ? e2.total : void 0; + return (e3) => { + const loaded = e3.loaded; + const total = e3.lengthComputable ? e3.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -21225,39 +32099,45 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e2 + event: e3 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config8) { +var xhr_default = isXHRAdapterSupported && function(config9) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config8.data; - const requestHeaders = AxiosHeaders_default.from(config8.headers).normalize(); - const responseType = config8.responseType; + let requestData = config9.data; + const requestHeaders = AxiosHeaders_default.from(config9.headers).normalize(); + let { responseType, withXSRFToken } = config9; let onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } - if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { - requestHeaders.setContentType(false); + let contentType; + if (utils_default.isFormData(requestData)) { + if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { + requestHeaders.setContentType(false); + } else if ((contentType = requestHeaders.getContentType()) !== false) { + const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; + requestHeaders.setContentType([type || "multipart/form-data", ...tokens].join("; ")); + } } let request = new XMLHttpRequest(); - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + if (config9.auth) { + const username = config9.auth.username || ""; + const password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + const fullPath = buildFullPath(config9.baseURL, config9.url); + request.open(config9.method.toUpperCase(), buildURL(fullPath, config9.params, config9.paramsSerializer), true); + request.timeout = config9.timeout; function onloadend() { if (!request) { return; @@ -21271,7 +32151,7 @@ var xhr_default = isXHRAdapterSupported && function(config8) { status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config8, + config: config9, request }; settle(function _resolve(value) { @@ -21300,31 +32180,34 @@ var xhr_default = isXHRAdapterSupported && function(config8) { if (!request) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config8, request)); + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config9, request)); request = null; }; request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config8, request)); + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config9, request)); request = null; }; request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config9.transitional || transitional_default; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, + config9, request )); request = null; }; - if (node_default.isStandardBrowserEnv) { - const xsrfValue = (config8.withCredentials || isURLSameOrigin_default(fullPath)) && config8.xsrfCookieName && cookies_default.read(config8.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config8.xsrfHeaderName, xsrfValue); + if (platform_default.hasStandardBrowserEnv) { + withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config9)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { + const xsrfValue = config9.xsrfHeaderName && config9.xsrfCookieName && cookies_default.read(config9.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config9.xsrfHeaderName, xsrfValue); + } } } requestData === void 0 && requestHeaders.setContentType(null); @@ -21333,35 +32216,35 @@ var xhr_default = isXHRAdapterSupported && function(config8) { request.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils_default.isUndefined(config9.withCredentials)) { + request.withCredentials = !!config9.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request.responseType = config9.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config8.onDownloadProgress, true)); + if (typeof config9.onDownloadProgress === "function") { + request.addEventListener("progress", progressEventReducer(config9.onDownloadProgress, true)); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config8.onUploadProgress)); + if (typeof config9.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", progressEventReducer(config9.onUploadProgress)); } - if (config8.cancelToken || config8.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = (cancel) => { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config8, request) : cancel); + reject(!cancel || cancel.type ? new CanceledError_default(null, config9, request) : cancel); request.abort(); request = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && node_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config8)); + if (protocol && platform_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config9)); return; } request.send(requestData || null); @@ -21377,36 +32260,44 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e2) { + } catch (e3) { } Object.defineProperty(fn, "adapterName", { value }); } }); +var renderReason = (reason) => `- ${reason}`; +var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - for (let i2 = 0; i2 < length; i2++) { - nameOrAdapter = adapters[i2]; - if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { + const rejectedReasons = {}; + for (let i3 = 0; i3 < length; i3++) { + nameOrAdapter = adapters[i3]; + let id; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === void 0) { + throw new AxiosError_default(`Unknown adapter '${id}'`); + } + } + if (adapter) { break; } + rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - if (adapter === false) { - throw new AxiosError_default( - `Adapter ${nameOrAdapter} is not supported by the environment`, - "ERR_NOT_SUPPORT" - ); - } - throw new Error( - utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build") + ); + let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; + throw new AxiosError_default( + `There is no suitable adapter to dispatch the request ` + s2, + "ERR_NOT_SUPPORT" ); - } - if (!utils_default.isFunction(adapter)) { - throw new TypeError("adapter is not a function"); } return adapter; }, @@ -21414,41 +32305,41 @@ var adapters_default = { }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config9) { + if (config9.cancelToken) { + config9.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { - throw new CanceledError_default(null, config8); + if (config9.signal && config9.signal.aborted) { + throw new CanceledError_default(null, config9); } } -function dispatchRequest(config8) { - throwIfCancellationRequested(config8); - config8.headers = AxiosHeaders_default.from(config8.headers); - config8.data = transformData.call( - config8, - config8.transformRequest +function dispatchRequest(config9) { + throwIfCancellationRequested(config9); + config9.headers = AxiosHeaders_default.from(config9.headers); + config9.data = transformData.call( + config9, + config9.transformRequest ); - if (["post", "put", "patch"].indexOf(config8.method) !== -1) { - config8.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config9.method) !== -1) { + config9.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config8.adapter || defaults_default.adapter); - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config8); + const adapter = adapters_default.getAdapter(config9.adapter || defaults_default.adapter); + return adapter(config9).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config9); response.data = transformData.call( - config8, - config8.transformResponse, + config9, + config9.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config8); + throwIfCancellationRequested(config9); if (reason && reason.response) { reason.response.data = transformData.call( - config8, - config8.transformResponse, + config9, + config9.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -21459,10 +32350,10 @@ function dispatchRequest(config8) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config8 = {}; + const config9 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -21473,30 +32364,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a2, b6, caseless) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(a2, b6, caseless); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2, caseless); + function mergeDeepProperties(a4, b7, caseless) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(a4, b7, caseless); + } else if (!utils_default.isUndefined(a4)) { + return getMergedValue(void 0, a4, caseless); } } - function valueFromConfig2(a2, b6) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(void 0, b6); + function valueFromConfig2(a4, b7) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(void 0, b7); } } - function defaultToConfig2(a2, b6) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(void 0, b6); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2); + function defaultToConfig2(a4, b7) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(void 0, b7); + } else if (!utils_default.isUndefined(a4)) { + return getMergedValue(void 0, a4); } } - function mergeDirectKeys(a2, b6, prop) { + function mergeDirectKeys(a4, b7, prop) { if (prop in config22) { - return getMergedValue(a2, b6); + return getMergedValue(a4, b7); } else if (prop in config1) { - return getMergedValue(void 0, a2); + return getMergedValue(void 0, a4); } } const mergeMap = { @@ -21510,6 +32401,7 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -21527,21 +32419,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a2, b6) => mergeDeepProperties(headersToObject(a2), headersToObject(b6), true) + headers: (a4, b7) => mergeDeepProperties(headersToObject(a4), headersToObject(b7), true) }; - utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); }); - return config8; + return config9; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { +["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i3) => { validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings = {}; @@ -21573,9 +32465,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i2 = keys.length; - while (i2-- > 0) { - const opt = keys[i2]; + let i3 = keys.length; + while (i3-- > 0) { + const opt = keys[i3]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -21605,15 +32497,32 @@ var Axios = class { response: new InterceptorManager_default() }; } - request(configOrUrl, config8) { - if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; - } else { - config8 = configOrUrl || {}; + async request(configOrUrl, config9) { + try { + return await this._request(configOrUrl, config9); + } catch (err) { + if (err instanceof Error) { + let dummy; + Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; + if (!err.stack) { + err.stack = stack; + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { + err.stack += "\n" + stack; + } + } + throw err; } - config8 = mergeConfig(this.defaults, config8); - const { transitional: transitional2, paramsSerializer, headers } = config8; + } + _request(configOrUrl, config9) { + if (typeof configOrUrl === "string") { + config9 = config9 || {}; + config9.url = configOrUrl; + } else { + config9 = configOrUrl || {}; + } + config9 = mergeConfig(this.defaults, config9); + const { transitional: transitional2, paramsSerializer, headers } = config9; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -21621,29 +32530,34 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer !== void 0) { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); + if (paramsSerializer != null) { + if (utils_default.isFunction(paramsSerializer)) { + config9.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); + } } - config8.method = (config8.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders; - contextHeaders = headers && utils_default.merge( + config9.method = (config9.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders = headers && utils_default.merge( headers.common, - headers[config8.method] + headers[config9.method] ); - contextHeaders && utils_default.forEach( + headers && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config8.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config9.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -21654,25 +32568,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i2 = 0; + let i3 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config8); - while (i2 < len) { - promise = promise.then(chain[i2++], chain[i2++]); + promise = Promise.resolve(config9); + while (i3 < len) { + promise = promise.then(chain[i3++], chain[i3++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config8; - i2 = 0; - while (i2 < len) { - const onFulfilled = requestInterceptorChain[i2++]; - const onRejected = requestInterceptorChain[i2++]; + let newConfig = config9; + i3 = 0; + while (i3 < len) { + const onFulfilled = requestInterceptorChain[i3++]; + const onRejected = requestInterceptorChain[i3++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -21685,37 +32599,37 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i2 = 0; + i3 = 0; len = responseInterceptorChain.length; - while (i2 < len) { - promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); + while (i3 < len) { + promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); } return promise; } - getUri(config8) { - config8 = mergeConfig(this.defaults, config8); - const fullPath = buildFullPath(config8.baseURL, config8.url); - return buildURL(fullPath, config8.params, config8.paramsSerializer); + getUri(config9) { + config9 = mergeConfig(this.defaults, config9); + const fullPath = buildFullPath(config9.baseURL, config9.url); + return buildURL(fullPath, config9.params, config9.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url3, config8) { - return this.request(mergeConfig(config8 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { + Axios.prototype[method] = function(url2, config9) { + return this.request(mergeConfig(config9 || {}, { method, - url: url3, - data: (config8 || {}).data + url: url2, + data: (config9 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url3, data, config8) { - return this.request(mergeConfig(config8 || {}, { + return function httpMethod(url2, data, config9) { + return this.request(mergeConfig(config9 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" } : {}, - url: url3, + url: url2, data })); }; @@ -21739,9 +32653,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i2 = token._listeners.length; - while (i2-- > 0) { - token._listeners[i2](cancel); + let i3 = token._listeners.length; + while (i3-- > 0) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -21756,11 +32670,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config8, request) { + executor(function cancel(message, config9, request) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config8, request); + token.reason = new CanceledError_default(message, config9, request); resolvePromise(token.reason); }); } @@ -21913,6 +32827,7 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -21933,6 +32848,7 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, + getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -21962,8 +32878,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama" || config3?.OCO_AI_PROVIDER == "test"; -if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { +var provider = config3?.OCO_AI_PROVIDER; +if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY= . If you are using GPT, make sure you add payment details, so API works.`" @@ -21974,6 +32890,14 @@ if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; +if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( + ", " + )}` + ); + process.exit(1); +} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -21994,7 +32918,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b6) => a2 + b6, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -22023,7 +32947,7 @@ var api = new OpenAi(); var OllamaAi = class { async generateCommitMessage(messages) { const model = "mistral"; - const url3 = "http://localhost:11434/api/chat"; + const url2 = "http://localhost:11434/api/chat"; const p4 = { model, messages, @@ -22031,7 +32955,7 @@ var OllamaAi = class { stream: false }; try { - const response = await axios_default.post(url3, p4, { + const response = await axios_default.post(url2, p4, { headers: { "Content-Type": "application/json" } @@ -22046,6 +32970,2165 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// node_modules/@anthropic-ai/sdk/version.mjs +var VERSION3 = "0.19.2"; + +// node_modules/@anthropic-ai/sdk/_shims/registry.mjs +var auto = false; +var kind = void 0; +var fetch = void 0; +var Request = void 0; +var Response = void 0; +var Headers = void 0; +var FormData3 = void 0; +var Blob2 = void 0; +var File = void 0; +var ReadableStream = void 0; +var getMultipartRequestOptions = void 0; +var getDefaultAgent = void 0; +var fileFromPath = void 0; +var isFsReadStream = void 0; +function setShims(shims, options = { auto: false }) { + if (auto) { + throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); + } + if (kind) { + throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); + } + auto = options.auto; + kind = shims.kind; + fetch = shims.fetch; + Request = shims.Request; + Response = shims.Response; + Headers = shims.Headers; + FormData3 = shims.FormData; + Blob2 = shims.Blob; + File = shims.File; + ReadableStream = shims.ReadableStream; + getMultipartRequestOptions = shims.getMultipartRequestOptions; + getDefaultAgent = shims.getDefaultAgent; + fileFromPath = shims.fileFromPath; + isFsReadStream = shims.isFsReadStream; +} + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var nf = __toESM(require_lib3(), 1); + +// node_modules/formdata-node/lib/esm/FormData.js +var import_util4 = require("util"); +init_File(); +init_isFile(); + +// node_modules/formdata-node/lib/esm/isBlob.js +init_Blob(); +var isBlob2 = (value) => value instanceof Blob3; + +// node_modules/formdata-node/lib/esm/FormData.js +init_isFunction(); + +// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js +var import_util3 = require("util"); +var deprecateConstructorEntries = (0, import_util3.deprecate)(() => { +}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); + +// node_modules/formdata-node/lib/esm/FormData.js +var __classPrivateFieldGet3 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _FormData_instances; +var _FormData_entries; +var _FormData_setEntry; +var FormData4 = class { + constructor(entries) { + _FormData_instances.add(this); + _FormData_entries.set(this, /* @__PURE__ */ new Map()); + if (entries) { + deprecateConstructorEntries(); + entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); + } + } + static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { + return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); + } + append(name, value, fileName) { + __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: true, + rawValue: value, + argsLength: arguments.length + }); + } + set(name, value, fileName) { + __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: false, + rawValue: value, + argsLength: arguments.length + }); + } + get(name) { + const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return null; + } + return field[0]; + } + getAll(name) { + const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return []; + } + return field.slice(); + } + has(name) { + return __classPrivateFieldGet3(this, _FormData_entries, "f").has(String(name)); + } + delete(name) { + __classPrivateFieldGet3(this, _FormData_entries, "f").delete(String(name)); + } + *keys() { + for (const key of __classPrivateFieldGet3(this, _FormData_entries, "f").keys()) { + yield key; + } + } + *entries() { + for (const name of this.keys()) { + const values = this.getAll(name); + for (const value of values) { + yield [name, value]; + } + } + } + *values() { + for (const [, value] of this) { + yield value; + } + } + [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { + const methodName = append2 ? "append" : "set"; + if (argsLength < 2) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); + } + name = String(name); + let value; + if (isFile2(rawValue)) { + value = fileName === void 0 ? rawValue : new File2([rawValue], fileName, { + type: rawValue.type, + lastModified: rawValue.lastModified + }); + } else if (isBlob2(rawValue)) { + value = new File2([rawValue], fileName === void 0 ? "blob" : fileName, { + type: rawValue.type + }); + } else if (fileName) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); + } else { + value = String(rawValue); + } + const values = __classPrivateFieldGet3(this, _FormData_entries, "f").get(name); + if (!values) { + return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); + } + if (!append2) { + return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); + } + values.push(value); + }, Symbol.iterator)]() { + return this.entries(); + } + forEach(callback, thisArg) { + for (const [name, value] of this) { + callback.call(thisArg, value, name, this); + } + } + get [Symbol.toStringTag]() { + return "FormData"; + } + [import_util4.inspect.custom]() { + return this[Symbol.toStringTag]; + } +}; + +// node_modules/formdata-node/lib/esm/index.js +init_Blob(); +init_File(); + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); +var import_abort_controller = __toESM(require_abort_controller(), 1); +var import_node_fs3 = require("node:fs"); + +// node_modules/form-data-encoder/lib/esm/util/createBoundary.js +var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; +function createBoundary() { + let size = 16; + let res = ""; + while (size--) { + res += alphabet[Math.random() * alphabet.length << 0]; + } + return res; +} +var createBoundary_default = createBoundary; + +// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js +var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); +function isPlainObject2(value) { + if (getType(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var isPlainObject_default = isPlainObject2; + +// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js +var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { + if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { + return "\r\n"; + } + return match; +}); +var normalizeValue_default = normalizeValue2; + +// node_modules/form-data-encoder/lib/esm/util/escapeName.js +var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); +var escapeName_default = escapeName; + +// node_modules/form-data-encoder/lib/esm/util/isFunction.js +var isFunction3 = (value) => typeof value === "function"; +var isFunction_default = isFunction3; + +// node_modules/form-data-encoder/lib/esm/util/isFileLike.js +var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); + +// node_modules/form-data-encoder/lib/esm/util/isFormData.js +var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); + +// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js +var __classPrivateFieldSet3 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet4 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _FormDataEncoder_instances; +var _FormDataEncoder_CRLF; +var _FormDataEncoder_CRLF_BYTES; +var _FormDataEncoder_CRLF_BYTES_LENGTH; +var _FormDataEncoder_DASHES; +var _FormDataEncoder_encoder; +var _FormDataEncoder_footer; +var _FormDataEncoder_form; +var _FormDataEncoder_options; +var _FormDataEncoder_getFieldHeader; +var defaultOptions = { + enableAdditionalHeaders: false +}; +var FormDataEncoder = class { + constructor(form, boundaryOrOptions, options) { + _FormDataEncoder_instances.add(this); + _FormDataEncoder_CRLF.set(this, "\r\n"); + _FormDataEncoder_CRLF_BYTES.set(this, void 0); + _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); + _FormDataEncoder_DASHES.set(this, "-".repeat(2)); + _FormDataEncoder_encoder.set(this, new TextEncoder()); + _FormDataEncoder_footer.set(this, void 0); + _FormDataEncoder_form.set(this, void 0); + _FormDataEncoder_options.set(this, void 0); + if (!isFormData2(form)) { + throw new TypeError("Expected first argument to be a FormData instance."); + } + let boundary; + if (isPlainObject_default(boundaryOrOptions)) { + options = boundaryOrOptions; + } else { + boundary = boundaryOrOptions; + } + if (!boundary) { + boundary = createBoundary_default(); + } + if (typeof boundary !== "string") { + throw new TypeError("Expected boundary argument to be a string."); + } + if (options && !isPlainObject_default(options)) { + throw new TypeError("Expected options argument to be an object."); + } + __classPrivateFieldSet3(this, _FormDataEncoder_form, form, "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")), "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); + this.boundary = `form-data-boundary-${boundary}`; + this.contentType = `multipart/form-data; boundary=${this.boundary}`; + __classPrivateFieldSet3(this, _FormDataEncoder_footer, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); + this.contentLength = String(this.getContentLength()); + this.headers = Object.freeze({ + "Content-Type": this.contentType, + "Content-Length": this.contentLength + }); + Object.defineProperties(this, { + boundary: { writable: false, configurable: false }, + contentType: { writable: false, configurable: false }, + contentLength: { writable: false, configurable: false }, + headers: { writable: false, configurable: false } + }); + } + getContentLength() { + let length = 0; + for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f")) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + length += __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; + length += isFileLike(value) ? value.size : value.byteLength; + length += __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); + } + return length + __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f").byteLength; + } + *values() { + for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f").entries()) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + yield __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); + yield value; + yield __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f"); + } + yield __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f"); + } + async *encode() { + for (const part of this.values()) { + if (isFileLike(part)) { + yield* part.stream(); + } else { + yield part; + } + } + } + [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { + let header = ""; + header += `${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; + if (isFileLike(value)) { + header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Type: ${value.type || "application/octet-stream"}`; + } + if (__classPrivateFieldGet4(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { + header += `${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; + } + return __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); + }, Symbol.iterator)]() { + return this.values(); + } + [Symbol.asyncIterator]() { + return this.encode(); + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_node_stream = require("node:stream"); + +// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs +var MultipartBody = class { + constructor(body) { + this.body = body; + } + get [Symbol.toStringTag]() { + return "MultipartBody"; + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); +var fileFromPathWarned = false; +async function fileFromPath3(path5, ...args) { + const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); + if (!fileFromPathWarned) { + console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path5)}) instead`); + fileFromPathWarned = true; + } + return await _fileFromPath(path5, ...args); +} +var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +async function getMultipartRequestOptions2(form, opts) { + const encoder = new FormDataEncoder(form); + const readable = import_node_stream.Readable.from(encoder); + const body = new MultipartBody(readable); + const headers = { + ...opts.headers, + ...encoder.headers, + "Content-Length": encoder.contentLength + }; + return { ...opts, body, headers }; +} +function getRuntime() { + if (typeof AbortController === "undefined") { + globalThis.AbortController = import_abort_controller.AbortController; + } + return { + kind: "node", + fetch: nf.default, + Request: nf.Request, + Response: nf.Response, + Headers: nf.Headers, + FormData: FormData4, + Blob: Blob3, + File: File2, + ReadableStream: import_ponyfill_es2018.ReadableStream, + getMultipartRequestOptions: getMultipartRequestOptions2, + getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, + fileFromPath: fileFromPath3, + isFsReadStream: (value) => value instanceof import_node_fs3.ReadStream + }; +} + +// node_modules/@anthropic-ai/sdk/_shims/index.mjs +if (!kind) + setShims(getRuntime(), { auto: true }); + +// node_modules/@anthropic-ai/sdk/error.mjs +var error_exports = {}; +__export(error_exports, { + APIConnectionError: () => APIConnectionError, + APIConnectionTimeoutError: () => APIConnectionTimeoutError, + APIError: () => APIError, + APIUserAbortError: () => APIUserAbortError, + AnthropicError: () => AnthropicError, + AuthenticationError: () => AuthenticationError, + BadRequestError: () => BadRequestError, + ConflictError: () => ConflictError, + InternalServerError: () => InternalServerError, + NotFoundError: () => NotFoundError, + PermissionDeniedError: () => PermissionDeniedError, + RateLimitError: () => RateLimitError, + UnprocessableEntityError: () => UnprocessableEntityError +}); +var AnthropicError = class extends Error { +}; +var APIError = class extends AnthropicError { + constructor(status, error, message, headers) { + super(`${APIError.makeMessage(status, error, message)}`); + this.status = status; + this.headers = headers; + this.error = error; + } + static makeMessage(status, error, message) { + const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; + if (status && msg) { + return `${status} ${msg}`; + } + if (status) { + return `${status} status code (no body)`; + } + if (msg) { + return msg; + } + return "(no status code or body)"; + } + static generate(status, errorResponse, message, headers) { + if (!status) { + return new APIConnectionError({ cause: castToError(errorResponse) }); + } + const error = errorResponse; + if (status === 400) { + return new BadRequestError(status, error, message, headers); + } + if (status === 401) { + return new AuthenticationError(status, error, message, headers); + } + if (status === 403) { + return new PermissionDeniedError(status, error, message, headers); + } + if (status === 404) { + return new NotFoundError(status, error, message, headers); + } + if (status === 409) { + return new ConflictError(status, error, message, headers); + } + if (status === 422) { + return new UnprocessableEntityError(status, error, message, headers); + } + if (status === 429) { + return new RateLimitError(status, error, message, headers); + } + if (status >= 500) { + return new InternalServerError(status, error, message, headers); + } + return new APIError(status, error, message, headers); + } +}; +var APIUserAbortError = class extends APIError { + constructor({ message } = {}) { + super(void 0, void 0, message || "Request was aborted.", void 0); + this.status = void 0; + } +}; +var APIConnectionError = class extends APIError { + constructor({ message, cause }) { + super(void 0, void 0, message || "Connection error.", void 0); + this.status = void 0; + if (cause) + this.cause = cause; + } +}; +var APIConnectionTimeoutError = class extends APIConnectionError { + constructor({ message } = {}) { + super({ message: message ?? "Request timed out." }); + } +}; +var BadRequestError = class extends APIError { + constructor() { + super(...arguments); + this.status = 400; + } +}; +var AuthenticationError = class extends APIError { + constructor() { + super(...arguments); + this.status = 401; + } +}; +var PermissionDeniedError = class extends APIError { + constructor() { + super(...arguments); + this.status = 403; + } +}; +var NotFoundError = class extends APIError { + constructor() { + super(...arguments); + this.status = 404; + } +}; +var ConflictError = class extends APIError { + constructor() { + super(...arguments); + this.status = 409; + } +}; +var UnprocessableEntityError = class extends APIError { + constructor() { + super(...arguments); + this.status = 422; + } +}; +var RateLimitError = class extends APIError { + constructor() { + super(...arguments); + this.status = 429; + } +}; +var InternalServerError = class extends APIError { +}; + +// node_modules/@anthropic-ai/sdk/streaming.mjs +var Stream = class { + constructor(iterator, controller) { + this.iterator = iterator; + this.controller = controller; + } + static fromSSEResponse(response, controller) { + let consumed = false; + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const sse of _iterSSEMessages(response, controller)) { + if (sse.event === "completion") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "ping") { + continue; + } + if (sse.event === "error") { + const errText = sse.data; + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); + } + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + static fromReadableStream(readableStream, controller) { + let consumed = false; + async function* iterLines() { + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(readableStream); + for await (const chunk of iter) { + for (const line of lineDecoder.decode(chunk)) { + yield line; + } + } + for (const line of lineDecoder.flush()) { + yield line; + } + } + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const line of iterLines()) { + if (done) + continue; + if (line) + yield JSON.parse(line); + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + [Symbol.asyncIterator]() { + return this.iterator(); + } + tee() { + const left = []; + const right = []; + const iterator = this.iterator(); + const teeIterator = (queue) => { + return { + next: () => { + if (queue.length === 0) { + const result = iterator.next(); + left.push(result); + right.push(result); + } + return queue.shift(); + } + }; + }; + return [ + new Stream(() => teeIterator(left), this.controller), + new Stream(() => teeIterator(right), this.controller) + ]; + } + toReadableStream() { + const self2 = this; + let iter; + const encoder = new TextEncoder(); + return new ReadableStream({ + async start() { + iter = self2[Symbol.asyncIterator](); + }, + async pull(ctrl) { + try { + const { value, done } = await iter.next(); + if (done) + return ctrl.close(); + const bytes = encoder.encode(JSON.stringify(value) + "\n"); + ctrl.enqueue(bytes); + } catch (err) { + ctrl.error(err); + } + }, + async cancel() { + await iter.return?.(); + } + }); + } +}; +async function* _iterSSEMessages(response, controller) { + if (!response.body) { + controller.abort(); + throw new AnthropicError(`Attempted to iterate over a response with no body`); + } + const sseDecoder = new SSEDecoder(); + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(response.body); + for await (const sseChunk of iterSSEChunks(iter)) { + for (const line of lineDecoder.decode(sseChunk)) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } + } + for (const line of lineDecoder.flush()) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } +} +async function* iterSSEChunks(iterator) { + let data = new Uint8Array(); + for await (const chunk of iterator) { + if (chunk == null) { + continue; + } + const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; + let newData = new Uint8Array(data.length + binaryChunk.length); + newData.set(data); + newData.set(binaryChunk, data.length); + data = newData; + let patternIndex; + while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { + yield data.slice(0, patternIndex); + data = data.slice(patternIndex); + } + } + if (data.length > 0) { + yield data; + } +} +function findDoubleNewlineIndex(buffer) { + const newline = 10; + const carriage = 13; + for (let i3 = 0; i3 < buffer.length - 2; i3++) { + if (buffer[i3] === newline && buffer[i3 + 1] === newline) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { + return i3 + 4; + } + } + return -1; +} +var SSEDecoder = class { + constructor() { + this.event = null; + this.data = []; + this.chunks = []; + } + decode(line) { + if (line.endsWith("\r")) { + line = line.substring(0, line.length - 1); + } + if (!line) { + if (!this.event && !this.data.length) + return null; + const sse = { + event: this.event, + data: this.data.join("\n"), + raw: this.chunks + }; + this.event = null; + this.data = []; + this.chunks = []; + return sse; + } + this.chunks.push(line); + if (line.startsWith(":")) { + return null; + } + let [fieldname, _7, value] = partition(line, ":"); + if (value.startsWith(" ")) { + value = value.substring(1); + } + if (fieldname === "event") { + this.event = value; + } else if (fieldname === "data") { + this.data.push(value); + } + return null; + } +}; +var LineDecoder = class { + constructor() { + this.buffer = []; + this.trailingCR = false; + } + decode(chunk) { + let text = this.decodeText(chunk); + if (this.trailingCR) { + text = "\r" + text; + this.trailingCR = false; + } + if (text.endsWith("\r")) { + this.trailingCR = true; + text = text.slice(0, -1); + } + if (!text) { + return []; + } + const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); + let lines = text.split(LineDecoder.NEWLINE_REGEXP); + if (trailingNewline) { + lines.pop(); + } + if (lines.length === 1 && !trailingNewline) { + this.buffer.push(lines[0]); + return []; + } + if (this.buffer.length > 0) { + lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; + this.buffer = []; + } + if (!trailingNewline) { + this.buffer = [lines.pop() || ""]; + } + return lines; + } + decodeText(bytes) { + if (bytes == null) + return ""; + if (typeof bytes === "string") + return bytes; + if (typeof Buffer !== "undefined") { + if (bytes instanceof Buffer) { + return bytes.toString(); + } + if (bytes instanceof Uint8Array) { + return Buffer.from(bytes).toString(); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); + } + if (typeof TextDecoder !== "undefined") { + if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { + this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); + return this.textDecoder.decode(bytes); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); + } + throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); + } + flush() { + if (!this.buffer.length && !this.trailingCR) { + return []; + } + const lines = [this.buffer.join("")]; + this.buffer = []; + this.trailingCR = false; + return lines; + } +}; +LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); +LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; +function partition(str, delimiter) { + const index = str.indexOf(delimiter); + if (index !== -1) { + return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; + } + return [str, "", ""]; +} +function readableStreamAsyncIterable(stream4) { + if (stream4[Symbol.asyncIterator]) + return stream4; + const reader = stream4.getReader(); + return { + async next() { + try { + const result = await reader.read(); + if (result?.done) + reader.releaseLock(); + return result; + } catch (e3) { + reader.releaseLock(); + throw e3; + } + }, + async return() { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + await cancelPromise; + return { done: true, value: void 0 }; + }, + [Symbol.asyncIterator]() { + return this; + } + }; +} + +// node_modules/@anthropic-ai/sdk/uploads.mjs +var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; +var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); +var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; +async function toFile(value, name, options) { + value = await value; + options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); + if (isResponseLike(value)) { + const blob = await value.blob(); + name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); + return new File([blob], name, options); + } + const bits = await getBytes(value); + name || (name = getName(value) ?? "unknown_file"); + if (!options.type) { + const type = bits[0]?.type; + if (typeof type === "string") { + options = { ...options, type }; + } + } + return new File(bits, name, options); +} +async function getBytes(value) { + let parts = []; + if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { + parts.push(value); + } else if (isBlobLike(value)) { + parts.push(await value.arrayBuffer()); + } else if (isAsyncIterableIterator(value)) { + for await (const chunk of value) { + parts.push(chunk); + } + } else { + throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); + } + return parts; +} +function propsForError(value) { + const props = Object.getOwnPropertyNames(value); + return `[${props.map((p4) => `"${p4}"`).join(", ")}]`; +} +function getName(value) { + return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); +} +var getStringFromMaybeBuffer = (x5) => { + if (typeof x5 === "string") + return x5; + if (typeof Buffer !== "undefined" && x5 instanceof Buffer) + return String(x5); + return void 0; +}; +var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; +var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; + +// node_modules/@anthropic-ai/sdk/core.mjs +var __classPrivateFieldSet5 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet6 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _AbstractPage_client; +async function defaultParseResponse(props) { + const { response } = props; + if (props.options.stream) { + debug("response", response.status, response.url, response.headers, response.body); + if (props.options.__streamClass) { + return props.options.__streamClass.fromSSEResponse(response, props.controller); + } + return Stream.fromSSEResponse(response, props.controller); + } + if (response.status === 204) { + return null; + } + if (props.options.__binaryResponse) { + return response; + } + const contentType = response.headers.get("content-type"); + const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); + if (isJSON) { + const json = await response.json(); + debug("response", response.status, response.url, response.headers, json); + return json; + } + const text = await response.text(); + debug("response", response.status, response.url, response.headers, text); + return text; +} +var APIPromise = class extends Promise { + constructor(responsePromise, parseResponse = defaultParseResponse) { + super((resolve) => { + resolve(null); + }); + this.responsePromise = responsePromise; + this.parseResponse = parseResponse; + } + _thenUnwrap(transform) { + return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); + } + asResponse() { + return this.responsePromise.then((p4) => p4.response); + } + async withResponse() { + const [data, response] = await Promise.all([this.parse(), this.asResponse()]); + return { data, response }; + } + parse() { + if (!this.parsedPromise) { + this.parsedPromise = this.responsePromise.then(this.parseResponse); + } + return this.parsedPromise; + } + then(onfulfilled, onrejected) { + return this.parse().then(onfulfilled, onrejected); + } + catch(onrejected) { + return this.parse().catch(onrejected); + } + finally(onfinally) { + return this.parse().finally(onfinally); + } +}; +var APIClient = class { + constructor({ + baseURL, + maxRetries = 2, + timeout = 6e5, + httpAgent, + fetch: overridenFetch + }) { + this.baseURL = baseURL; + this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); + this.timeout = validatePositiveInteger("timeout", timeout); + this.httpAgent = httpAgent; + this.fetch = overridenFetch ?? fetch; + } + authHeaders(opts) { + return {}; + } + defaultHeaders(opts) { + return { + Accept: "application/json", + "Content-Type": "application/json", + "User-Agent": this.getUserAgent(), + ...getPlatformHeaders(), + ...this.authHeaders(opts) + }; + } + validateHeaders(headers, customHeaders) { + } + defaultIdempotencyKey() { + return `stainless-node-retry-${uuid4()}`; + } + get(path5, opts) { + return this.methodRequest("get", path5, opts); + } + post(path5, opts) { + return this.methodRequest("post", path5, opts); + } + patch(path5, opts) { + return this.methodRequest("patch", path5, opts); + } + put(path5, opts) { + return this.methodRequest("put", path5, opts); + } + delete(path5, opts) { + return this.methodRequest("delete", path5, opts); + } + methodRequest(method, path5, opts) { + return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path5, ...opts2 }))); + } + getAPIList(path5, Page, opts) { + return this.requestAPIList(Page, { method: "get", path: path5, ...opts }); + } + calculateContentLength(body) { + if (typeof body === "string") { + if (typeof Buffer !== "undefined") { + return Buffer.byteLength(body, "utf8").toString(); + } + if (typeof TextEncoder !== "undefined") { + const encoder = new TextEncoder(); + const encoded = encoder.encode(body); + return encoded.length.toString(); + } + } + return null; + } + buildRequest(options) { + const { method, path: path5, query, headers = {} } = options; + const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; + const contentLength = this.calculateContentLength(body); + const url2 = this.buildURL(path5, query); + if ("timeout" in options) + validatePositiveInteger("timeout", options.timeout); + const timeout = options.timeout ?? this.timeout; + const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); + const minAgentTimeout = timeout + 1e3; + if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { + httpAgent.options.timeout = minAgentTimeout; + } + if (this.idempotencyHeader && method !== "get") { + if (!options.idempotencyKey) + options.idempotencyKey = this.defaultIdempotencyKey(); + headers[this.idempotencyHeader] = options.idempotencyKey; + } + const reqHeaders = this.buildHeaders({ options, headers, contentLength }); + const req = { + method, + ...body && { body }, + headers: reqHeaders, + ...httpAgent && { agent: httpAgent }, + signal: options.signal ?? null + }; + return { req, url: url2, timeout }; + } + buildHeaders({ options, headers, contentLength }) { + const reqHeaders = {}; + if (contentLength) { + reqHeaders["content-length"] = contentLength; + } + const defaultHeaders = this.defaultHeaders(options); + applyHeadersMut(reqHeaders, defaultHeaders); + applyHeadersMut(reqHeaders, headers); + if (isMultipartBody(options.body) && kind !== "node") { + delete reqHeaders["content-type"]; + } + this.validateHeaders(reqHeaders, headers); + return reqHeaders; + } + async prepareOptions(options) { + } + async prepareRequest(request, { url: url2, options }) { + } + parseHeaders(headers) { + return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; + } + makeStatusError(status, error, message, headers) { + return APIError.generate(status, error, message, headers); + } + request(options, remainingRetries = null) { + return new APIPromise(this.makeRequest(options, remainingRetries)); + } + async makeRequest(optionsInput, retriesRemaining) { + const options = await optionsInput; + if (retriesRemaining == null) { + retriesRemaining = options.maxRetries ?? this.maxRetries; + } + await this.prepareOptions(options); + const { req, url: url2, timeout } = this.buildRequest(options); + await this.prepareRequest(req, { url: url2, options }); + debug("request", url2, options, req.headers); + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + const controller = new AbortController(); + const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); + if (response instanceof Error) { + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + if (retriesRemaining) { + return this.retryRequest(options, retriesRemaining); + } + if (response.name === "AbortError") { + throw new APIConnectionTimeoutError(); + } + throw new APIConnectionError({ cause: response }); + } + const responseHeaders = createResponseHeaders(response.headers); + if (!response.ok) { + if (retriesRemaining && this.shouldRetry(response)) { + const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; + debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); + return this.retryRequest(options, retriesRemaining, responseHeaders); + } + const errText = await response.text().catch((e3) => castToError(e3).message); + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; + debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); + const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); + throw err; + } + return { response, options, controller }; + } + requestAPIList(Page, options) { + const request = this.makeRequest(options, null); + return new PagePromise(this, request, Page); + } + buildURL(path5, query) { + const url2 = isAbsoluteURL2(path5) ? new URL(path5) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path5.startsWith("/") ? path5.slice(1) : path5)); + const defaultQuery = this.defaultQuery(); + if (!isEmptyObj(defaultQuery)) { + query = { ...defaultQuery, ...query }; + } + if (typeof query === "object" && query && !Array.isArray(query)) { + url2.search = this.stringifyQuery(query); + } + return url2.toString(); + } + stringifyQuery(query) { + return Object.entries(query).filter(([_7, value]) => typeof value !== "undefined").map(([key, value]) => { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + if (value === null) { + return `${encodeURIComponent(key)}=`; + } + throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); + }).join("&"); + } + async fetchWithTimeout(url2, init, ms, controller) { + const { signal, ...options } = init || {}; + if (signal) + signal.addEventListener("abort", () => controller.abort()); + const timeout = setTimeout(() => controller.abort(), ms); + return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { + clearTimeout(timeout); + }); + } + getRequestClient() { + return { fetch: this.fetch }; + } + shouldRetry(response) { + const shouldRetryHeader = response.headers.get("x-should-retry"); + if (shouldRetryHeader === "true") + return true; + if (shouldRetryHeader === "false") + return false; + if (response.status === 408) + return true; + if (response.status === 409) + return true; + if (response.status === 429) + return true; + if (response.status >= 500) + return true; + return false; + } + async retryRequest(options, retriesRemaining, responseHeaders) { + let timeoutMillis; + const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; + if (retryAfterMillisHeader) { + const timeoutMs = parseFloat(retryAfterMillisHeader); + if (!Number.isNaN(timeoutMs)) { + timeoutMillis = timeoutMs; + } + } + const retryAfterHeader = responseHeaders?.["retry-after"]; + if (retryAfterHeader && !timeoutMillis) { + const timeoutSeconds = parseFloat(retryAfterHeader); + if (!Number.isNaN(timeoutSeconds)) { + timeoutMillis = timeoutSeconds * 1e3; + } else { + timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); + } + } + if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { + const maxRetries = options.maxRetries ?? this.maxRetries; + timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); + } + await sleep(timeoutMillis); + return this.makeRequest(options, retriesRemaining - 1); + } + calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { + const initialRetryDelay = 0.5; + const maxRetryDelay = 8; + const numRetries = maxRetries - retriesRemaining; + const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); + const jitter = 1 - Math.random() * 0.25; + return sleepSeconds * jitter * 1e3; + } + getUserAgent() { + return `${this.constructor.name}/JS ${VERSION3}`; + } +}; +var AbstractPage = class { + constructor(client, response, body, options) { + _AbstractPage_client.set(this, void 0); + __classPrivateFieldSet5(this, _AbstractPage_client, client, "f"); + this.options = options; + this.response = response; + this.body = body; + } + hasNextPage() { + const items = this.getPaginatedItems(); + if (!items.length) + return false; + return this.nextPageInfo() != null; + } + async getNextPage() { + const nextInfo = this.nextPageInfo(); + if (!nextInfo) { + throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); + } + const nextOptions = { ...this.options }; + if ("params" in nextInfo && typeof nextOptions.query === "object") { + nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; + } else if ("url" in nextInfo) { + const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; + for (const [key, value] of params) { + nextInfo.url.searchParams.set(key, value); + } + nextOptions.query = void 0; + nextOptions.path = nextInfo.url.toString(); + } + return await __classPrivateFieldGet6(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); + } + async *iterPages() { + let page = this; + yield page; + while (page.hasNextPage()) { + page = await page.getNextPage(); + yield page; + } + } + async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { + for await (const page of this.iterPages()) { + for (const item of page.getPaginatedItems()) { + yield item; + } + } + } +}; +var PagePromise = class extends APIPromise { + constructor(client, request, Page) { + super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); + } + async *[Symbol.asyncIterator]() { + const page = await this; + for await (const item of page) { + yield item; + } + } +}; +var createResponseHeaders = (headers) => { + return new Proxy(Object.fromEntries( + headers.entries() + ), { + get(target, name) { + const key = name.toString(); + return target[key.toLowerCase()] || target[key]; + } + }); +}; +var getPlatformProperties = () => { + if (typeof Deno !== "undefined" && Deno.build != null) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(Deno.build.os), + "X-Stainless-Arch": normalizeArch(Deno.build.arch), + "X-Stainless-Runtime": "deno", + "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" + }; + } + if (typeof EdgeRuntime !== "undefined") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": `other:${EdgeRuntime}`, + "X-Stainless-Runtime": "edge", + "X-Stainless-Runtime-Version": process.version + }; + } + if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(process.platform), + "X-Stainless-Arch": normalizeArch(process.arch), + "X-Stainless-Runtime": "node", + "X-Stainless-Runtime-Version": process.version + }; + } + const browserInfo = getBrowserInfo(); + if (browserInfo) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": `browser:${browserInfo.browser}`, + "X-Stainless-Runtime-Version": browserInfo.version + }; + } + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": "unknown", + "X-Stainless-Runtime-Version": "unknown" + }; +}; +function getBrowserInfo() { + if (typeof navigator === "undefined" || !navigator) { + return null; + } + const browserPatterns = [ + { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } + ]; + for (const { key, pattern } of browserPatterns) { + const match = pattern.exec(navigator.userAgent); + if (match) { + const major = match[1] || 0; + const minor = match[2] || 0; + const patch = match[3] || 0; + return { browser: key, version: `${major}.${minor}.${patch}` }; + } + } + return null; +} +var normalizeArch = (arch) => { + if (arch === "x32") + return "x32"; + if (arch === "x86_64" || arch === "x64") + return "x64"; + if (arch === "arm") + return "arm"; + if (arch === "aarch64" || arch === "arm64") + return "arm64"; + if (arch) + return `other:${arch}`; + return "unknown"; +}; +var normalizePlatform = (platform) => { + platform = platform.toLowerCase(); + if (platform.includes("ios")) + return "iOS"; + if (platform === "android") + return "Android"; + if (platform === "darwin") + return "MacOS"; + if (platform === "win32") + return "Windows"; + if (platform === "freebsd") + return "FreeBSD"; + if (platform === "openbsd") + return "OpenBSD"; + if (platform === "linux") + return "Linux"; + if (platform) + return `Other:${platform}`; + return "Unknown"; +}; +var _platformHeaders; +var getPlatformHeaders = () => { + return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); +}; +var safeJSON = (text) => { + try { + return JSON.parse(text); + } catch (err) { + return void 0; + } +}; +var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); +var isAbsoluteURL2 = (url2) => { + return startsWithSchemeRegexp.test(url2); +}; +var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +var validatePositiveInteger = (name, n2) => { + if (typeof n2 !== "number" || !Number.isInteger(n2)) { + throw new AnthropicError(`${name} must be an integer`); + } + if (n2 < 0) { + throw new AnthropicError(`${name} must be a positive integer`); + } + return n2; +}; +var castToError = (err) => { + if (err instanceof Error) + return err; + return new Error(err); +}; +var readEnv = (env2) => { + if (typeof process !== "undefined") { + return process.env?.[env2]?.trim() ?? void 0; + } + if (typeof Deno !== "undefined") { + return Deno.env?.get?.(env2)?.trim(); + } + return void 0; +}; +function isEmptyObj(obj) { + if (!obj) + return true; + for (const _k in obj) + return false; + return true; +} +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} +function applyHeadersMut(targetHeaders, newHeaders) { + for (const k7 in newHeaders) { + if (!hasOwn(newHeaders, k7)) + continue; + const lowerKey = k7.toLowerCase(); + if (!lowerKey) + continue; + const val = newHeaders[k7]; + if (val === null) { + delete targetHeaders[lowerKey]; + } else if (val !== void 0) { + targetHeaders[lowerKey] = val; + } + } +} +function debug(action, ...args) { + if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { + console.log(`Anthropic:DEBUG:${action}`, ...args); + } +} +var uuid4 = () => { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c3) => { + const r3 = Math.random() * 16 | 0; + const v5 = c3 === "x" ? r3 : r3 & 3 | 8; + return v5.toString(16); + }); +}; + +// node_modules/@anthropic-ai/sdk/resource.mjs +var APIResource = class { + constructor(client) { + this._client = client; + } +}; + +// node_modules/@anthropic-ai/sdk/resources/completions.mjs +var Completions = class extends APIResource { + create(body, options) { + return this._client.post("/v1/complete", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } +}; +(function(Completions2) { +})(Completions || (Completions = {})); + +// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +var __classPrivateFieldSet6 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet7 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _MessageStream_instances; +var _MessageStream_currentMessageSnapshot; +var _MessageStream_connectedPromise; +var _MessageStream_resolveConnectedPromise; +var _MessageStream_rejectConnectedPromise; +var _MessageStream_endPromise; +var _MessageStream_resolveEndPromise; +var _MessageStream_rejectEndPromise; +var _MessageStream_listeners; +var _MessageStream_ended; +var _MessageStream_errored; +var _MessageStream_aborted; +var _MessageStream_catchingPromiseCreated; +var _MessageStream_getFinalMessage; +var _MessageStream_getFinalText; +var _MessageStream_handleError; +var _MessageStream_beginRequest; +var _MessageStream_addStreamEvent; +var _MessageStream_endRequest; +var _MessageStream_accumulateMessage; +var MessageStream = class { + constructor() { + _MessageStream_instances.add(this); + this.messages = []; + this.receivedMessages = []; + _MessageStream_currentMessageSnapshot.set(this, void 0); + this.controller = new AbortController(); + _MessageStream_connectedPromise.set(this, void 0); + _MessageStream_resolveConnectedPromise.set(this, () => { + }); + _MessageStream_rejectConnectedPromise.set(this, () => { + }); + _MessageStream_endPromise.set(this, void 0); + _MessageStream_resolveEndPromise.set(this, () => { + }); + _MessageStream_rejectEndPromise.set(this, () => { + }); + _MessageStream_listeners.set(this, {}); + _MessageStream_ended.set(this, false); + _MessageStream_errored.set(this, false); + _MessageStream_aborted.set(this, false); + _MessageStream_catchingPromiseCreated.set(this, false); + _MessageStream_handleError.set(this, (error) => { + __classPrivateFieldSet6(this, _MessageStream_errored, true, "f"); + if (error instanceof Error && error.name === "AbortError") { + error = new APIUserAbortError(); + } + if (error instanceof APIUserAbortError) { + __classPrivateFieldSet6(this, _MessageStream_aborted, true, "f"); + return this._emit("abort", error); + } + if (error instanceof AnthropicError) { + return this._emit("error", error); + } + if (error instanceof Error) { + const anthropicError = new AnthropicError(error.message); + anthropicError.cause = error; + return this._emit("error", anthropicError); + } + return this._emit("error", new AnthropicError(String(error))); + }); + __classPrivateFieldSet6(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_resolveConnectedPromise, resolve, "f"); + __classPrivateFieldSet6(this, _MessageStream_rejectConnectedPromise, reject, "f"); + }), "f"); + __classPrivateFieldSet6(this, _MessageStream_endPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_resolveEndPromise, resolve, "f"); + __classPrivateFieldSet6(this, _MessageStream_rejectEndPromise, reject, "f"); + }), "f"); + __classPrivateFieldGet7(this, _MessageStream_connectedPromise, "f").catch(() => { + }); + __classPrivateFieldGet7(this, _MessageStream_endPromise, "f").catch(() => { + }); + } + static fromReadableStream(stream4) { + const runner = new MessageStream(); + runner._run(() => runner._fromReadableStream(stream4)); + return runner; + } + static createMessage(messages, params, options) { + const runner = new MessageStream(); + for (const message of params.messages) { + runner._addMessageParam(message); + } + runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); + return runner; + } + _run(executor) { + executor().then(() => { + this._emitFinal(); + this._emit("end"); + }, __classPrivateFieldGet7(this, _MessageStream_handleError, "f")); + } + _addMessageParam(message) { + this.messages.push(message); + } + _addMessage(message, emit = true) { + this.receivedMessages.push(message); + if (emit) { + this._emit("message", message); + } + } + async _createMessage(messages, params, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); + this._connected(); + for await (const event of stream4) { + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + _connected() { + if (this.ended) + return; + __classPrivateFieldGet7(this, _MessageStream_resolveConnectedPromise, "f").call(this); + this._emit("connect"); + } + get ended() { + return __classPrivateFieldGet7(this, _MessageStream_ended, "f"); + } + get errored() { + return __classPrivateFieldGet7(this, _MessageStream_errored, "f"); + } + get aborted() { + return __classPrivateFieldGet7(this, _MessageStream_aborted, "f"); + } + abort() { + this.controller.abort(); + } + on(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener }); + return this; + } + off(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; + if (!listeners) + return this; + const index = listeners.findIndex((l3) => l3.listener === listener); + if (index >= 0) + listeners.splice(index, 1); + return this; + } + once(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener, once: true }); + return this; + } + emitted(event) { + return new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); + if (event !== "error") + this.once("error", reject); + this.once(event, resolve); + }); + } + async done() { + __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); + await __classPrivateFieldGet7(this, _MessageStream_endPromise, "f"); + } + get currentMessage() { + return __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + } + async finalMessage() { + await this.done(); + return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); + } + async finalText() { + await this.done(); + return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); + } + _emit(event, ...args) { + if (__classPrivateFieldGet7(this, _MessageStream_ended, "f")) + return; + if (event === "end") { + __classPrivateFieldSet6(this, _MessageStream_ended, true, "f"); + __classPrivateFieldGet7(this, _MessageStream_resolveEndPromise, "f").call(this); + } + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; + if (listeners) { + __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); + listeners.forEach(({ listener }) => listener(...args)); + } + if (event === "abort") { + const error = args[0]; + if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + return; + } + if (event === "error") { + const error = args[0]; + if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + } + } + _emitFinal() { + const finalMessage = this.receivedMessages.at(-1); + if (finalMessage) { + this._emit("finalMessage", __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); + } + } + async _fromReadableStream(readableStream, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + this._connected(); + const stream4 = Stream.fromReadableStream(readableStream, this.controller); + for await (const event of stream4) { + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + return this.receivedMessages.at(-1); + }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); + if (textBlocks.length === 0) { + throw new AnthropicError("stream ended without producing a content block with type=text"); + } + return textBlocks.join(" "); + }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { + if (this.ended) + return; + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { + if (this.ended) + return; + const messageSnapshot = __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); + this._emit("streamEvent", event, messageSnapshot); + switch (event.type) { + case "content_block_delta": { + if (event.delta.type === "text_delta") { + this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); + } + break; + } + case "message_stop": { + this._addMessageParam(messageSnapshot); + this._addMessage(messageSnapshot, true); + break; + } + case "content_block_stop": { + this._emit("contentBlock", messageSnapshot.content.at(-1)); + break; + } + case "message_start": { + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); + break; + } + case "content_block_start": + case "message_delta": + break; + } + }, _MessageStream_endRequest = function _MessageStream_endRequest2() { + if (this.ended) { + throw new AnthropicError(`stream has ended, this shouldn't happen`); + } + const snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + if (!snapshot) { + throw new AnthropicError(`request ended without sending any chunks`); + } + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + return snapshot; + }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { + let snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + if (event.type === "message_start") { + if (snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); + } + return event.message; + } + if (!snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); + } + switch (event.type) { + case "message_stop": + return snapshot; + case "message_delta": + snapshot.stop_reason = event.delta.stop_reason; + snapshot.stop_sequence = event.delta.stop_sequence; + snapshot.usage.output_tokens = event.usage.output_tokens; + return snapshot; + case "content_block_start": + snapshot.content.push(event.content_block); + return snapshot; + case "content_block_delta": { + const snapshotContent = snapshot.content.at(event.index); + if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { + snapshotContent.text += event.delta.text; + } + return snapshot; + } + case "content_block_stop": + return snapshot; + } + }, Symbol.asyncIterator)]() { + const pushQueue = []; + const readQueue = []; + let done = false; + this.on("streamEvent", (event) => { + const reader = readQueue.shift(); + if (reader) { + reader.resolve(event); + } else { + pushQueue.push(event); + } + }); + this.on("end", () => { + done = true; + for (const reader of readQueue) { + reader.resolve(void 0); + } + readQueue.length = 0; + }); + this.on("abort", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + this.on("error", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + return { + next: async () => { + if (!pushQueue.length) { + if (done) { + return { value: void 0, done: true }; + } + return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); + } + const chunk = pushQueue.shift(); + return { value: chunk, done: false }; + }, + return: async () => { + this.abort(); + return { value: void 0, done: true }; + } + }; + } + toReadableStream() { + const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); + return stream4.toReadableStream(); + } +}; + +// node_modules/@anthropic-ai/sdk/resources/messages.mjs +var Messages = class extends APIResource { + create(body, options) { + return this._client.post("/v1/messages", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } + stream(body, options) { + return MessageStream.createMessage(this, body, options); + } +}; +(function(Messages2) { +})(Messages || (Messages = {})); + +// node_modules/@anthropic-ai/sdk/index.mjs +var _a; +var Anthropic = class extends APIClient { + constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey3 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { + const options = { + apiKey: apiKey3, + authToken, + ...opts, + baseURL: baseURL || `https://api.anthropic.com` + }; + super({ + baseURL: options.baseURL, + timeout: options.timeout ?? 6e5, + httpAgent: options.httpAgent, + maxRetries: options.maxRetries, + fetch: options.fetch + }); + this.completions = new Completions(this); + this.messages = new Messages(this); + this._options = options; + this.apiKey = apiKey3; + this.authToken = authToken; + } + defaultQuery() { + return this._options.defaultQuery; + } + defaultHeaders(opts) { + return { + ...super.defaultHeaders(opts), + "anthropic-version": "2023-06-01", + ...this._options.defaultHeaders + }; + } + validateHeaders(headers, customHeaders) { + if (this.apiKey && headers["x-api-key"]) { + return; + } + if (customHeaders["x-api-key"] === null) { + return; + } + if (this.authToken && headers["authorization"]) { + return; + } + if (customHeaders["authorization"] === null) { + return; + } + throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); + } + authHeaders(opts) { + const apiKeyAuth = this.apiKeyAuth(opts); + const bearerAuth = this.bearerAuth(opts); + if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { + return apiKeyAuth; + } + if (bearerAuth != null && !isEmptyObj(bearerAuth)) { + return bearerAuth; + } + return {}; + } + apiKeyAuth(opts) { + if (this.apiKey == null) { + return {}; + } + return { "X-Api-Key": this.apiKey }; + } + bearerAuth(opts) { + if (this.authToken == null) { + return {}; + } + return { Authorization: `Bearer ${this.authToken}` }; + } +}; +_a = Anthropic; +Anthropic.Anthropic = _a; +Anthropic.HUMAN_PROMPT = "\n\nHuman:"; +Anthropic.AI_PROMPT = "\n\nAssistant:"; +Anthropic.AnthropicError = AnthropicError; +Anthropic.APIError = APIError; +Anthropic.APIConnectionError = APIConnectionError; +Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; +Anthropic.APIUserAbortError = APIUserAbortError; +Anthropic.NotFoundError = NotFoundError; +Anthropic.ConflictError = ConflictError; +Anthropic.RateLimitError = RateLimitError; +Anthropic.BadRequestError = BadRequestError; +Anthropic.AuthenticationError = AuthenticationError; +Anthropic.InternalServerError = InternalServerError; +Anthropic.PermissionDeniedError = PermissionDeniedError; +Anthropic.UnprocessableEntityError = UnprocessableEntityError; +var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; +var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; +(function(Anthropic2) { + Anthropic2.toFile = toFile; + Anthropic2.fileFromPath = fileFromPath; + Anthropic2.Completions = Completions; + Anthropic2.Messages = Messages; +})(Anthropic || (Anthropic = {})); +var sdk_default = Anthropic; + +// src/engine/anthropic.ts +var config4 = getConfig(); +var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var provider2 = config4?.OCO_AI_PROVIDER; +var apiKey2 = config4?.OCO_ANTHROPIC_API_KEY; +var [command2, mode2] = process.argv.slice(2); +if (provider2 === "anthropic" && !apiKey2 && command2 !== "config" && mode2 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY= . If you are using Claude, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL2 = config4?.OCO_MODEL; +if (provider2 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL2) && command2 !== "config" && mode2 !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL2} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( + ", " + )}` + ); + process.exit(1); +} +var AnthropicAi = class { + anthropicAiApiConfiguration = { + apiKey: apiKey2 + }; + anthropicAI; + constructor() { + this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); + } + generateCommitMessage = async (messages) => { + const systemMessage = messages.find((msg) => msg.role === "system")?.content; + const restMessages = messages.filter((msg) => msg.role !== "system"); + const params = { + model: MODEL2, + system: systemMessage, + messages: restMessages, + temperature: 0, + top_p: 0.1, + max_tokens: MAX_TOKENS_OUTPUT2 + }; + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.anthropicAI.messages.create(params); + const message = data?.content[0].text; + return message; + } catch (error) { + ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const anthropicAiError = error.response.data.error; + if (anthropicAiError?.message) + ce(anthropicAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var anthropicAi = new AnthropicAi(); + // src/engine/testAi.ts var TestAi = class { async generateCommitMessage(messages) { @@ -22056,18 +35139,20 @@ var testAi = new TestAi(); // src/utils/engine.ts function getEngine() { - const config8 = getConfig(); - if (config8?.OCO_AI_PROVIDER == "ollama") { + const config9 = getConfig(); + if (config9?.OCO_AI_PROVIDER == "ollama") { return ollamaAi; - } else if (config8?.OCO_AI_PROVIDER == "test") { + } else if (config9?.OCO_AI_PROVIDER == "anthropic") { + return anthropicAi; + } else if (config9?.OCO_AI_PROVIDER == "test") { return testAi; } return api; } // src/modules/commitlint/config.ts -var config4 = getConfig(); -var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; +var config5 = getConfig(); +var translation2 = i18n[config5?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -22111,15 +35196,15 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config5 = getConfig(); -var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config6 = getConfig(); +var translation3 = i18n[config6?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config6?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config6?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config6?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { @@ -22151,12 +35236,12 @@ var INIT_DIFF_PROMPT = { }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + content: `${config6?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config6?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config6?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config5?.OCO_PROMPT_MODULE) { + switch (config6?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -22201,9 +35286,9 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config6 = getConfig(); -var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config7 = getConfig(); +var MAX_TOKENS_INPUT3 = config7?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT3 = config7?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; @@ -22226,8 +35311,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a2, b6) => a2 + b6, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; + ).reduce((a4, b7) => a4 + b7, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT3 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT3; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -22335,7 +35420,7 @@ function delay(ms) { } // src/utils/git.ts -var import_fs2 = require("fs"); +var import_fs3 = require("fs"); var import_ignore = __toESM(require_ignore(), 1); var assertGitRepo = async () => { try { @@ -22347,8 +35432,8 @@ var assertGitRepo = async () => { var getOpenCommitIgnore = () => { const ig = (0, import_ignore.default)(); try { - ig.add((0, import_fs2.readFileSync)(".opencommitignore").toString().split("\n")); - } catch (e2) { + ig.add((0, import_fs3.readFileSync)(".opencommitignore").toString().split("\n")); + } catch (e3) { } return ig; }; @@ -22432,14 +35517,14 @@ var trytm = async (promise) => { }; // src/commands/commit.ts -var config7 = getConfig(); +var config8 = getConfig(); var getGitRemotes = async () => { const { stdout } = await execa("git", ["remote"]); return stdout.split("\n").filter((remote) => Boolean(remote.trim())); }; var checkMessageTemplate = (extraArgs2) => { for (const key in extraArgs2) { - if (extraArgs2[key].includes(config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) + if (extraArgs2[key].includes(config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) return extraArgs2[key]; } return false; @@ -22454,11 +35539,11 @@ var generateCommitMessageFromGitDiff = async (diff, extraArgs2, fullGitMojiSpec) fullGitMojiSpec ); const messageTemplate = checkMessageTemplate(extraArgs2); - if (config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { + if (config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { const messageTemplateIndex = extraArgs2.indexOf(messageTemplate); extraArgs2.splice(messageTemplateIndex, 1); commitMessage = messageTemplate.replace( - config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, + config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, commitMessage ); } @@ -22472,7 +35557,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 const isCommitConfirmedByUser = await Q3({ message: "Confirm the commit message?" }); - if (isCommitConfirmedByUser && !eD2(isCommitConfirmedByUser)) { + if (isCommitConfirmedByUser && !hD2(isCommitConfirmedByUser)) { const { stdout } = await execa("git", [ "commit", "-m", @@ -22482,7 +35567,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(`${source_default.green("\u2714")} Successfully committed`); ce(stdout); const remotes = await getGitRemotes(); - if (config7?.OCO_GITPUSH === false) + if (config8?.OCO_GITPUSH === false) return; if (!remotes.length) { const { stdout: stdout2 } = await execa("git", ["push"]); @@ -22490,11 +35575,11 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(stdout2); process.exit(0); } - if (remotes.length === 1 && config7?.OCO_GITPUSH !== true) { + if (remotes.length === 1 && config8?.OCO_GITPUSH !== true) { const isPushConfirmedByUser = await Q3({ message: "Do you want to run `git push`?" }); - if (isPushConfirmedByUser && !eD2(isPushConfirmedByUser)) { + if (isPushConfirmedByUser && !hD2(isPushConfirmedByUser)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${remotes[0]}'`); const { stdout: stdout2 } = await execa("git", [ @@ -22516,7 +35601,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 message: "Choose a remote to push to", options: remotes.map((remote) => ({ value: remote, label: remote })) }); - if (!eD2(selectedRemote)) { + if (!hD2(selectedRemote)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${selectedRemote}'`); const { stdout: stdout2 } = await execa("git", ["push", selectedRemote]); @@ -22566,7 +35651,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = const isStageAllAndCommitConfirmedByUser = await Q3({ message: "Do you want to stage all files and generate commit message?" }); - if (isStageAllAndCommitConfirmedByUser && !eD2(isStageAllAndCommitConfirmedByUser)) { + if (isStageAllAndCommitConfirmedByUser && !hD2(isStageAllAndCommitConfirmedByUser)) { await commit(extraArgs2, true, fullGitMojiSpec); process.exit(1); } @@ -22578,7 +35663,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = label: file })) }); - if (eD2(files)) + if (hD2(files)) process.exit(1); await gitAdd({ files }); } @@ -22612,18 +35697,18 @@ var commitlintConfigCommand = G3( async (argv) => { ae("opencommit \u2014 configure @commitlint"); try { - const { mode: mode2 } = argv._; - if (mode2 === "get" /* get */) { + const { mode: mode3 } = argv._; + if (mode3 === "get" /* get */) { const commitLintConfig = await getCommitlintLLMConfig(); ce(commitLintConfig.toString()); return; } - if (mode2 === "force" /* force */) { + if (mode3 === "force" /* force */) { await configureCommitlintIntegration(true); return; } throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "force" and "get"` + `Unsupported mode: ${mode3}. Valid modes are: "force" and "get"` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -22633,15 +35718,15 @@ var commitlintConfigCommand = G3( ); // src/commands/githook.ts -var import_fs3 = require("fs"); +var import_fs4 = require("fs"); var import_promises2 = __toESM(require("fs/promises"), 1); -var import_path3 = __toESM(require("path"), 1); +var import_path4 = __toESM(require("path"), 1); var HOOK_NAME = "prepare-commit-msg"; -var DEFAULT_SYMLINK_URL = import_path3.default.join(".git", "hooks", HOOK_NAME); +var DEFAULT_SYMLINK_URL = import_path4.default.join(".git", "hooks", HOOK_NAME); var getHooksPath = async () => { try { const hooksPath = await getCoreHooksPath(); - return import_path3.default.join(hooksPath, HOOK_NAME); + return import_path4.default.join(hooksPath, HOOK_NAME); } catch (error) { return DEFAULT_SYMLINK_URL; } @@ -22652,7 +35737,7 @@ var isHookCalled = async () => { }; var isHookExists = async () => { const hooksPath = await getHooksPath(); - return (0, import_fs3.existsSync)(hooksPath); + return (0, import_fs4.existsSync)(hooksPath); }; var hookCommand = G3( { @@ -22664,8 +35749,8 @@ var hookCommand = G3( const SYMLINK_URL = await getHooksPath(); try { await assertGitRepo(); - const { setUnset: mode2 } = argv._; - if (mode2 === "set") { + const { setUnset: mode3 } = argv._; + if (mode3 === "set") { ae(`setting opencommit as '${HOOK_NAME}' hook at ${SYMLINK_URL}`); if (await isHookExists()) { let realPath; @@ -22681,12 +35766,12 @@ var hookCommand = G3( `Different ${HOOK_NAME} is already set. Remove it before setting opencommit as '${HOOK_NAME}' hook.` ); } - await import_promises2.default.mkdir(import_path3.default.dirname(SYMLINK_URL), { recursive: true }); + await import_promises2.default.mkdir(import_path4.default.dirname(SYMLINK_URL), { recursive: true }); await import_promises2.default.symlink(HOOK_URL, SYMLINK_URL, "file"); await import_promises2.default.chmod(SYMLINK_URL, 493); return ce(`${source_default.green("\u2714")} Hook set`); } - if (mode2 === "unset") { + if (mode3 === "unset") { ae( `unsetting opencommit as '${HOOK_NAME}' hook from ${SYMLINK_URL}` ); @@ -22705,7 +35790,7 @@ var hookCommand = G3( return ce(`${source_default.green("\u2714")} Hook is removed`); } throw new Error( - `Unsupported mode: ${mode2}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` + `Unsupported mode: ${mode3}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -22739,8 +35824,8 @@ var prepareCommitMessageHook = async (isStageAllFlag = false) => { if (!staged) return; ae("opencommit"); - const config8 = getConfig(); - if (!config8?.OCO_OPENAI_API_KEY) { + const config9 = getConfig(); + if (!config9?.OCO_OPENAI_API_KEY) { throw new Error( "No OPEN_AI_API exists. Set your OPEN_AI_API= in ~/.opencommit" ); @@ -22767,7 +35852,7 @@ var getOpenCommitLatestVersion = async () => { try { const { stdout } = await execa("npm", ["view", "opencommit", "version"]); return stdout; - } catch (_6) { + } catch (_7) { ce("Error while getting the latest version of opencommit"); return void 0; } @@ -22815,6 +35900,11 @@ Z2( }, extraArgs ); +/*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse + * MIT Licensed + */ /*! * mime-db * Copyright(c) 2014 Jonathan Ong @@ -22827,3 +35917,19 @@ Z2( * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ +/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting & David Frank */ +/*! node-domexception. MIT License. Jimmy WΓ€rting */ +/** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ +/** + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ diff --git a/out/github-action.cjs b/out/github-action.cjs index 943c66f..8cf0a28 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -5,9 +5,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; +var __export = (target, all3) => { + for (var name in all3) + __defProp(target, name, { get: all3[name], enumerable: true }); +}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -57,30 +64,30 @@ var require_utils = __commonJS({ var require_command = __commonJS({ "node_modules/@actions/core/lib/command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; @@ -89,8 +96,8 @@ var require_command = __commonJS({ exports.issue = exports.issueCommand = void 0; var os2 = __importStar(require("os")); var utils_1 = require_utils(); - function issueCommand(command2, properties, message) { - const cmd = new Command(command2, properties, message); + function issueCommand(command3, properties, message) { + const cmd = new Command(command3, properties, message); process.stdout.write(cmd.toString() + os2.EOL); } exports.issueCommand = issueCommand; @@ -100,11 +107,11 @@ var require_command = __commonJS({ exports.issue = issue; var CMD_STRING = "::"; var Command = class { - constructor(command2, properties, message) { - if (!command2) { - command2 = "missing.command"; + constructor(command3, properties, message) { + if (!command3) { + command3 = "missing.command"; } - this.command = command2; + this.command = command3; this.properties = properties; this.message = message; } @@ -131,11 +138,11 @@ var require_command = __commonJS({ return cmdStr; } }; - function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + function escapeData(s2) { + return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } - function escapeProperty(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + function escapeProperty(s2) { + return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } } }); @@ -210,8 +217,8 @@ var require_stringify = __commonJS({ return obj && obj.__esModule ? obj : { default: obj }; } var byteToHex = []; - for (let i2 = 0; i2 < 256; ++i2) { - byteToHex.push((i2 + 256).toString(16).substr(1)); + for (let i3 = 0; i3 < 256; ++i3) { + byteToHex.push((i3 + 256).toString(16).substr(1)); } function stringify(arr, offset = 0) { const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); @@ -243,8 +250,8 @@ var require_v1 = __commonJS({ var _lastMSecs = 0; var _lastNSecs = 0; function v1(options, buf, offset) { - let i2 = buf && offset || 0; - const b2 = buf || new Array(16); + let i3 = buf && offset || 0; + const b3 = buf || new Array(16); options = options || {}; let node = options.node || _nodeId; let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; @@ -259,11 +266,11 @@ var require_v1 = __commonJS({ } let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt < 0 && options.clockseq === void 0) { + const dt2 = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt2 < 0 && options.clockseq === void 0) { clockseq = clockseq + 1 & 16383; } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + if ((dt2 < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { nsecs = 0; } if (nsecs >= 1e4) { @@ -274,21 +281,21 @@ var require_v1 = __commonJS({ _clockseq = clockseq; msecs += 122192928e5; const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b2[i2++] = tl >>> 24 & 255; - b2[i2++] = tl >>> 16 & 255; - b2[i2++] = tl >>> 8 & 255; - b2[i2++] = tl & 255; + b3[i3++] = tl >>> 24 & 255; + b3[i3++] = tl >>> 16 & 255; + b3[i3++] = tl >>> 8 & 255; + b3[i3++] = tl & 255; const tmh = msecs / 4294967296 * 1e4 & 268435455; - b2[i2++] = tmh >>> 8 & 255; - b2[i2++] = tmh & 255; - b2[i2++] = tmh >>> 24 & 15 | 16; - b2[i2++] = tmh >>> 16 & 255; - b2[i2++] = clockseq >>> 8 | 128; - b2[i2++] = clockseq & 255; - for (let n = 0; n < 6; ++n) { - b2[i2 + n] = node[n]; + b3[i3++] = tmh >>> 8 & 255; + b3[i3++] = tmh & 255; + b3[i3++] = tmh >>> 24 & 15 | 16; + b3[i3++] = tmh >>> 16 & 255; + b3[i3++] = clockseq >>> 8 | 128; + b3[i3++] = clockseq & 255; + for (let n2 = 0; n2 < 6; ++n2) { + b3[i3 + n2] = node[n2]; } - return buf || (0, _stringify.default)(b2); + return buf || (0, _stringify.default)(b3); } var _default = v1; exports.default = _default; @@ -353,8 +360,8 @@ var require_v35 = __commonJS({ function stringToBytes(str) { str = unescape(encodeURIComponent(str)); const bytes = []; - for (let i2 = 0; i2 < str.length; ++i2) { - bytes.push(str.charCodeAt(i2)); + for (let i3 = 0; i3 < str.length; ++i3) { + bytes.push(str.charCodeAt(i3)); } return bytes; } @@ -381,8 +388,8 @@ var require_v35 = __commonJS({ bytes[8] = bytes[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i2 = 0; i2 < 16; ++i2) { - buf[offset + i2] = bytes[i2]; + for (let i3 = 0; i3 < 16; ++i3) { + buf[offset + i3] = bytes[i3]; } return buf; } @@ -463,8 +470,8 @@ var require_v4 = __commonJS({ rnds[8] = rnds[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i2 = 0; i2 < 16; ++i2) { - buf[offset + i2] = rnds[i2]; + for (let i3 = 0; i3 < 16; ++i3) { + buf[offset + i3] = rnds[i3]; } return buf; } @@ -635,49 +642,49 @@ var require_dist = __commonJS({ var require_file_command = __commonJS({ "node_modules/@actions/core/lib/file-command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; - var fs2 = __importStar(require("fs")); + var fs3 = __importStar(require("fs")); var os2 = __importStar(require("os")); var uuid_1 = require_dist(); var utils_1 = require_utils(); - function issueFileCommand(command2, message) { - const filePath = process.env[`GITHUB_${command2}`]; + function issueFileCommand(command3, message) { + const filePath = process.env[`GITHUB_${command3}`]; if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command2}`); + throw new Error(`Unable to find environment variable for file command ${command3}`); } - if (!fs2.existsSync(filePath)) { + if (!fs3.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs2.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os2.EOL}`, { + fs3.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os2.EOL}`, { encoding: "utf8" }); } @@ -716,7 +723,12 @@ var require_proxy = __commonJS({ } })(); if (proxyVar) { - return new URL(proxyVar); + try { + return new URL(proxyVar); + } catch (_a2) { + if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) + return new URL(`http://${proxyVar}`); + } } else { return void 0; } @@ -809,10 +821,10 @@ var require_tunnel = __commonJS({ self2.sockets = []; self2.on("free", function onFree(socket, host, port, localAddress) { var options2 = toOptions(host, port, localAddress); - for (var i2 = 0, len = self2.requests.length; i2 < len; ++i2) { - var pending = self2.requests[i2]; + for (var i3 = 0, len = self2.requests.length; i3 < len; ++i3) { + var pending = self2.requests[i3]; if (pending.host === options2.host && pending.port === options2.port) { - self2.requests.splice(i2, 1); + self2.requests.splice(i3, 1); pending.request.onSocket(socket); return; } @@ -864,7 +876,7 @@ var require_tunnel = __commonJS({ connectOptions.headers = connectOptions.headers || {}; connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); } - debug("making CONNECT request"); + debug2("making CONNECT request"); var connectReq = self2.request(connectOptions); connectReq.useChunkedEncodingByDefault = false; connectReq.once("response", onResponse); @@ -884,7 +896,7 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug( + debug2( "tunneling socket could not be established, statusCode=%d", res.statusCode ); @@ -896,7 +908,7 @@ var require_tunnel = __commonJS({ return; } if (head.length > 0) { - debug("got illegal response body from proxy"); + debug2("got illegal response body from proxy"); socket.destroy(); var error = new Error("got illegal response body from proxy"); error.code = "ECONNRESET"; @@ -904,13 +916,13 @@ var require_tunnel = __commonJS({ self2.removeSocket(placeholder); return; } - debug("tunneling connection has established"); + debug2("tunneling connection has established"); self2.sockets[self2.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug( + debug2( "tunneling socket could not be established, cause=%s\n", cause.message, cause.stack @@ -958,23 +970,23 @@ var require_tunnel = __commonJS({ return host; } function mergeOptions(target) { - for (var i2 = 1, len = arguments.length; i2 < len; ++i2) { - var overrides = arguments[i2]; + for (var i3 = 1, len = arguments.length; i3 < len; ++i3) { + var overrides = arguments[i3]; if (typeof overrides === "object") { var keys = Object.keys(overrides); - for (var j2 = 0, keyLen = keys.length; j2 < keyLen; ++j2) { - var k3 = keys[j2]; - if (overrides[k3] !== void 0) { - target[k3] = overrides[k3]; + for (var j4 = 0, keyLen = keys.length; j4 < keyLen; ++j4) { + var k4 = keys[j4]; + if (overrides[k4] !== void 0) { + target[k4] = overrides[k4]; } } } } return target; } - var debug; + var debug2; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { + debug2 = function() { var args = Array.prototype.slice.call(arguments); if (typeof args[0] === "string") { args[0] = "TUNNEL: " + args[0]; @@ -984,10 +996,10 @@ var require_tunnel = __commonJS({ console.error.apply(console, args); }; } else { - debug = function() { + debug2 = function() { }; } - exports.debug = debug; + exports.debug = debug2; } }); @@ -998,57 +1010,16493 @@ var require_tunnel2 = __commonJS({ } }); +// node_modules/undici/lib/core/symbols.js +var require_symbols = __commonJS({ + "node_modules/undici/lib/core/symbols.js"(exports, module2) { + module2.exports = { + kClose: Symbol("close"), + kDestroy: Symbol("destroy"), + kDispatch: Symbol("dispatch"), + kUrl: Symbol("url"), + kWriting: Symbol("writing"), + kResuming: Symbol("resuming"), + kQueue: Symbol("queue"), + kConnect: Symbol("connect"), + kConnecting: Symbol("connecting"), + kHeadersList: Symbol("headers list"), + kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), + kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), + kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), + kKeepAliveTimeoutValue: Symbol("keep alive timeout"), + kKeepAlive: Symbol("keep alive"), + kHeadersTimeout: Symbol("headers timeout"), + kBodyTimeout: Symbol("body timeout"), + kServerName: Symbol("server name"), + kLocalAddress: Symbol("local address"), + kHost: Symbol("host"), + kNoRef: Symbol("no ref"), + kBodyUsed: Symbol("used"), + kRunning: Symbol("running"), + kBlocking: Symbol("blocking"), + kPending: Symbol("pending"), + kSize: Symbol("size"), + kBusy: Symbol("busy"), + kQueued: Symbol("queued"), + kFree: Symbol("free"), + kConnected: Symbol("connected"), + kClosed: Symbol("closed"), + kNeedDrain: Symbol("need drain"), + kReset: Symbol("reset"), + kDestroyed: Symbol.for("nodejs.stream.destroyed"), + kMaxHeadersSize: Symbol("max headers size"), + kRunningIdx: Symbol("running index"), + kPendingIdx: Symbol("pending index"), + kError: Symbol("error"), + kClients: Symbol("clients"), + kClient: Symbol("client"), + kParser: Symbol("parser"), + kOnDestroyed: Symbol("destroy callbacks"), + kPipelining: Symbol("pipelining"), + kSocket: Symbol("socket"), + kHostHeader: Symbol("host header"), + kConnector: Symbol("connector"), + kStrictContentLength: Symbol("strict content length"), + kMaxRedirections: Symbol("maxRedirections"), + kMaxRequests: Symbol("maxRequestsPerClient"), + kProxy: Symbol("proxy agent options"), + kCounter: Symbol("socket request counter"), + kInterceptors: Symbol("dispatch interceptors"), + kMaxResponseSize: Symbol("max response size"), + kHTTP2Session: Symbol("http2Session"), + kHTTP2SessionState: Symbol("http2Session state"), + kHTTP2BuildRequest: Symbol("http2 build request"), + kHTTP1BuildRequest: Symbol("http1 build request"), + kHTTP2CopyHeaders: Symbol("http2 copy headers"), + kHTTPConnVersion: Symbol("http connection version"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable") + }; + } +}); + +// node_modules/undici/lib/core/errors.js +var require_errors = __commonJS({ + "node_modules/undici/lib/core/errors.js"(exports, module2) { + "use strict"; + var UndiciError = class extends Error { + constructor(message) { + super(message); + this.name = "UndiciError"; + this.code = "UND_ERR"; + } + }; + var ConnectTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ConnectTimeoutError); + this.name = "ConnectTimeoutError"; + this.message = message || "Connect Timeout Error"; + this.code = "UND_ERR_CONNECT_TIMEOUT"; + } + }; + var HeadersTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, HeadersTimeoutError); + this.name = "HeadersTimeoutError"; + this.message = message || "Headers Timeout Error"; + this.code = "UND_ERR_HEADERS_TIMEOUT"; + } + }; + var HeadersOverflowError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, HeadersOverflowError); + this.name = "HeadersOverflowError"; + this.message = message || "Headers Overflow Error"; + this.code = "UND_ERR_HEADERS_OVERFLOW"; + } + }; + var BodyTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, BodyTimeoutError); + this.name = "BodyTimeoutError"; + this.message = message || "Body Timeout Error"; + this.code = "UND_ERR_BODY_TIMEOUT"; + } + }; + var ResponseStatusCodeError = class extends UndiciError { + constructor(message, statusCode, headers, body) { + super(message); + Error.captureStackTrace(this, ResponseStatusCodeError); + this.name = "ResponseStatusCodeError"; + this.message = message || "Response Status Code Error"; + this.code = "UND_ERR_RESPONSE_STATUS_CODE"; + this.body = body; + this.status = statusCode; + this.statusCode = statusCode; + this.headers = headers; + } + }; + var InvalidArgumentError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InvalidArgumentError); + this.name = "InvalidArgumentError"; + this.message = message || "Invalid Argument Error"; + this.code = "UND_ERR_INVALID_ARG"; + } + }; + var InvalidReturnValueError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InvalidReturnValueError); + this.name = "InvalidReturnValueError"; + this.message = message || "Invalid Return Value Error"; + this.code = "UND_ERR_INVALID_RETURN_VALUE"; + } + }; + var RequestAbortedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, RequestAbortedError); + this.name = "AbortError"; + this.message = message || "Request aborted"; + this.code = "UND_ERR_ABORTED"; + } + }; + var InformationalError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InformationalError); + this.name = "InformationalError"; + this.message = message || "Request information"; + this.code = "UND_ERR_INFO"; + } + }; + var RequestContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, RequestContentLengthMismatchError); + this.name = "RequestContentLengthMismatchError"; + this.message = message || "Request body length does not match content-length header"; + this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + } + }; + var ResponseContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ResponseContentLengthMismatchError); + this.name = "ResponseContentLengthMismatchError"; + this.message = message || "Response body length does not match content-length header"; + this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + } + }; + var ClientDestroyedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ClientDestroyedError); + this.name = "ClientDestroyedError"; + this.message = message || "The client is destroyed"; + this.code = "UND_ERR_DESTROYED"; + } + }; + var ClientClosedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ClientClosedError); + this.name = "ClientClosedError"; + this.message = message || "The client is closed"; + this.code = "UND_ERR_CLOSED"; + } + }; + var SocketError = class extends UndiciError { + constructor(message, socket) { + super(message); + Error.captureStackTrace(this, SocketError); + this.name = "SocketError"; + this.message = message || "Socket error"; + this.code = "UND_ERR_SOCKET"; + this.socket = socket; + } + }; + var NotSupportedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, NotSupportedError); + this.name = "NotSupportedError"; + this.message = message || "Not supported error"; + this.code = "UND_ERR_NOT_SUPPORTED"; + } + }; + var BalancedPoolMissingUpstreamError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, NotSupportedError); + this.name = "MissingUpstreamError"; + this.message = message || "No upstream has been added to the BalancedPool"; + this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + } + }; + var HTTPParserError = class extends Error { + constructor(message, code, data) { + super(message); + Error.captureStackTrace(this, HTTPParserError); + this.name = "HTTPParserError"; + this.code = code ? `HPE_${code}` : void 0; + this.data = data ? data.toString() : void 0; + } + }; + var ResponseExceededMaxSizeError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ResponseExceededMaxSizeError); + this.name = "ResponseExceededMaxSizeError"; + this.message = message || "Response content exceeded max size"; + this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + } + }; + var RequestRetryError = class extends UndiciError { + constructor(message, code, { headers, data }) { + super(message); + Error.captureStackTrace(this, RequestRetryError); + this.name = "RequestRetryError"; + this.message = message || "Request retry error"; + this.code = "UND_ERR_REQ_RETRY"; + this.statusCode = code; + this.data = data; + this.headers = headers; + } + }; + module2.exports = { + HTTPParserError, + UndiciError, + HeadersTimeoutError, + HeadersOverflowError, + BodyTimeoutError, + RequestContentLengthMismatchError, + ConnectTimeoutError, + ResponseStatusCodeError, + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError, + ClientDestroyedError, + ClientClosedError, + InformationalError, + SocketError, + NotSupportedError, + ResponseContentLengthMismatchError, + BalancedPoolMissingUpstreamError, + ResponseExceededMaxSizeError, + RequestRetryError + }; + } +}); + +// node_modules/undici/lib/core/constants.js +var require_constants = __commonJS({ + "node_modules/undici/lib/core/constants.js"(exports, module2) { + "use strict"; + var headerNameLowerCasedRecord = {}; + var wellknownHeaderNames = [ + "Accept", + "Accept-Encoding", + "Accept-Language", + "Accept-Ranges", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Age", + "Allow", + "Alt-Svc", + "Alt-Used", + "Authorization", + "Cache-Control", + "Clear-Site-Data", + "Connection", + "Content-Disposition", + "Content-Encoding", + "Content-Language", + "Content-Length", + "Content-Location", + "Content-Range", + "Content-Security-Policy", + "Content-Security-Policy-Report-Only", + "Content-Type", + "Cookie", + "Cross-Origin-Embedder-Policy", + "Cross-Origin-Opener-Policy", + "Cross-Origin-Resource-Policy", + "Date", + "Device-Memory", + "Downlink", + "ECT", + "ETag", + "Expect", + "Expect-CT", + "Expires", + "Forwarded", + "From", + "Host", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", + "Keep-Alive", + "Last-Modified", + "Link", + "Location", + "Max-Forwards", + "Origin", + "Permissions-Policy", + "Pragma", + "Proxy-Authenticate", + "Proxy-Authorization", + "RTT", + "Range", + "Referer", + "Referrer-Policy", + "Refresh", + "Retry-After", + "Sec-WebSocket-Accept", + "Sec-WebSocket-Extensions", + "Sec-WebSocket-Key", + "Sec-WebSocket-Protocol", + "Sec-WebSocket-Version", + "Server", + "Server-Timing", + "Service-Worker-Allowed", + "Service-Worker-Navigation-Preload", + "Set-Cookie", + "SourceMap", + "Strict-Transport-Security", + "Supports-Loading-Mode", + "TE", + "Timing-Allow-Origin", + "Trailer", + "Transfer-Encoding", + "Upgrade", + "Upgrade-Insecure-Requests", + "User-Agent", + "Vary", + "Via", + "WWW-Authenticate", + "X-Content-Type-Options", + "X-DNS-Prefetch-Control", + "X-Frame-Options", + "X-Permitted-Cross-Domain-Policies", + "X-Powered-By", + "X-Requested-With", + "X-XSS-Protection" + ]; + for (let i3 = 0; i3 < wellknownHeaderNames.length; ++i3) { + const key = wellknownHeaderNames[i3]; + const lowerCasedKey = key.toLowerCase(); + headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; + } + Object.setPrototypeOf(headerNameLowerCasedRecord, null); + module2.exports = { + wellknownHeaderNames, + headerNameLowerCasedRecord + }; + } +}); + +// node_modules/undici/lib/core/util.js +var require_util = __commonJS({ + "node_modules/undici/lib/core/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { kDestroyed, kBodyUsed } = require_symbols(); + var { IncomingMessage } = require("http"); + var stream4 = require("stream"); + var net = require("net"); + var { InvalidArgumentError } = require_errors(); + var { Blob: Blob4 } = require("buffer"); + var nodeUtil = require("util"); + var { stringify } = require("querystring"); + var { headerNameLowerCasedRecord } = require_constants(); + var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v2) => Number(v2)); + function nop() { + } + function isStream2(obj) { + return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; + } + function isBlobLike2(object) { + return Blob4 && object instanceof Blob4 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + } + function buildURL2(url2, queryParams) { + if (url2.includes("?") || url2.includes("#")) { + throw new Error('Query params cannot be passed when url already contains "?" or "#".'); + } + const stringified = stringify(queryParams); + if (stringified) { + url2 += "?" + stringified; + } + return url2; + } + function parseURL(url2) { + if (typeof url2 === "string") { + url2 = new URL(url2); + if (!/^https?:/.test(url2.origin || url2.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + return url2; + } + if (!url2 || typeof url2 !== "object") { + throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); + } + if (!/^https?:/.test(url2.origin || url2.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + if (!(url2 instanceof URL)) { + if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) { + throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); + } + if (url2.path != null && typeof url2.path !== "string") { + throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); + } + if (url2.pathname != null && typeof url2.pathname !== "string") { + throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); + } + if (url2.hostname != null && typeof url2.hostname !== "string") { + throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); + } + if (url2.origin != null && typeof url2.origin !== "string") { + throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); + } + const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80; + let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`; + let path2 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`; + if (origin.endsWith("/")) { + origin = origin.substring(0, origin.length - 1); + } + if (path2 && !path2.startsWith("/")) { + path2 = `/${path2}`; + } + url2 = new URL(origin + path2); + } + return url2; + } + function parseOrigin(url2) { + url2 = parseURL(url2); + if (url2.pathname !== "/" || url2.search || url2.hash) { + throw new InvalidArgumentError("invalid url"); + } + return url2; + } + function getHostname(host) { + if (host[0] === "[") { + const idx2 = host.indexOf("]"); + assert(idx2 !== -1); + return host.substring(1, idx2); + } + const idx = host.indexOf(":"); + if (idx === -1) + return host; + return host.substring(0, idx); + } + function getServerName(host) { + if (!host) { + return null; + } + assert.strictEqual(typeof host, "string"); + const servername = getHostname(host); + if (net.isIP(servername)) { + return ""; + } + return servername; + } + function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); + } + function isAsyncIterable(obj) { + return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); + } + function isIterable(obj) { + return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); + } + function bodyLength(body) { + if (body == null) { + return 0; + } else if (isStream2(body)) { + const state = body._readableState; + return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + } else if (isBlobLike2(body)) { + return body.size != null ? body.size : null; + } else if (isBuffer2(body)) { + return body.byteLength; + } + return null; + } + function isDestroyed(stream5) { + return !stream5 || !!(stream5.destroyed || stream5[kDestroyed]); + } + function isReadableAborted(stream5) { + const state = stream5 && stream5._readableState; + return isDestroyed(stream5) && state && !state.endEmitted; + } + function destroy(stream5, err) { + if (stream5 == null || !isStream2(stream5) || isDestroyed(stream5)) { + return; + } + if (typeof stream5.destroy === "function") { + if (Object.getPrototypeOf(stream5).constructor === IncomingMessage) { + stream5.socket = null; + } + stream5.destroy(err); + } else if (err) { + process.nextTick((stream6, err2) => { + stream6.emit("error", err2); + }, stream5, err); + } + if (stream5.destroyed !== true) { + stream5[kDestroyed] = true; + } + } + var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; + function parseKeepAliveTimeout(val) { + const m4 = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); + return m4 ? parseInt(m4[1], 10) * 1e3 : null; + } + function headerNameToString(value) { + return headerNameLowerCasedRecord[value] || value.toLowerCase(); + } + function parseHeaders(headers, obj = {}) { + if (!Array.isArray(headers)) + return headers; + for (let i3 = 0; i3 < headers.length; i3 += 2) { + const key = headers[i3].toString().toLowerCase(); + let val = obj[key]; + if (!val) { + if (Array.isArray(headers[i3 + 1])) { + obj[key] = headers[i3 + 1].map((x2) => x2.toString("utf8")); + } else { + obj[key] = headers[i3 + 1].toString("utf8"); + } + } else { + if (!Array.isArray(val)) { + val = [val]; + obj[key] = val; + } + val.push(headers[i3 + 1].toString("utf8")); + } + } + if ("content-length" in obj && "content-disposition" in obj) { + obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); + } + return obj; + } + function parseRawHeaders(headers) { + const ret = []; + let hasContentLength = false; + let contentDispositionIdx = -1; + for (let n2 = 0; n2 < headers.length; n2 += 2) { + const key = headers[n2 + 0].toString(); + const val = headers[n2 + 1].toString("utf8"); + if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { + ret.push(key, val); + hasContentLength = true; + } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + contentDispositionIdx = ret.push(key, val) - 1; + } else { + ret.push(key, val); + } + } + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + } + return ret; + } + function isBuffer2(buffer) { + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); + } + function validateHandler(handler, method, upgrade) { + if (!handler || typeof handler !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + if (typeof handler.onConnect !== "function") { + throw new InvalidArgumentError("invalid onConnect method"); + } + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { + throw new InvalidArgumentError("invalid onBodySent method"); + } + if (upgrade || method === "CONNECT") { + if (typeof handler.onUpgrade !== "function") { + throw new InvalidArgumentError("invalid onUpgrade method"); + } + } else { + if (typeof handler.onHeaders !== "function") { + throw new InvalidArgumentError("invalid onHeaders method"); + } + if (typeof handler.onData !== "function") { + throw new InvalidArgumentError("invalid onData method"); + } + if (typeof handler.onComplete !== "function") { + throw new InvalidArgumentError("invalid onComplete method"); + } + } + } + function isDisturbed(body) { + return !!(body && (stream4.isDisturbed ? stream4.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + } + function isErrored(body) { + return !!(body && (stream4.isErrored ? stream4.isErrored(body) : /state: 'errored'/.test( + nodeUtil.inspect(body) + ))); + } + function isReadable(body) { + return !!(body && (stream4.isReadable ? stream4.isReadable(body) : /state: 'readable'/.test( + nodeUtil.inspect(body) + ))); + } + function getSocketInfo(socket) { + return { + localAddress: socket.localAddress, + localPort: socket.localPort, + remoteAddress: socket.remoteAddress, + remotePort: socket.remotePort, + remoteFamily: socket.remoteFamily, + timeout: socket.timeout, + bytesWritten: socket.bytesWritten, + bytesRead: socket.bytesRead + }; + } + async function* convertIterableToBuffer(iterable) { + for await (const chunk of iterable) { + yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + } + } + var ReadableStream4; + function ReadableStreamFrom(iterable) { + if (!ReadableStream4) { + ReadableStream4 = require("stream/web").ReadableStream; + } + if (ReadableStream4.from) { + return ReadableStream4.from(convertIterableToBuffer(iterable)); + } + let iterator; + return new ReadableStream4( + { + async start() { + iterator = iterable[Symbol.asyncIterator](); + }, + async pull(controller) { + const { done, value } = await iterator.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + }); + } else { + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); + controller.enqueue(new Uint8Array(buf)); + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator.return(); + } + }, + 0 + ); + } + function isFormDataLike(object) { + return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; + } + function throwIfAborted(signal) { + if (!signal) { + return; + } + if (typeof signal.throwIfAborted === "function") { + signal.throwIfAborted(); + } else { + if (signal.aborted) { + const err = new Error("The operation was aborted"); + err.name = "AbortError"; + throw err; + } + } + } + function addAbortListener(signal, listener) { + if ("addEventListener" in signal) { + signal.addEventListener("abort", listener, { once: true }); + return () => signal.removeEventListener("abort", listener); + } + signal.addListener("abort", listener); + return () => signal.removeListener("abort", listener); + } + var hasToWellFormed = !!String.prototype.toWellFormed; + function toUSVString(val) { + if (hasToWellFormed) { + return `${val}`.toWellFormed(); + } else if (nodeUtil.toUSVString) { + return nodeUtil.toUSVString(val); + } + return `${val}`; + } + function parseRangeHeader(range) { + if (range == null || range === "") + return { start: 0, end: null, size: null }; + const m4 = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + return m4 ? { + start: parseInt(m4[1]), + end: m4[2] ? parseInt(m4[2]) : null, + size: m4[3] ? parseInt(m4[3]) : null + } : null; + } + var kEnumerableProperty = /* @__PURE__ */ Object.create(null); + kEnumerableProperty.enumerable = true; + module2.exports = { + kEnumerableProperty, + nop, + isDisturbed, + isErrored, + isReadable, + toUSVString, + isReadableAborted, + isBlobLike: isBlobLike2, + parseOrigin, + parseURL, + getServerName, + isStream: isStream2, + isIterable, + isAsyncIterable, + isDestroyed, + headerNameToString, + parseRawHeaders, + parseHeaders, + parseKeepAliveTimeout, + destroy, + bodyLength, + deepClone, + ReadableStreamFrom, + isBuffer: isBuffer2, + validateHandler, + getSocketInfo, + isFormDataLike, + buildURL: buildURL2, + throwIfAborted, + addAbortListener, + parseRangeHeader, + nodeMajor, + nodeMinor, + nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] + }; + } +}); + +// node_modules/undici/lib/timers.js +var require_timers = __commonJS({ + "node_modules/undici/lib/timers.js"(exports, module2) { + "use strict"; + var fastNow = Date.now(); + var fastNowTimeout; + var fastTimers = []; + function onTimeout() { + fastNow = Date.now(); + let len = fastTimers.length; + let idx = 0; + while (idx < len) { + const timer = fastTimers[idx]; + if (timer.state === 0) { + timer.state = fastNow + timer.delay; + } else if (timer.state > 0 && fastNow >= timer.state) { + timer.state = -1; + timer.callback(timer.opaque); + } + if (timer.state === -1) { + timer.state = -2; + if (idx !== len - 1) { + fastTimers[idx] = fastTimers.pop(); + } else { + fastTimers.pop(); + } + len -= 1; + } else { + idx += 1; + } + } + if (fastTimers.length > 0) { + refreshTimeout(); + } + } + function refreshTimeout() { + if (fastNowTimeout && fastNowTimeout.refresh) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTimeout, 1e3); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); + } + } + } + var Timeout = class { + constructor(callback, delay2, opaque) { + this.callback = callback; + this.delay = delay2; + this.opaque = opaque; + this.state = -2; + this.refresh(); + } + refresh() { + if (this.state === -2) { + fastTimers.push(this); + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); + } + } + this.state = 0; + } + clear() { + this.state = -1; + } + }; + module2.exports = { + setTimeout(callback, delay2, opaque) { + return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque); + }, + clearTimeout(timeout) { + if (timeout instanceof Timeout) { + timeout.clear(); + } else { + clearTimeout(timeout); + } + } + }; + } +}); + +// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +var require_sbmh = __commonJS({ + "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("node:events").EventEmitter; + var inherits2 = require("node:util").inherits; + function SBMH(needle) { + if (typeof needle === "string") { + needle = Buffer.from(needle); + } + if (!Buffer.isBuffer(needle)) { + throw new TypeError("The needle has to be a String or a Buffer."); + } + const needleLength = needle.length; + if (needleLength === 0) { + throw new Error("The needle cannot be an empty String/Buffer."); + } + if (needleLength > 256) { + throw new Error("The needle cannot have a length bigger than 256."); + } + this.maxMatches = Infinity; + this.matches = 0; + this._occ = new Array(256).fill(needleLength); + this._lookbehind_size = 0; + this._needle = needle; + this._bufpos = 0; + this._lookbehind = Buffer.alloc(needleLength); + for (var i3 = 0; i3 < needleLength - 1; ++i3) { + this._occ[needle[i3]] = needleLength - 1 - i3; + } + } + inherits2(SBMH, EventEmitter2); + SBMH.prototype.reset = function() { + this._lookbehind_size = 0; + this.matches = 0; + this._bufpos = 0; + }; + SBMH.prototype.push = function(chunk, pos) { + if (!Buffer.isBuffer(chunk)) { + chunk = Buffer.from(chunk, "binary"); + } + const chlen = chunk.length; + this._bufpos = pos || 0; + let r3; + while (r3 !== chlen && this.matches < this.maxMatches) { + r3 = this._sbmh_feed(chunk); + } + return r3; + }; + SBMH.prototype._sbmh_feed = function(data) { + const len = data.length; + const needle = this._needle; + const needleLength = needle.length; + const lastNeedleChar = needle[needleLength - 1]; + let pos = -this._lookbehind_size; + let ch; + if (pos < 0) { + while (pos < 0 && pos <= len - needleLength) { + ch = this._sbmh_lookup_char(data, pos + needleLength - 1); + if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { + this._lookbehind_size = 0; + ++this.matches; + this.emit("info", true); + return this._bufpos = pos + needleLength; + } + pos += this._occ[ch]; + } + if (pos < 0) { + while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { + ++pos; + } + } + if (pos >= 0) { + this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); + this._lookbehind_size = 0; + } else { + const bytesToCutOff = this._lookbehind_size + pos; + if (bytesToCutOff > 0) { + this.emit("info", false, this._lookbehind, 0, bytesToCutOff); + } + this._lookbehind.copy( + this._lookbehind, + 0, + bytesToCutOff, + this._lookbehind_size - bytesToCutOff + ); + this._lookbehind_size -= bytesToCutOff; + data.copy(this._lookbehind, this._lookbehind_size); + this._lookbehind_size += len; + this._bufpos = len; + return len; + } + } + pos += (pos >= 0) * this._bufpos; + if (data.indexOf(needle, pos) !== -1) { + pos = data.indexOf(needle, pos); + ++this.matches; + if (pos > 0) { + this.emit("info", true, data, this._bufpos, pos); + } else { + this.emit("info", true); + } + return this._bufpos = pos + needleLength; + } else { + pos = len - needleLength; + } + while (pos < len && (data[pos] !== needle[0] || Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0)) { + ++pos; + } + if (pos < len) { + data.copy(this._lookbehind, 0, pos, pos + (len - pos)); + this._lookbehind_size = len - pos; + } + if (pos > 0) { + this.emit("info", false, data, this._bufpos, pos < len ? pos : len); + } + this._bufpos = len; + return len; + }; + SBMH.prototype._sbmh_lookup_char = function(data, pos) { + return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; + }; + SBMH.prototype._sbmh_memcmp = function(data, pos, len) { + for (var i3 = 0; i3 < len; ++i3) { + if (this._sbmh_lookup_char(data, pos + i3) !== this._needle[i3]) { + return false; + } + } + return true; + }; + module2.exports = SBMH; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +var require_PartStream = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports, module2) { + "use strict"; + var inherits2 = require("node:util").inherits; + var ReadableStream4 = require("node:stream").Readable; + function PartStream(opts) { + ReadableStream4.call(this, opts); + } + inherits2(PartStream, ReadableStream4); + PartStream.prototype._read = function(n2) { + }; + module2.exports = PartStream; + } +}); + +// node_modules/@fastify/busboy/lib/utils/getLimit.js +var require_getLimit = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports, module2) { + "use strict"; + module2.exports = function getLimit(limits, name, defaultLimit) { + if (!limits || limits[name] === void 0 || limits[name] === null) { + return defaultLimit; + } + if (typeof limits[name] !== "number" || isNaN(limits[name])) { + throw new TypeError("Limit " + name + " is not a valid number"); + } + return limits[name]; + }; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +var require_HeaderParser = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("node:events").EventEmitter; + var inherits2 = require("node:util").inherits; + var getLimit = require_getLimit(); + var StreamSearch = require_sbmh(); + var B_DCRLF = Buffer.from("\r\n\r\n"); + var RE_CRLF = /\r\n/g; + var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; + function HeaderParser(cfg) { + EventEmitter2.call(this); + cfg = cfg || {}; + const self2 = this; + this.nread = 0; + this.maxed = false; + this.npairs = 0; + this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); + this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); + this.buffer = ""; + this.header = {}; + this.finished = false; + this.ss = new StreamSearch(B_DCRLF); + this.ss.on("info", function(isMatch, data, start, end) { + if (data && !self2.maxed) { + if (self2.nread + end - start >= self2.maxHeaderSize) { + end = self2.maxHeaderSize - self2.nread + start; + self2.nread = self2.maxHeaderSize; + self2.maxed = true; + } else { + self2.nread += end - start; + } + self2.buffer += data.toString("binary", start, end); + } + if (isMatch) { + self2._finish(); + } + }); + } + inherits2(HeaderParser, EventEmitter2); + HeaderParser.prototype.push = function(data) { + const r3 = this.ss.push(data); + if (this.finished) { + return r3; + } + }; + HeaderParser.prototype.reset = function() { + this.finished = false; + this.buffer = ""; + this.header = {}; + this.ss.reset(); + }; + HeaderParser.prototype._finish = function() { + if (this.buffer) { + this._parseHeader(); + } + this.ss.matches = this.ss.maxMatches; + const header = this.header; + this.header = {}; + this.buffer = ""; + this.finished = true; + this.nread = this.npairs = 0; + this.maxed = false; + this.emit("header", header); + }; + HeaderParser.prototype._parseHeader = function() { + if (this.npairs === this.maxHeaderPairs) { + return; + } + const lines = this.buffer.split(RE_CRLF); + const len = lines.length; + let m4, h3; + for (var i3 = 0; i3 < len; ++i3) { + if (lines[i3].length === 0) { + continue; + } + if (lines[i3][0] === " " || lines[i3][0] === " ") { + if (h3) { + this.header[h3][this.header[h3].length - 1] += lines[i3]; + continue; + } + } + const posColon = lines[i3].indexOf(":"); + if (posColon === -1 || posColon === 0) { + return; + } + m4 = RE_HDR.exec(lines[i3]); + h3 = m4[1].toLowerCase(); + this.header[h3] = this.header[h3] || []; + this.header[h3].push(m4[2] || ""); + if (++this.npairs === this.maxHeaderPairs) { + break; + } + } + }; + module2.exports = HeaderParser; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +var require_Dicer = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports, module2) { + "use strict"; + var WritableStream2 = require("node:stream").Writable; + var inherits2 = require("node:util").inherits; + var StreamSearch = require_sbmh(); + var PartStream = require_PartStream(); + var HeaderParser = require_HeaderParser(); + var DASH = 45; + var B_ONEDASH = Buffer.from("-"); + var B_CRLF = Buffer.from("\r\n"); + var EMPTY_FN = function() { + }; + function Dicer(cfg) { + if (!(this instanceof Dicer)) { + return new Dicer(cfg); + } + WritableStream2.call(this, cfg); + if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { + throw new TypeError("Boundary required"); + } + if (typeof cfg.boundary === "string") { + this.setBoundary(cfg.boundary); + } else { + this._bparser = void 0; + } + this._headerFirst = cfg.headerFirst; + this._dashes = 0; + this._parts = 0; + this._finished = false; + this._realFinish = false; + this._isPreamble = true; + this._justMatched = false; + this._firstWrite = true; + this._inHeader = true; + this._part = void 0; + this._cb = void 0; + this._ignoreData = false; + this._partOpts = { highWaterMark: cfg.partHwm }; + this._pause = false; + const self2 = this; + this._hparser = new HeaderParser(cfg); + this._hparser.on("header", function(header) { + self2._inHeader = false; + self2._part.emit("header", header); + }); + } + inherits2(Dicer, WritableStream2); + Dicer.prototype.emit = function(ev) { + if (ev === "finish" && !this._realFinish) { + if (!this._finished) { + const self2 = this; + process.nextTick(function() { + self2.emit("error", new Error("Unexpected end of multipart data")); + if (self2._part && !self2._ignoreData) { + const type = self2._isPreamble ? "Preamble" : "Part"; + self2._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); + self2._part.push(null); + process.nextTick(function() { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + }); + return; + } + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + }); + } + } else { + WritableStream2.prototype.emit.apply(this, arguments); + } + }; + Dicer.prototype._write = function(data, encoding, cb) { + if (!this._hparser && !this._bparser) { + return cb(); + } + if (this._headerFirst && this._isPreamble) { + if (!this._part) { + this._part = new PartStream(this._partOpts); + if (this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else { + this._ignore(); + } + } + const r3 = this._hparser.push(data); + if (!this._inHeader && r3 !== void 0 && r3 < data.length) { + data = data.slice(r3); + } else { + return cb(); + } + } + if (this._firstWrite) { + this._bparser.push(B_CRLF); + this._firstWrite = false; + } + this._bparser.push(data); + if (this._pause) { + this._cb = cb; + } else { + cb(); + } + }; + Dicer.prototype.reset = function() { + this._part = void 0; + this._bparser = void 0; + this._hparser = void 0; + }; + Dicer.prototype.setBoundary = function(boundary) { + const self2 = this; + this._bparser = new StreamSearch("\r\n--" + boundary); + this._bparser.on("info", function(isMatch, data, start, end) { + self2._oninfo(isMatch, data, start, end); + }); + }; + Dicer.prototype._ignore = function() { + if (this._part && !this._ignoreData) { + this._ignoreData = true; + this._part.on("error", EMPTY_FN); + this._part.resume(); + } + }; + Dicer.prototype._oninfo = function(isMatch, data, start, end) { + let buf; + const self2 = this; + let i3 = 0; + let r3; + let shouldWriteMore = true; + if (!this._part && this._justMatched && data) { + while (this._dashes < 2 && start + i3 < end) { + if (data[start + i3] === DASH) { + ++i3; + ++this._dashes; + } else { + if (this._dashes) { + buf = B_ONEDASH; + } + this._dashes = 0; + break; + } + } + if (this._dashes === 2) { + if (start + i3 < end && this.listenerCount("trailer") !== 0) { + this.emit("trailer", data.slice(start + i3, end)); + } + this.reset(); + this._finished = true; + if (self2._parts === 0) { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + } + } + if (this._dashes) { + return; + } + } + if (this._justMatched) { + this._justMatched = false; + } + if (!this._part) { + this._part = new PartStream(this._partOpts); + this._part._read = function(n2) { + self2._unpause(); + }; + if (this._isPreamble && this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { + this.emit("part", this._part); + } else { + this._ignore(); + } + if (!this._isPreamble) { + this._inHeader = true; + } + } + if (data && start < end && !this._ignoreData) { + if (this._isPreamble || !this._inHeader) { + if (buf) { + shouldWriteMore = this._part.push(buf); + } + shouldWriteMore = this._part.push(data.slice(start, end)); + if (!shouldWriteMore) { + this._pause = true; + } + } else if (!this._isPreamble && this._inHeader) { + if (buf) { + this._hparser.push(buf); + } + r3 = this._hparser.push(data.slice(start, end)); + if (!this._inHeader && r3 !== void 0 && r3 < end) { + this._oninfo(false, data, start + r3, end); + } + } + } + if (isMatch) { + this._hparser.reset(); + if (this._isPreamble) { + this._isPreamble = false; + } else { + if (start !== end) { + ++this._parts; + this._part.on("end", function() { + if (--self2._parts === 0) { + if (self2._finished) { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + } else { + self2._unpause(); + } + } + }); + } + } + this._part.push(null); + this._part = void 0; + this._ignoreData = false; + this._justMatched = true; + this._dashes = 0; + } + }; + Dicer.prototype._unpause = function() { + if (!this._pause) { + return; + } + this._pause = false; + if (this._cb) { + const cb = this._cb; + this._cb = void 0; + cb(); + } + }; + module2.exports = Dicer; + } +}); + +// node_modules/@fastify/busboy/lib/utils/decodeText.js +var require_decodeText = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module2) { + "use strict"; + var utf8Decoder = new TextDecoder("utf-8"); + var textDecoders = /* @__PURE__ */ new Map([ + ["utf-8", utf8Decoder], + ["utf8", utf8Decoder] + ]); + function getDecoder(charset) { + let lc; + while (true) { + switch (charset) { + case "utf-8": + case "utf8": + return decoders.utf8; + case "latin1": + case "ascii": + case "us-ascii": + case "iso-8859-1": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "windows-1252": + case "iso_8859-1:1987": + case "cp1252": + case "x-cp1252": + return decoders.latin1; + case "utf16le": + case "utf-16le": + case "ucs2": + case "ucs-2": + return decoders.utf16le; + case "base64": + return decoders.base64; + default: + if (lc === void 0) { + lc = true; + charset = charset.toLowerCase(); + continue; + } + return decoders.other.bind(charset); + } + } + } + var decoders = { + utf8: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.utf8Slice(0, data.length); + }, + latin1: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + return data; + } + return data.latin1Slice(0, data.length); + }, + utf16le: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.ucs2Slice(0, data.length); + }, + base64: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.base64Slice(0, data.length); + }, + other: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + if (textDecoders.has(exports.toString())) { + try { + return textDecoders.get(exports).decode(data); + } catch { + } + } + return typeof data === "string" ? data : data.toString(); + } + }; + function decodeText(text, sourceEncoding, destEncoding) { + if (text) { + return getDecoder(destEncoding)(text, sourceEncoding); + } + return text; + } + module2.exports = decodeText; + } +}); + +// node_modules/@fastify/busboy/lib/utils/parseParams.js +var require_parseParams = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports, module2) { + "use strict"; + var decodeText = require_decodeText(); + var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; + var EncodedLookup = { + "%00": "\0", + "%01": "", + "%02": "", + "%03": "", + "%04": "", + "%05": "", + "%06": "", + "%07": "\x07", + "%08": "\b", + "%09": " ", + "%0a": "\n", + "%0A": "\n", + "%0b": "\v", + "%0B": "\v", + "%0c": "\f", + "%0C": "\f", + "%0d": "\r", + "%0D": "\r", + "%0e": "", + "%0E": "", + "%0f": "", + "%0F": "", + "%10": "", + "%11": "", + "%12": "", + "%13": "", + "%14": "", + "%15": "", + "%16": "", + "%17": "", + "%18": "", + "%19": "", + "%1a": "", + "%1A": "", + "%1b": "\x1B", + "%1B": "\x1B", + "%1c": "", + "%1C": "", + "%1d": "", + "%1D": "", + "%1e": "", + "%1E": "", + "%1f": "", + "%1F": "", + "%20": " ", + "%21": "!", + "%22": '"', + "%23": "#", + "%24": "$", + "%25": "%", + "%26": "&", + "%27": "'", + "%28": "(", + "%29": ")", + "%2a": "*", + "%2A": "*", + "%2b": "+", + "%2B": "+", + "%2c": ",", + "%2C": ",", + "%2d": "-", + "%2D": "-", + "%2e": ".", + "%2E": ".", + "%2f": "/", + "%2F": "/", + "%30": "0", + "%31": "1", + "%32": "2", + "%33": "3", + "%34": "4", + "%35": "5", + "%36": "6", + "%37": "7", + "%38": "8", + "%39": "9", + "%3a": ":", + "%3A": ":", + "%3b": ";", + "%3B": ";", + "%3c": "<", + "%3C": "<", + "%3d": "=", + "%3D": "=", + "%3e": ">", + "%3E": ">", + "%3f": "?", + "%3F": "?", + "%40": "@", + "%41": "A", + "%42": "B", + "%43": "C", + "%44": "D", + "%45": "E", + "%46": "F", + "%47": "G", + "%48": "H", + "%49": "I", + "%4a": "J", + "%4A": "J", + "%4b": "K", + "%4B": "K", + "%4c": "L", + "%4C": "L", + "%4d": "M", + "%4D": "M", + "%4e": "N", + "%4E": "N", + "%4f": "O", + "%4F": "O", + "%50": "P", + "%51": "Q", + "%52": "R", + "%53": "S", + "%54": "T", + "%55": "U", + "%56": "V", + "%57": "W", + "%58": "X", + "%59": "Y", + "%5a": "Z", + "%5A": "Z", + "%5b": "[", + "%5B": "[", + "%5c": "\\", + "%5C": "\\", + "%5d": "]", + "%5D": "]", + "%5e": "^", + "%5E": "^", + "%5f": "_", + "%5F": "_", + "%60": "`", + "%61": "a", + "%62": "b", + "%63": "c", + "%64": "d", + "%65": "e", + "%66": "f", + "%67": "g", + "%68": "h", + "%69": "i", + "%6a": "j", + "%6A": "j", + "%6b": "k", + "%6B": "k", + "%6c": "l", + "%6C": "l", + "%6d": "m", + "%6D": "m", + "%6e": "n", + "%6E": "n", + "%6f": "o", + "%6F": "o", + "%70": "p", + "%71": "q", + "%72": "r", + "%73": "s", + "%74": "t", + "%75": "u", + "%76": "v", + "%77": "w", + "%78": "x", + "%79": "y", + "%7a": "z", + "%7A": "z", + "%7b": "{", + "%7B": "{", + "%7c": "|", + "%7C": "|", + "%7d": "}", + "%7D": "}", + "%7e": "~", + "%7E": "~", + "%7f": "\x7F", + "%7F": "\x7F", + "%80": "\x80", + "%81": "\x81", + "%82": "\x82", + "%83": "\x83", + "%84": "\x84", + "%85": "\x85", + "%86": "\x86", + "%87": "\x87", + "%88": "\x88", + "%89": "\x89", + "%8a": "\x8A", + "%8A": "\x8A", + "%8b": "\x8B", + "%8B": "\x8B", + "%8c": "\x8C", + "%8C": "\x8C", + "%8d": "\x8D", + "%8D": "\x8D", + "%8e": "\x8E", + "%8E": "\x8E", + "%8f": "\x8F", + "%8F": "\x8F", + "%90": "\x90", + "%91": "\x91", + "%92": "\x92", + "%93": "\x93", + "%94": "\x94", + "%95": "\x95", + "%96": "\x96", + "%97": "\x97", + "%98": "\x98", + "%99": "\x99", + "%9a": "\x9A", + "%9A": "\x9A", + "%9b": "\x9B", + "%9B": "\x9B", + "%9c": "\x9C", + "%9C": "\x9C", + "%9d": "\x9D", + "%9D": "\x9D", + "%9e": "\x9E", + "%9E": "\x9E", + "%9f": "\x9F", + "%9F": "\x9F", + "%a0": "\xA0", + "%A0": "\xA0", + "%a1": "\xA1", + "%A1": "\xA1", + "%a2": "\xA2", + "%A2": "\xA2", + "%a3": "\xA3", + "%A3": "\xA3", + "%a4": "\xA4", + "%A4": "\xA4", + "%a5": "\xA5", + "%A5": "\xA5", + "%a6": "\xA6", + "%A6": "\xA6", + "%a7": "\xA7", + "%A7": "\xA7", + "%a8": "\xA8", + "%A8": "\xA8", + "%a9": "\xA9", + "%A9": "\xA9", + "%aa": "\xAA", + "%Aa": "\xAA", + "%aA": "\xAA", + "%AA": "\xAA", + "%ab": "\xAB", + "%Ab": "\xAB", + "%aB": "\xAB", + "%AB": "\xAB", + "%ac": "\xAC", + "%Ac": "\xAC", + "%aC": "\xAC", + "%AC": "\xAC", + "%ad": "\xAD", + "%Ad": "\xAD", + "%aD": "\xAD", + "%AD": "\xAD", + "%ae": "\xAE", + "%Ae": "\xAE", + "%aE": "\xAE", + "%AE": "\xAE", + "%af": "\xAF", + "%Af": "\xAF", + "%aF": "\xAF", + "%AF": "\xAF", + "%b0": "\xB0", + "%B0": "\xB0", + "%b1": "\xB1", + "%B1": "\xB1", + "%b2": "\xB2", + "%B2": "\xB2", + "%b3": "\xB3", + "%B3": "\xB3", + "%b4": "\xB4", + "%B4": "\xB4", + "%b5": "\xB5", + "%B5": "\xB5", + "%b6": "\xB6", + "%B6": "\xB6", + "%b7": "\xB7", + "%B7": "\xB7", + "%b8": "\xB8", + "%B8": "\xB8", + "%b9": "\xB9", + "%B9": "\xB9", + "%ba": "\xBA", + "%Ba": "\xBA", + "%bA": "\xBA", + "%BA": "\xBA", + "%bb": "\xBB", + "%Bb": "\xBB", + "%bB": "\xBB", + "%BB": "\xBB", + "%bc": "\xBC", + "%Bc": "\xBC", + "%bC": "\xBC", + "%BC": "\xBC", + "%bd": "\xBD", + "%Bd": "\xBD", + "%bD": "\xBD", + "%BD": "\xBD", + "%be": "\xBE", + "%Be": "\xBE", + "%bE": "\xBE", + "%BE": "\xBE", + "%bf": "\xBF", + "%Bf": "\xBF", + "%bF": "\xBF", + "%BF": "\xBF", + "%c0": "\xC0", + "%C0": "\xC0", + "%c1": "\xC1", + "%C1": "\xC1", + "%c2": "\xC2", + "%C2": "\xC2", + "%c3": "\xC3", + "%C3": "\xC3", + "%c4": "\xC4", + "%C4": "\xC4", + "%c5": "\xC5", + "%C5": "\xC5", + "%c6": "\xC6", + "%C6": "\xC6", + "%c7": "\xC7", + "%C7": "\xC7", + "%c8": "\xC8", + "%C8": "\xC8", + "%c9": "\xC9", + "%C9": "\xC9", + "%ca": "\xCA", + "%Ca": "\xCA", + "%cA": "\xCA", + "%CA": "\xCA", + "%cb": "\xCB", + "%Cb": "\xCB", + "%cB": "\xCB", + "%CB": "\xCB", + "%cc": "\xCC", + "%Cc": "\xCC", + "%cC": "\xCC", + "%CC": "\xCC", + "%cd": "\xCD", + "%Cd": "\xCD", + "%cD": "\xCD", + "%CD": "\xCD", + "%ce": "\xCE", + "%Ce": "\xCE", + "%cE": "\xCE", + "%CE": "\xCE", + "%cf": "\xCF", + "%Cf": "\xCF", + "%cF": "\xCF", + "%CF": "\xCF", + "%d0": "\xD0", + "%D0": "\xD0", + "%d1": "\xD1", + "%D1": "\xD1", + "%d2": "\xD2", + "%D2": "\xD2", + "%d3": "\xD3", + "%D3": "\xD3", + "%d4": "\xD4", + "%D4": "\xD4", + "%d5": "\xD5", + "%D5": "\xD5", + "%d6": "\xD6", + "%D6": "\xD6", + "%d7": "\xD7", + "%D7": "\xD7", + "%d8": "\xD8", + "%D8": "\xD8", + "%d9": "\xD9", + "%D9": "\xD9", + "%da": "\xDA", + "%Da": "\xDA", + "%dA": "\xDA", + "%DA": "\xDA", + "%db": "\xDB", + "%Db": "\xDB", + "%dB": "\xDB", + "%DB": "\xDB", + "%dc": "\xDC", + "%Dc": "\xDC", + "%dC": "\xDC", + "%DC": "\xDC", + "%dd": "\xDD", + "%Dd": "\xDD", + "%dD": "\xDD", + "%DD": "\xDD", + "%de": "\xDE", + "%De": "\xDE", + "%dE": "\xDE", + "%DE": "\xDE", + "%df": "\xDF", + "%Df": "\xDF", + "%dF": "\xDF", + "%DF": "\xDF", + "%e0": "\xE0", + "%E0": "\xE0", + "%e1": "\xE1", + "%E1": "\xE1", + "%e2": "\xE2", + "%E2": "\xE2", + "%e3": "\xE3", + "%E3": "\xE3", + "%e4": "\xE4", + "%E4": "\xE4", + "%e5": "\xE5", + "%E5": "\xE5", + "%e6": "\xE6", + "%E6": "\xE6", + "%e7": "\xE7", + "%E7": "\xE7", + "%e8": "\xE8", + "%E8": "\xE8", + "%e9": "\xE9", + "%E9": "\xE9", + "%ea": "\xEA", + "%Ea": "\xEA", + "%eA": "\xEA", + "%EA": "\xEA", + "%eb": "\xEB", + "%Eb": "\xEB", + "%eB": "\xEB", + "%EB": "\xEB", + "%ec": "\xEC", + "%Ec": "\xEC", + "%eC": "\xEC", + "%EC": "\xEC", + "%ed": "\xED", + "%Ed": "\xED", + "%eD": "\xED", + "%ED": "\xED", + "%ee": "\xEE", + "%Ee": "\xEE", + "%eE": "\xEE", + "%EE": "\xEE", + "%ef": "\xEF", + "%Ef": "\xEF", + "%eF": "\xEF", + "%EF": "\xEF", + "%f0": "\xF0", + "%F0": "\xF0", + "%f1": "\xF1", + "%F1": "\xF1", + "%f2": "\xF2", + "%F2": "\xF2", + "%f3": "\xF3", + "%F3": "\xF3", + "%f4": "\xF4", + "%F4": "\xF4", + "%f5": "\xF5", + "%F5": "\xF5", + "%f6": "\xF6", + "%F6": "\xF6", + "%f7": "\xF7", + "%F7": "\xF7", + "%f8": "\xF8", + "%F8": "\xF8", + "%f9": "\xF9", + "%F9": "\xF9", + "%fa": "\xFA", + "%Fa": "\xFA", + "%fA": "\xFA", + "%FA": "\xFA", + "%fb": "\xFB", + "%Fb": "\xFB", + "%fB": "\xFB", + "%FB": "\xFB", + "%fc": "\xFC", + "%Fc": "\xFC", + "%fC": "\xFC", + "%FC": "\xFC", + "%fd": "\xFD", + "%Fd": "\xFD", + "%fD": "\xFD", + "%FD": "\xFD", + "%fe": "\xFE", + "%Fe": "\xFE", + "%fE": "\xFE", + "%FE": "\xFE", + "%ff": "\xFF", + "%Ff": "\xFF", + "%fF": "\xFF", + "%FF": "\xFF" + }; + function encodedReplacer(match) { + return EncodedLookup[match]; + } + var STATE_KEY = 0; + var STATE_VALUE = 1; + var STATE_CHARSET = 2; + var STATE_LANG = 3; + function parseParams(str) { + const res = []; + let state = STATE_KEY; + let charset = ""; + let inquote = false; + let escaping = false; + let p3 = 0; + let tmp = ""; + const len = str.length; + for (var i3 = 0; i3 < len; ++i3) { + const char = str[i3]; + if (char === "\\" && inquote) { + if (escaping) { + escaping = false; + } else { + escaping = true; + continue; + } + } else if (char === '"') { + if (!escaping) { + if (inquote) { + inquote = false; + state = STATE_KEY; + } else { + inquote = true; + } + continue; + } else { + escaping = false; + } + } else { + if (escaping && inquote) { + tmp += "\\"; + } + escaping = false; + if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { + if (state === STATE_CHARSET) { + state = STATE_LANG; + charset = tmp.substring(1); + } else { + state = STATE_VALUE; + } + tmp = ""; + continue; + } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { + state = char === "*" ? STATE_CHARSET : STATE_VALUE; + res[p3] = [tmp, void 0]; + tmp = ""; + continue; + } else if (!inquote && char === ";") { + state = STATE_KEY; + if (charset) { + if (tmp.length) { + tmp = decodeText( + tmp.replace(RE_ENCODED, encodedReplacer), + "binary", + charset + ); + } + charset = ""; + } else if (tmp.length) { + tmp = decodeText(tmp, "binary", "utf8"); + } + if (res[p3] === void 0) { + res[p3] = tmp; + } else { + res[p3][1] = tmp; + } + tmp = ""; + ++p3; + continue; + } else if (!inquote && (char === " " || char === " ")) { + continue; + } + } + tmp += char; + } + if (charset && tmp.length) { + tmp = decodeText( + tmp.replace(RE_ENCODED, encodedReplacer), + "binary", + charset + ); + } else if (tmp) { + tmp = decodeText(tmp, "binary", "utf8"); + } + if (res[p3] === void 0) { + if (tmp) { + res[p3] = tmp; + } + } else { + res[p3][1] = tmp; + } + return res; + } + module2.exports = parseParams; + } +}); + +// node_modules/@fastify/busboy/lib/utils/basename.js +var require_basename = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module2) { + "use strict"; + module2.exports = function basename2(path2) { + if (typeof path2 !== "string") { + return ""; + } + for (var i3 = path2.length - 1; i3 >= 0; --i3) { + switch (path2.charCodeAt(i3)) { + case 47: + case 92: + path2 = path2.slice(i3 + 1); + return path2 === ".." || path2 === "." ? "" : path2; + } + } + return path2 === ".." || path2 === "." ? "" : path2; + }; + } +}); + +// node_modules/@fastify/busboy/lib/types/multipart.js +var require_multipart = __commonJS({ + "node_modules/@fastify/busboy/lib/types/multipart.js"(exports, module2) { + "use strict"; + var { Readable: Readable3 } = require("node:stream"); + var { inherits: inherits2 } = require("node:util"); + var Dicer = require_Dicer(); + var parseParams = require_parseParams(); + var decodeText = require_decodeText(); + var basename2 = require_basename(); + var getLimit = require_getLimit(); + var RE_BOUNDARY = /^boundary$/i; + var RE_FIELD = /^form-data$/i; + var RE_CHARSET = /^charset$/i; + var RE_FILENAME = /^filename$/i; + var RE_NAME = /^name$/i; + Multipart.detect = /^multipart\/form-data/i; + function Multipart(boy, cfg) { + let i3; + let len; + const self2 = this; + let boundary; + const limits = cfg.limits; + const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); + const parsedConType = cfg.parsedConType || []; + const defCharset = cfg.defCharset || "utf8"; + const preservePath = cfg.preservePath; + const fileOpts = { highWaterMark: cfg.fileHwm }; + for (i3 = 0, len = parsedConType.length; i3 < len; ++i3) { + if (Array.isArray(parsedConType[i3]) && RE_BOUNDARY.test(parsedConType[i3][0])) { + boundary = parsedConType[i3][1]; + break; + } + } + function checkFinished() { + if (nends === 0 && finished && !boy._done) { + finished = false; + self2.end(); + } + } + if (typeof boundary !== "string") { + throw new Error("Multipart: Boundary not found"); + } + const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); + const fileSizeLimit = getLimit(limits, "fileSize", Infinity); + const filesLimit = getLimit(limits, "files", Infinity); + const fieldsLimit = getLimit(limits, "fields", Infinity); + const partsLimit = getLimit(limits, "parts", Infinity); + const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); + const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); + let nfiles = 0; + let nfields = 0; + let nends = 0; + let curFile; + let curField; + let finished = false; + this._needDrain = false; + this._pause = false; + this._cb = void 0; + this._nparts = 0; + this._boy = boy; + const parserCfg = { + boundary, + maxHeaderPairs: headerPairsLimit, + maxHeaderSize: headerSizeLimit, + partHwm: fileOpts.highWaterMark, + highWaterMark: cfg.highWaterMark + }; + this.parser = new Dicer(parserCfg); + this.parser.on("drain", function() { + self2._needDrain = false; + if (self2._cb && !self2._pause) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }).on("part", function onPart(part) { + if (++self2._nparts > partsLimit) { + self2.parser.removeListener("part", onPart); + self2.parser.on("part", skipPart); + boy.hitPartsLimit = true; + boy.emit("partsLimit"); + return skipPart(part); + } + if (curField) { + const field = curField; + field.emit("end"); + field.removeAllListeners("end"); + } + part.on("header", function(header) { + let contype; + let fieldname; + let parsed; + let charset; + let encoding; + let filename; + let nsize = 0; + if (header["content-type"]) { + parsed = parseParams(header["content-type"][0]); + if (parsed[0]) { + contype = parsed[0].toLowerCase(); + for (i3 = 0, len = parsed.length; i3 < len; ++i3) { + if (RE_CHARSET.test(parsed[i3][0])) { + charset = parsed[i3][1].toLowerCase(); + break; + } + } + } + } + if (contype === void 0) { + contype = "text/plain"; + } + if (charset === void 0) { + charset = defCharset; + } + if (header["content-disposition"]) { + parsed = parseParams(header["content-disposition"][0]); + if (!RE_FIELD.test(parsed[0])) { + return skipPart(part); + } + for (i3 = 0, len = parsed.length; i3 < len; ++i3) { + if (RE_NAME.test(parsed[i3][0])) { + fieldname = parsed[i3][1]; + } else if (RE_FILENAME.test(parsed[i3][0])) { + filename = parsed[i3][1]; + if (!preservePath) { + filename = basename2(filename); + } + } + } + } else { + return skipPart(part); + } + if (header["content-transfer-encoding"]) { + encoding = header["content-transfer-encoding"][0].toLowerCase(); + } else { + encoding = "7bit"; + } + let onData, onEnd; + if (isPartAFile(fieldname, contype, filename)) { + if (nfiles === filesLimit) { + if (!boy.hitFilesLimit) { + boy.hitFilesLimit = true; + boy.emit("filesLimit"); + } + return skipPart(part); + } + ++nfiles; + if (boy.listenerCount("file") === 0) { + self2.parser._ignore(); + return; + } + ++nends; + const file = new FileStream(fileOpts); + curFile = file; + file.on("end", function() { + --nends; + self2._pause = false; + checkFinished(); + if (self2._cb && !self2._needDrain) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }); + file._read = function(n2) { + if (!self2._pause) { + return; + } + self2._pause = false; + if (self2._cb && !self2._needDrain) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }; + boy.emit("file", fieldname, file, filename, encoding, contype); + onData = function(data) { + if ((nsize += data.length) > fileSizeLimit) { + const extralen = fileSizeLimit - nsize + data.length; + if (extralen > 0) { + file.push(data.slice(0, extralen)); + } + file.truncated = true; + file.bytesRead = fileSizeLimit; + part.removeAllListeners("data"); + file.emit("limit"); + return; + } else if (!file.push(data)) { + self2._pause = true; + } + file.bytesRead = nsize; + }; + onEnd = function() { + curFile = void 0; + file.push(null); + }; + } else { + if (nfields === fieldsLimit) { + if (!boy.hitFieldsLimit) { + boy.hitFieldsLimit = true; + boy.emit("fieldsLimit"); + } + return skipPart(part); + } + ++nfields; + ++nends; + let buffer = ""; + let truncated = false; + curField = part; + onData = function(data) { + if ((nsize += data.length) > fieldSizeLimit) { + const extralen = fieldSizeLimit - (nsize - data.length); + buffer += data.toString("binary", 0, extralen); + truncated = true; + part.removeAllListeners("data"); + } else { + buffer += data.toString("binary"); + } + }; + onEnd = function() { + curField = void 0; + if (buffer.length) { + buffer = decodeText(buffer, "binary", charset); + } + boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); + --nends; + checkFinished(); + }; + } + part._readableState.sync = false; + part.on("data", onData); + part.on("end", onEnd); + }).on("error", function(err) { + if (curFile) { + curFile.emit("error", err); + } + }); + }).on("error", function(err) { + boy.emit("error", err); + }).on("finish", function() { + finished = true; + checkFinished(); + }); + } + Multipart.prototype.write = function(chunk, cb) { + const r3 = this.parser.write(chunk); + if (r3 && !this._pause) { + cb(); + } else { + this._needDrain = !r3; + this._cb = cb; + } + }; + Multipart.prototype.end = function() { + const self2 = this; + if (self2.parser.writable) { + self2.parser.end(); + } else if (!self2._boy._done) { + process.nextTick(function() { + self2._boy._done = true; + self2._boy.emit("finish"); + }); + } + }; + function skipPart(part) { + part.resume(); + } + function FileStream(opts) { + Readable3.call(this, opts); + this.bytesRead = 0; + this.truncated = false; + } + inherits2(FileStream, Readable3); + FileStream.prototype._read = function(n2) { + }; + module2.exports = Multipart; + } +}); + +// node_modules/@fastify/busboy/lib/utils/Decoder.js +var require_Decoder = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports, module2) { + "use strict"; + var RE_PLUS = /\+/g; + var HEX = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + function Decoder() { + this.buffer = void 0; + } + Decoder.prototype.write = function(str) { + str = str.replace(RE_PLUS, " "); + let res = ""; + let i3 = 0; + let p3 = 0; + const len = str.length; + for (; i3 < len; ++i3) { + if (this.buffer !== void 0) { + if (!HEX[str.charCodeAt(i3)]) { + res += "%" + this.buffer; + this.buffer = void 0; + --i3; + } else { + this.buffer += str[i3]; + ++p3; + if (this.buffer.length === 2) { + res += String.fromCharCode(parseInt(this.buffer, 16)); + this.buffer = void 0; + } + } + } else if (str[i3] === "%") { + if (i3 > p3) { + res += str.substring(p3, i3); + p3 = i3; + } + this.buffer = ""; + ++p3; + } + } + if (p3 < len && this.buffer === void 0) { + res += str.substring(p3); + } + return res; + }; + Decoder.prototype.reset = function() { + this.buffer = void 0; + }; + module2.exports = Decoder; + } +}); + +// node_modules/@fastify/busboy/lib/types/urlencoded.js +var require_urlencoded = __commonJS({ + "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports, module2) { + "use strict"; + var Decoder = require_Decoder(); + var decodeText = require_decodeText(); + var getLimit = require_getLimit(); + var RE_CHARSET = /^charset$/i; + UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; + function UrlEncoded(boy, cfg) { + const limits = cfg.limits; + const parsedConType = cfg.parsedConType; + this.boy = boy; + this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); + this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); + this.fieldsLimit = getLimit(limits, "fields", Infinity); + let charset; + for (var i3 = 0, len = parsedConType.length; i3 < len; ++i3) { + if (Array.isArray(parsedConType[i3]) && RE_CHARSET.test(parsedConType[i3][0])) { + charset = parsedConType[i3][1].toLowerCase(); + break; + } + } + if (charset === void 0) { + charset = cfg.defCharset || "utf8"; + } + this.decoder = new Decoder(); + this.charset = charset; + this._fields = 0; + this._state = "key"; + this._checkingBytes = true; + this._bytesKey = 0; + this._bytesVal = 0; + this._key = ""; + this._val = ""; + this._keyTrunc = false; + this._valTrunc = false; + this._hitLimit = false; + } + UrlEncoded.prototype.write = function(data, cb) { + if (this._fields === this.fieldsLimit) { + if (!this.boy.hitFieldsLimit) { + this.boy.hitFieldsLimit = true; + this.boy.emit("fieldsLimit"); + } + return cb(); + } + let idxeq; + let idxamp; + let i3; + let p3 = 0; + const len = data.length; + while (p3 < len) { + if (this._state === "key") { + idxeq = idxamp = void 0; + for (i3 = p3; i3 < len; ++i3) { + if (!this._checkingBytes) { + ++p3; + } + if (data[i3] === 61) { + idxeq = i3; + break; + } else if (data[i3] === 38) { + idxamp = i3; + break; + } + if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesKey; + } + } + if (idxeq !== void 0) { + if (idxeq > p3) { + this._key += this.decoder.write(data.toString("binary", p3, idxeq)); + } + this._state = "val"; + this._hitLimit = false; + this._checkingBytes = true; + this._val = ""; + this._bytesVal = 0; + this._valTrunc = false; + this.decoder.reset(); + p3 = idxeq + 1; + } else if (idxamp !== void 0) { + ++this._fields; + let key; + const keyTrunc = this._keyTrunc; + if (idxamp > p3) { + key = this._key += this.decoder.write(data.toString("binary", p3, idxamp)); + } else { + key = this._key; + } + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + if (key.length) { + this.boy.emit( + "field", + decodeText(key, "binary", this.charset), + "", + keyTrunc, + false + ); + } + p3 = idxamp + 1; + if (this._fields === this.fieldsLimit) { + return cb(); + } + } else if (this._hitLimit) { + if (i3 > p3) { + this._key += this.decoder.write(data.toString("binary", p3, i3)); + } + p3 = i3; + if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { + this._checkingBytes = false; + this._keyTrunc = true; + } + } else { + if (p3 < len) { + this._key += this.decoder.write(data.toString("binary", p3)); + } + p3 = len; + } + } else { + idxamp = void 0; + for (i3 = p3; i3 < len; ++i3) { + if (!this._checkingBytes) { + ++p3; + } + if (data[i3] === 38) { + idxamp = i3; + break; + } + if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesVal; + } + } + if (idxamp !== void 0) { + ++this._fields; + if (idxamp > p3) { + this._val += this.decoder.write(data.toString("binary", p3, idxamp)); + } + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + decodeText(this._val, "binary", this.charset), + this._keyTrunc, + this._valTrunc + ); + this._state = "key"; + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + p3 = idxamp + 1; + if (this._fields === this.fieldsLimit) { + return cb(); + } + } else if (this._hitLimit) { + if (i3 > p3) { + this._val += this.decoder.write(data.toString("binary", p3, i3)); + } + p3 = i3; + if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { + this._checkingBytes = false; + this._valTrunc = true; + } + } else { + if (p3 < len) { + this._val += this.decoder.write(data.toString("binary", p3)); + } + p3 = len; + } + } + } + cb(); + }; + UrlEncoded.prototype.end = function() { + if (this.boy._done) { + return; + } + if (this._state === "key" && this._key.length > 0) { + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + "", + this._keyTrunc, + false + ); + } else if (this._state === "val") { + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + decodeText(this._val, "binary", this.charset), + this._keyTrunc, + this._valTrunc + ); + } + this.boy._done = true; + this.boy.emit("finish"); + }; + module2.exports = UrlEncoded; + } +}); + +// node_modules/@fastify/busboy/lib/main.js +var require_main = __commonJS({ + "node_modules/@fastify/busboy/lib/main.js"(exports, module2) { + "use strict"; + var WritableStream2 = require("node:stream").Writable; + var { inherits: inherits2 } = require("node:util"); + var Dicer = require_Dicer(); + var MultipartParser = require_multipart(); + var UrlencodedParser = require_urlencoded(); + var parseParams = require_parseParams(); + function Busboy(opts) { + if (!(this instanceof Busboy)) { + return new Busboy(opts); + } + if (typeof opts !== "object") { + throw new TypeError("Busboy expected an options-Object."); + } + if (typeof opts.headers !== "object") { + throw new TypeError("Busboy expected an options-Object with headers-attribute."); + } + if (typeof opts.headers["content-type"] !== "string") { + throw new TypeError("Missing Content-Type-header."); + } + const { + headers, + ...streamOptions + } = opts; + this.opts = { + autoDestroy: false, + ...streamOptions + }; + WritableStream2.call(this, this.opts); + this._done = false; + this._parser = this.getParserByHeaders(headers); + this._finished = false; + } + inherits2(Busboy, WritableStream2); + Busboy.prototype.emit = function(ev) { + if (ev === "finish") { + if (!this._done) { + this._parser?.end(); + return; + } else if (this._finished) { + return; + } + this._finished = true; + } + WritableStream2.prototype.emit.apply(this, arguments); + }; + Busboy.prototype.getParserByHeaders = function(headers) { + const parsed = parseParams(headers["content-type"]); + const cfg = { + defCharset: this.opts.defCharset, + fileHwm: this.opts.fileHwm, + headers, + highWaterMark: this.opts.highWaterMark, + isPartAFile: this.opts.isPartAFile, + limits: this.opts.limits, + parsedConType: parsed, + preservePath: this.opts.preservePath + }; + if (MultipartParser.detect.test(parsed[0])) { + return new MultipartParser(this, cfg); + } + if (UrlencodedParser.detect.test(parsed[0])) { + return new UrlencodedParser(this, cfg); + } + throw new Error("Unsupported Content-Type."); + }; + Busboy.prototype._write = function(chunk, encoding, cb) { + this._parser.write(chunk, cb); + }; + module2.exports = Busboy; + module2.exports.default = Busboy; + module2.exports.Busboy = Busboy; + module2.exports.Dicer = Dicer; + } +}); + +// node_modules/undici/lib/fetch/constants.js +var require_constants2 = __commonJS({ + "node_modules/undici/lib/fetch/constants.js"(exports, module2) { + "use strict"; + var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); + var corsSafeListedMethods = ["GET", "HEAD", "POST"]; + var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); + var nullBodyStatus = [101, 204, 205, 304]; + var redirectStatus = [301, 302, 303, 307, 308]; + var redirectStatusSet = new Set(redirectStatus); + var badPorts = [ + "1", + "7", + "9", + "11", + "13", + "15", + "17", + "19", + "20", + "21", + "22", + "23", + "25", + "37", + "42", + "43", + "53", + "69", + "77", + "79", + "87", + "95", + "101", + "102", + "103", + "104", + "109", + "110", + "111", + "113", + "115", + "117", + "119", + "123", + "135", + "137", + "139", + "143", + "161", + "179", + "389", + "427", + "465", + "512", + "513", + "514", + "515", + "526", + "530", + "531", + "532", + "540", + "548", + "554", + "556", + "563", + "587", + "601", + "636", + "989", + "990", + "993", + "995", + "1719", + "1720", + "1723", + "2049", + "3659", + "4045", + "5060", + "5061", + "6000", + "6566", + "6665", + "6666", + "6667", + "6668", + "6669", + "6697", + "10080" + ]; + var badPortsSet = new Set(badPorts); + var referrerPolicy = [ + "", + "no-referrer", + "no-referrer-when-downgrade", + "same-origin", + "origin", + "strict-origin", + "origin-when-cross-origin", + "strict-origin-when-cross-origin", + "unsafe-url" + ]; + var referrerPolicySet = new Set(referrerPolicy); + var requestRedirect = ["follow", "manual", "error"]; + var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; + var safeMethodsSet = new Set(safeMethods); + var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; + var requestCredentials = ["omit", "same-origin", "include"]; + var requestCache = [ + "default", + "no-store", + "reload", + "no-cache", + "force-cache", + "only-if-cached" + ]; + var requestBodyHeader = [ + "content-encoding", + "content-language", + "content-location", + "content-type", + "content-length" + ]; + var requestDuplex = [ + "half" + ]; + var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; + var forbiddenMethodsSet = new Set(forbiddenMethods); + var subresource = [ + "audio", + "audioworklet", + "font", + "image", + "manifest", + "paintworklet", + "script", + "style", + "track", + "video", + "xslt", + "" + ]; + var subresourceSet = new Set(subresource); + var DOMException3 = globalThis.DOMException ?? (() => { + try { + atob("~"); + } catch (err) { + return Object.getPrototypeOf(err).constructor; + } + })(); + var channel; + var structuredClone2 = globalThis.structuredClone ?? function structuredClone3(value, options = void 0) { + if (arguments.length === 0) { + throw new TypeError("missing argument"); + } + if (!channel) { + channel = new MessageChannel(); + } + channel.port1.unref(); + channel.port2.unref(); + channel.port1.postMessage(value, options?.transfer); + return receiveMessageOnPort(channel.port2).message; + }; + module2.exports = { + DOMException: DOMException3, + structuredClone: structuredClone2, + subresource, + forbiddenMethods, + requestBodyHeader, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + redirectStatus, + corsSafeListedMethods, + nullBodyStatus, + safeMethods, + badPorts, + requestDuplex, + subresourceSet, + badPortsSet, + redirectStatusSet, + corsSafeListedMethodsSet, + safeMethodsSet, + forbiddenMethodsSet, + referrerPolicySet + }; + } +}); + +// node_modules/undici/lib/fetch/global.js +var require_global = __commonJS({ + "node_modules/undici/lib/fetch/global.js"(exports, module2) { + "use strict"; + var globalOrigin = Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[globalOrigin]; + } + function setGlobalOrigin(newOrigin) { + if (newOrigin === void 0) { + Object.defineProperty(globalThis, globalOrigin, { + value: void 0, + writable: true, + enumerable: false, + configurable: false + }); + return; + } + const parsedURL = new URL(newOrigin); + if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { + throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + } + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); + } + module2.exports = { + getGlobalOrigin, + setGlobalOrigin + }; + } +}); + +// node_modules/undici/lib/fetch/util.js +var require_util2 = __commonJS({ + "node_modules/undici/lib/fetch/util.js"(exports, module2) { + "use strict"; + var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); + var { getGlobalOrigin } = require_global(); + var { performance: performance2 } = require("perf_hooks"); + var { isBlobLike: isBlobLike2, toUSVString, ReadableStreamFrom } = require_util(); + var assert = require("assert"); + var { isUint8Array } = require("util/types"); + var supportedHashes = []; + var crypto2; + try { + crypto2 = require("crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); + } catch { + } + function responseURL(response) { + const urlList = response.urlList; + const length = urlList.length; + return length === 0 ? null : urlList[length - 1].toString(); + } + function responseLocationURL(response, requestFragment) { + if (!redirectStatusSet.has(response.status)) { + return null; + } + let location = response.headersList.get("location"); + if (location !== null && isValidHeaderValue(location)) { + location = new URL(location, responseURL(response)); + } + if (location && !location.hash) { + location.hash = requestFragment; + } + return location; + } + function requestCurrentURL(request) { + return request.urlList[request.urlList.length - 1]; + } + function requestBadPort(request) { + const url2 = requestCurrentURL(request); + if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) { + return "blocked"; + } + return "allowed"; + } + function isErrorLike(object) { + return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); + } + function isValidReasonPhrase(statusText) { + for (let i3 = 0; i3 < statusText.length; ++i3) { + const c2 = statusText.charCodeAt(i3); + if (!(c2 === 9 || c2 >= 32 && c2 <= 126 || c2 >= 128 && c2 <= 255)) { + return false; + } + } + return true; + } + function isTokenCharCode(c2) { + switch (c2) { + case 34: + case 40: + case 41: + case 44: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 123: + case 125: + return false; + default: + return c2 >= 33 && c2 <= 126; + } + } + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; + } + for (let i3 = 0; i3 < characters.length; ++i3) { + if (!isTokenCharCode(characters.charCodeAt(i3))) { + return false; + } + } + return true; + } + function isValidHeaderName2(potentialValue) { + return isValidHTTPToken(potentialValue); + } + function isValidHeaderValue(potentialValue) { + if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { + return false; + } + if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { + return false; + } + return true; + } + function setRequestReferrerPolicyOnRedirect(request, actualResponse) { + const { headersList } = actualResponse; + const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); + let policy = ""; + if (policyHeader.length > 0) { + for (let i3 = policyHeader.length; i3 !== 0; i3--) { + const token = policyHeader[i3 - 1].trim(); + if (referrerPolicyTokens.has(token)) { + policy = token; + break; + } + } + } + if (policy !== "") { + request.referrerPolicy = policy; + } + } + function crossOriginResourcePolicyCheck() { + return "allowed"; + } + function corsCheck() { + return "success"; + } + function TAOCheck() { + return "success"; + } + function appendFetchMetadata(httpRequest) { + let header = null; + header = httpRequest.mode; + httpRequest.headersList.set("sec-fetch-mode", header); + } + function appendRequestOriginHeader(request) { + let serializedOrigin = request.origin; + if (request.responseTainting === "cors" || request.mode === "websocket") { + if (serializedOrigin) { + request.headersList.append("origin", serializedOrigin); + } + } else if (request.method !== "GET" && request.method !== "HEAD") { + switch (request.referrerPolicy) { + case "no-referrer": + serializedOrigin = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { + serializedOrigin = null; + } + break; + case "same-origin": + if (!sameOrigin(request, requestCurrentURL(request))) { + serializedOrigin = null; + } + break; + default: + } + if (serializedOrigin) { + request.headersList.append("origin", serializedOrigin); + } + } + } + function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return performance2.now(); + } + function createOpaqueTimingInfo(timingInfo) { + return { + startTime: timingInfo.startTime ?? 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: timingInfo.startTime ?? 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null + }; + } + function makePolicyContainer() { + return { + referrerPolicy: "strict-origin-when-cross-origin" + }; + } + function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy + }; + } + function determineRequestsReferrer(request) { + const policy = request.referrerPolicy; + assert(policy); + let referrerSource = null; + if (request.referrer === "client") { + const globalOrigin = getGlobalOrigin(); + if (!globalOrigin || globalOrigin.origin === "null") { + return "no-referrer"; + } + referrerSource = new URL(globalOrigin); + } else if (request.referrer instanceof URL) { + referrerSource = request.referrer; + } + let referrerURL = stripURLForReferrer(referrerSource); + const referrerOrigin = stripURLForReferrer(referrerSource, true); + if (referrerURL.toString().length > 4096) { + referrerURL = referrerOrigin; + } + const areSameOrigin = sameOrigin(request, referrerURL); + const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); + switch (policy) { + case "origin": + return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); + case "unsafe-url": + return referrerURL; + case "same-origin": + return areSameOrigin ? referrerOrigin : "no-referrer"; + case "origin-when-cross-origin": + return areSameOrigin ? referrerURL : referrerOrigin; + case "strict-origin-when-cross-origin": { + const currentURL = requestCurrentURL(request); + if (sameOrigin(referrerURL, currentURL)) { + return referrerURL; + } + if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { + return "no-referrer"; + } + return referrerOrigin; + } + case "strict-origin": + case "no-referrer-when-downgrade": + default: + return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + } + } + function stripURLForReferrer(url2, originOnly) { + assert(url2 instanceof URL); + if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") { + return "no-referrer"; + } + url2.username = ""; + url2.password = ""; + url2.hash = ""; + if (originOnly) { + url2.pathname = ""; + url2.search = ""; + } + return url2; + } + function isURLPotentiallyTrustworthy(url2) { + if (!(url2 instanceof URL)) { + return false; + } + if (url2.href === "about:blank" || url2.href === "about:srcdoc") { + return true; + } + if (url2.protocol === "data:") + return true; + if (url2.protocol === "file:") + return true; + return isOriginPotentiallyTrustworthy(url2.origin); + function isOriginPotentiallyTrustworthy(origin) { + if (origin == null || origin === "null") + return false; + const originAsURL = new URL(origin); + if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { + return true; + } + 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")) { + return true; + } + return false; + } + } + function bytesMatch(bytes, metadataList) { + if (crypto2 === void 0) { + return true; + } + const parsedMetadata = parseMetadata(metadataList); + if (parsedMetadata === "no metadata") { + return true; + } + if (parsedMetadata.length === 0) { + return true; + } + const strongest = getStrongestMetadata(parsedMetadata); + const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); + for (const item of metadata) { + const algorithm = item.algo; + const expectedValue = item.hash; + let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64"); + if (actualValue[actualValue.length - 1] === "=") { + if (actualValue[actualValue.length - 2] === "=") { + actualValue = actualValue.slice(0, -2); + } else { + actualValue = actualValue.slice(0, -1); + } + } + if (compareBase64Mixed(actualValue, expectedValue)) { + return true; + } + } + return false; + } + var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; + function parseMetadata(metadata) { + const result = []; + let empty = true; + for (const token of metadata.split(" ")) { + empty = false; + const parsedToken = parseHashWithOptions.exec(token); + if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { + continue; + } + const algorithm = parsedToken.groups.algo.toLowerCase(); + if (supportedHashes.includes(algorithm)) { + result.push(parsedToken.groups); + } + } + if (empty === true) { + return "no metadata"; + } + return result; + } + function getStrongestMetadata(metadataList) { + let algorithm = metadataList[0].algo; + if (algorithm[3] === "5") { + return algorithm; + } + for (let i3 = 1; i3 < metadataList.length; ++i3) { + const metadata = metadataList[i3]; + if (metadata.algo[3] === "5") { + algorithm = "sha512"; + break; + } else if (algorithm[3] === "3") { + continue; + } else if (metadata.algo[3] === "3") { + algorithm = "sha384"; + } + } + return algorithm; + } + function filterMetadataListByAlgorithm(metadataList, algorithm) { + if (metadataList.length === 1) { + return metadataList; + } + let pos = 0; + for (let i3 = 0; i3 < metadataList.length; ++i3) { + if (metadataList[i3].algo === algorithm) { + metadataList[pos++] = metadataList[i3]; + } + } + metadataList.length = pos; + return metadataList; + } + function compareBase64Mixed(actualValue, expectedValue) { + if (actualValue.length !== expectedValue.length) { + return false; + } + for (let i3 = 0; i3 < actualValue.length; ++i3) { + if (actualValue[i3] !== expectedValue[i3]) { + if (actualValue[i3] === "+" && expectedValue[i3] === "-" || actualValue[i3] === "/" && expectedValue[i3] === "_") { + continue; + } + return false; + } + } + return true; + } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { + } + function sameOrigin(A3, B2) { + if (A3.origin === B2.origin && A3.origin === "null") { + return true; + } + if (A3.protocol === B2.protocol && A3.hostname === B2.hostname && A3.port === B2.port) { + return true; + } + return false; + } + function createDeferredPromise() { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + return { promise, resolve: res, reject: rej }; + } + function isAborted(fetchParams) { + return fetchParams.controller.state === "aborted"; + } + function isCancelled(fetchParams) { + return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; + } + var normalizeMethodRecord = { + delete: "DELETE", + DELETE: "DELETE", + get: "GET", + GET: "GET", + head: "HEAD", + HEAD: "HEAD", + options: "OPTIONS", + OPTIONS: "OPTIONS", + post: "POST", + POST: "POST", + put: "PUT", + PUT: "PUT" + }; + Object.setPrototypeOf(normalizeMethodRecord, null); + function normalizeMethod(method) { + return normalizeMethodRecord[method.toLowerCase()] ?? method; + } + function serializeJavascriptValueToJSONString(value) { + const result = JSON.stringify(value); + if (result === void 0) { + throw new TypeError("Value is not JSON serializable"); + } + assert(typeof result === "string"); + return result; + } + var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + function makeIterator(iterator, name, kind2) { + const object = { + index: 0, + kind: kind2, + target: iterator + }; + const i3 = { + next() { + if (Object.getPrototypeOf(this) !== i3) { + throw new TypeError( + `'next' called on an object that does not implement interface ${name} Iterator.` + ); + } + const { index, kind: kind3, target } = object; + const values = target(); + const len = values.length; + if (index >= len) { + return { value: void 0, done: true }; + } + const pair = values[index]; + object.index = index + 1; + return iteratorResult(pair, kind3); + }, + [Symbol.toStringTag]: `${name} Iterator` + }; + Object.setPrototypeOf(i3, esIteratorPrototype); + return Object.setPrototypeOf({}, i3); + } + function iteratorResult(pair, kind2) { + let result; + switch (kind2) { + case "key": { + result = pair[0]; + break; + } + case "value": { + result = pair[1]; + break; + } + case "key+value": { + result = pair; + break; + } + } + return { value: result, done: false }; + } + async function fullyReadBody(body, processBody, processBodyError) { + const successSteps = processBody; + const errorSteps = processBodyError; + let reader; + try { + reader = body.stream.getReader(); + } catch (e3) { + errorSteps(e3); + return; + } + try { + const result = await readAllBytes(reader); + successSteps(result); + } catch (e3) { + errorSteps(e3); + } + } + var ReadableStream4 = globalThis.ReadableStream; + function isReadableStreamLike(stream4) { + if (!ReadableStream4) { + ReadableStream4 = require("stream/web").ReadableStream; + } + return stream4 instanceof ReadableStream4 || stream4[Symbol.toStringTag] === "ReadableStream" && typeof stream4.tee === "function"; + } + var MAXIMUM_ARGUMENT_LENGTH = 65535; + function isomorphicDecode(input) { + if (input.length < MAXIMUM_ARGUMENT_LENGTH) { + return String.fromCharCode(...input); + } + return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + } + function readableStreamClose(controller) { + try { + controller.close(); + } catch (err) { + if (!err.message.includes("Controller is already closed")) { + throw err; + } + } + } + function isomorphicEncode(input) { + for (let i3 = 0; i3 < input.length; i3++) { + assert(input.charCodeAt(i3) <= 255); + } + return input; + } + async function readAllBytes(reader) { + const bytes = []; + let byteLength = 0; + while (true) { + const { done, value: chunk } = await reader.read(); + if (done) { + return Buffer.concat(bytes, byteLength); + } + if (!isUint8Array(chunk)) { + throw new TypeError("Received non-Uint8Array chunk"); + } + bytes.push(chunk); + byteLength += chunk.length; + } + } + function urlIsLocal(url2) { + assert("protocol" in url2); + const protocol = url2.protocol; + return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + } + function urlHasHttpsScheme(url2) { + if (typeof url2 === "string") { + return url2.startsWith("https:"); + } + return url2.protocol === "https:"; + } + function urlIsHttpHttpsScheme(url2) { + assert("protocol" in url2); + const protocol = url2.protocol; + return protocol === "http:" || protocol === "https:"; + } + var hasOwn2 = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + module2.exports = { + isAborted, + isCancelled, + createDeferredPromise, + ReadableStreamFrom, + toUSVString, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + coarsenedSharedCurrentTime, + determineRequestsReferrer, + makePolicyContainer, + clonePolicyContainer, + appendFetchMetadata, + appendRequestOriginHeader, + TAOCheck, + corsCheck, + crossOriginResourcePolicyCheck, + createOpaqueTimingInfo, + setRequestReferrerPolicyOnRedirect, + isValidHTTPToken, + requestBadPort, + requestCurrentURL, + responseURL, + responseLocationURL, + isBlobLike: isBlobLike2, + isURLPotentiallyTrustworthy, + isValidReasonPhrase, + sameOrigin, + normalizeMethod, + serializeJavascriptValueToJSONString, + makeIterator, + isValidHeaderName: isValidHeaderName2, + isValidHeaderValue, + hasOwn: hasOwn2, + isErrorLike, + fullyReadBody, + bytesMatch, + isReadableStreamLike, + readableStreamClose, + isomorphicEncode, + isomorphicDecode, + urlIsLocal, + urlHasHttpsScheme, + urlIsHttpHttpsScheme, + readAllBytes, + normalizeMethodRecord, + parseMetadata + }; + } +}); + +// node_modules/undici/lib/fetch/symbols.js +var require_symbols2 = __commonJS({ + "node_modules/undici/lib/fetch/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kGuard: Symbol("guard"), + kRealm: Symbol("realm") + }; + } +}); + +// node_modules/undici/lib/fetch/webidl.js +var require_webidl = __commonJS({ + "node_modules/undici/lib/fetch/webidl.js"(exports, module2) { + "use strict"; + var { types } = require("util"); + var { hasOwn: hasOwn2, toUSVString } = require_util2(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context2) { + const plural = context2.types.length === 1 ? "" : " one of"; + const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; + return webidl.errors.exception({ + header: context2.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context2) { + return webidl.errors.exception({ + header: context2.prefix, + message: `"${context2.value}" is an invalid ${context2.type}.` + }); + }; + webidl.brandCheck = function(V4, I2, opts = void 0) { + if (opts?.strict !== false && !(V4 instanceof I2)) { + throw new TypeError("Illegal invocation"); + } else { + return V4?.[Symbol.toStringTag] === I2.prototype[Symbol.toStringTag]; + } + }; + webidl.argumentLengthCheck = function({ length }, min, ctx) { + if (length < min) { + throw webidl.errors.exception({ + message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, + ...ctx + }); + } + }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + header: "TypeError", + message: "Illegal constructor" + }); + }; + webidl.util.Type = function(V4) { + switch (typeof V4) { + case "undefined": + return "Undefined"; + case "boolean": + return "Boolean"; + case "string": + return "String"; + case "symbol": + return "Symbol"; + case "number": + return "Number"; + case "bigint": + return "BigInt"; + case "function": + case "object": { + if (V4 === null) { + return "Null"; + } + return "Object"; + } + } + }; + webidl.util.ConvertToInt = function(V4, bitLength, signedness, opts = {}) { + let upperBound; + let lowerBound; + if (bitLength === 64) { + upperBound = Math.pow(2, 53) - 1; + if (signedness === "unsigned") { + lowerBound = 0; + } else { + lowerBound = Math.pow(-2, 53) + 1; + } + } else if (signedness === "unsigned") { + lowerBound = 0; + upperBound = Math.pow(2, bitLength) - 1; + } else { + lowerBound = Math.pow(-2, bitLength) - 1; + upperBound = Math.pow(2, bitLength - 1) - 1; + } + let x2 = Number(V4); + if (x2 === 0) { + x2 = 0; + } + if (opts.enforceRange === true) { + if (Number.isNaN(x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Could not convert ${V4} to an integer.` + }); + } + x2 = webidl.util.IntegerPart(x2); + if (x2 < lowerBound || x2 > upperBound) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Value must be between ${lowerBound}-${upperBound}, got ${x2}.` + }); + } + return x2; + } + if (!Number.isNaN(x2) && opts.clamp === true) { + x2 = Math.min(Math.max(x2, lowerBound), upperBound); + if (Math.floor(x2) % 2 === 0) { + x2 = Math.floor(x2); + } else { + x2 = Math.ceil(x2); + } + return x2; + } + if (Number.isNaN(x2) || x2 === 0 && Object.is(0, x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { + return 0; + } + x2 = webidl.util.IntegerPart(x2); + x2 = x2 % Math.pow(2, bitLength); + if (signedness === "signed" && x2 >= Math.pow(2, bitLength) - 1) { + return x2 - Math.pow(2, bitLength); + } + return x2; + }; + webidl.util.IntegerPart = function(n2) { + const r3 = Math.floor(Math.abs(n2)); + if (n2 < 0) { + return -1 * r3; + } + return r3; + }; + webidl.sequenceConverter = function(converter) { + return (V4) => { + if (webidl.util.Type(V4) !== "Object") { + throw webidl.errors.exception({ + header: "Sequence", + message: `Value of type ${webidl.util.Type(V4)} is not an Object.` + }); + } + const method = V4?.[Symbol.iterator]?.(); + const seq = []; + if (method === void 0 || typeof method.next !== "function") { + throw webidl.errors.exception({ + header: "Sequence", + message: "Object is not an iterator." + }); + } + while (true) { + const { done, value } = method.next(); + if (done) { + break; + } + seq.push(converter(value)); + } + return seq; + }; + }; + webidl.recordConverter = function(keyConverter, valueConverter) { + return (O3) => { + if (webidl.util.Type(O3) !== "Object") { + throw webidl.errors.exception({ + header: "Record", + message: `Value of type ${webidl.util.Type(O3)} is not an Object.` + }); + } + const result = {}; + if (!types.isProxy(O3)) { + const keys2 = Object.keys(O3); + for (const key of keys2) { + const typedKey = keyConverter(key); + const typedValue = valueConverter(O3[key]); + result[typedKey] = typedValue; + } + return result; + } + const keys = Reflect.ownKeys(O3); + for (const key of keys) { + const desc = Reflect.getOwnPropertyDescriptor(O3, key); + if (desc?.enumerable) { + const typedKey = keyConverter(key); + const typedValue = valueConverter(O3[key]); + result[typedKey] = typedValue; + } + } + return result; + }; + }; + webidl.interfaceConverter = function(i3) { + return (V4, opts = {}) => { + if (opts.strict !== false && !(V4 instanceof i3)) { + throw webidl.errors.exception({ + header: i3.name, + message: `Expected ${V4} to be an instance of ${i3.name}.` + }); + } + return V4; + }; + }; + webidl.dictionaryConverter = function(converters) { + return (dictionary) => { + const type = webidl.util.Type(dictionary); + const dict = {}; + if (type === "Null" || type === "Undefined") { + return dict; + } else if (type !== "Object") { + throw webidl.errors.exception({ + header: "Dictionary", + message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` + }); + } + for (const options of converters) { + const { key, defaultValue, required, converter } = options; + if (required === true) { + if (!hasOwn2(dictionary, key)) { + throw webidl.errors.exception({ + header: "Dictionary", + message: `Missing required key "${key}".` + }); + } + } + let value = dictionary[key]; + const hasDefault = hasOwn2(options, "defaultValue"); + if (hasDefault && value !== null) { + value = value ?? defaultValue; + } + if (required || hasDefault || value !== void 0) { + value = converter(value); + if (options.allowedValues && !options.allowedValues.includes(value)) { + throw webidl.errors.exception({ + header: "Dictionary", + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` + }); + } + dict[key] = value; + } + } + return dict; + }; + }; + webidl.nullableConverter = function(converter) { + return (V4) => { + if (V4 === null) { + return V4; + } + return converter(V4); + }; + }; + webidl.converters.DOMString = function(V4, opts = {}) { + if (V4 === null && opts.legacyNullToEmptyString) { + return ""; + } + if (typeof V4 === "symbol") { + throw new TypeError("Could not convert argument of type symbol to string."); + } + return String(V4); + }; + webidl.converters.ByteString = function(V4) { + const x2 = webidl.converters.DOMString(V4); + for (let index = 0; index < x2.length; index++) { + if (x2.charCodeAt(index) > 255) { + throw new TypeError( + `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x2.charCodeAt(index)} which is greater than 255.` + ); + } + } + return x2; + }; + webidl.converters.USVString = toUSVString; + webidl.converters.boolean = function(V4) { + const x2 = Boolean(V4); + return x2; + }; + webidl.converters.any = function(V4) { + return V4; + }; + webidl.converters["long long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 64, "signed"); + return x2; + }; + webidl.converters["unsigned long long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 64, "unsigned"); + return x2; + }; + webidl.converters["unsigned long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 32, "unsigned"); + return x2; + }; + webidl.converters["unsigned short"] = function(V4, opts) { + const x2 = webidl.util.ConvertToInt(V4, 16, "unsigned", opts); + return x2; + }; + webidl.converters.ArrayBuffer = function(V4, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isAnyArrayBuffer(V4)) { + throw webidl.errors.conversionFailed({ + prefix: `${V4}`, + argument: `${V4}`, + types: ["ArrayBuffer"] + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.TypedArray = function(V4, T3, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isTypedArray(V4) || V4.constructor.name !== T3.name) { + throw webidl.errors.conversionFailed({ + prefix: `${T3.name}`, + argument: `${V4}`, + types: [T3.name] + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.DataView = function(V4, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isDataView(V4)) { + throw webidl.errors.exception({ + header: "DataView", + message: "Object is not a DataView." + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.BufferSource = function(V4, opts = {}) { + if (types.isAnyArrayBuffer(V4)) { + return webidl.converters.ArrayBuffer(V4, opts); + } + if (types.isTypedArray(V4)) { + return webidl.converters.TypedArray(V4, V4.constructor); + } + if (types.isDataView(V4)) { + return webidl.converters.DataView(V4, opts); + } + throw new TypeError(`Could not convert ${V4} to a BufferSource.`); + }; + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.ByteString + ); + webidl.converters["sequence>"] = webidl.sequenceConverter( + webidl.converters["sequence"] + ); + webidl.converters["record"] = webidl.recordConverter( + webidl.converters.ByteString, + webidl.converters.ByteString + ); + module2.exports = { + webidl + }; + } +}); + +// node_modules/undici/lib/fetch/dataURL.js +var require_dataURL = __commonJS({ + "node_modules/undici/lib/fetch/dataURL.js"(exports, module2) { + var assert = require("assert"); + var { atob: atob2 } = require("buffer"); + var { isomorphicDecode } = require_util2(); + var encoder = new TextEncoder(); + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; + var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; + var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; + function dataURLProcessor(dataURL) { + assert(dataURL.protocol === "data:"); + let input = URLSerializer(dataURL, true); + input = input.slice(5); + const position = { position: 0 }; + let mimeType = collectASequenceOfCodePointsFast( + ",", + input, + position + ); + const mimeTypeLength = mimeType.length; + mimeType = removeASCIIWhitespace(mimeType, true, true); + if (position.position >= input.length) { + return "failure"; + } + position.position++; + const encodedBody = input.slice(mimeTypeLength + 1); + let body = stringPercentDecode(encodedBody); + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + const stringBody = isomorphicDecode(body); + body = forgivingBase64(stringBody); + if (body === "failure") { + return "failure"; + } + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ""); + mimeType = mimeType.slice(0, -1); + } + if (mimeType.startsWith(";")) { + mimeType = "text/plain" + mimeType; + } + let mimeTypeRecord = parseMIMEType(mimeType); + if (mimeTypeRecord === "failure") { + mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + } + return { mimeType: mimeTypeRecord, body }; + } + function URLSerializer(url2, excludeFragment = false) { + if (!excludeFragment) { + return url2.href; + } + const href = url2.href; + const hashLength = url2.hash.length; + return hashLength === 0 ? href : href.substring(0, href.length - hashLength); + } + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; + } + function collectASequenceOfCodePointsFast(char, input, position) { + const idx = input.indexOf(char, position.position); + const start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); + } + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); + } + function percentDecode(input) { + const output = []; + for (let i3 = 0; i3 < input.length; i3++) { + const byte = input[i3]; + if (byte !== 37) { + output.push(byte); + } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i3 + 1], input[i3 + 2]))) { + output.push(37); + } else { + const nextTwoBytes = String.fromCharCode(input[i3 + 1], input[i3 + 2]); + const bytePoint = Number.parseInt(nextTwoBytes, 16); + output.push(bytePoint); + i3 += 2; + } + } + return Uint8Array.from(output); + } + function parseMIMEType(input) { + input = removeHTTPWhitespace(input, true, true); + const position = { position: 0 }; + const type = collectASequenceOfCodePointsFast( + "/", + input, + position + ); + if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { + return "failure"; + } + if (position.position > input.length) { + return "failure"; + } + position.position++; + let subtype = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + subtype = removeHTTPWhitespace(subtype, false, true); + if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { + return "failure"; + } + const typeLowercase = type.toLowerCase(); + const subtypeLowercase = subtype.toLowerCase(); + const mimeType = { + type: typeLowercase, + subtype: subtypeLowercase, + parameters: /* @__PURE__ */ new Map(), + essence: `${typeLowercase}/${subtypeLowercase}` + }; + while (position.position < input.length) { + position.position++; + collectASequenceOfCodePoints( + (char) => HTTP_WHITESPACE_REGEX.test(char), + input, + position + ); + let parameterName = collectASequenceOfCodePoints( + (char) => char !== ";" && char !== "=", + input, + position + ); + parameterName = parameterName.toLowerCase(); + if (position.position < input.length) { + if (input[position.position] === ";") { + continue; + } + position.position++; + } + if (position.position > input.length) { + break; + } + let parameterValue = null; + if (input[position.position] === '"') { + parameterValue = collectAnHTTPQuotedString(input, position, true); + collectASequenceOfCodePointsFast( + ";", + input, + position + ); + } else { + parameterValue = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + if (parameterValue.length === 0) { + continue; + } + } + if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + return mimeType; + } + function forgivingBase64(data) { + data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); + if (data.length % 4 === 0) { + data = data.replace(/=?=$/, ""); + } + if (data.length % 4 === 1) { + return "failure"; + } + if (/[^+/0-9A-Za-z]/.test(data)) { + return "failure"; + } + const binary = atob2(data); + const bytes = new Uint8Array(binary.length); + for (let byte = 0; byte < binary.length; byte++) { + bytes[byte] = binary.charCodeAt(byte); + } + return bytes; + } + function collectAnHTTPQuotedString(input, position, extractValue) { + const positionStart = position.position; + let value = ""; + assert(input[position.position] === '"'); + position.position++; + while (true) { + value += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== "\\", + input, + position + ); + if (position.position >= input.length) { + break; + } + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === "\\") { + if (position.position >= input.length) { + value += "\\"; + break; + } + value += input[position.position]; + position.position++; + } else { + assert(quoteOrBackslash === '"'); + break; + } + } + if (extractValue) { + return value; + } + return input.slice(positionStart, position.position); + } + function serializeAMimeType(mimeType) { + assert(mimeType !== "failure"); + const { parameters, essence } = mimeType; + let serialization = essence; + for (let [name, value] of parameters.entries()) { + serialization += ";"; + serialization += name; + serialization += "="; + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + value = value.replace(/(\\|")/g, "\\$1"); + value = '"' + value; + value += '"'; + } + serialization += value; + } + return serialization; + } + function isHTTPWhiteSpace(char) { + return char === "\r" || char === "\n" || char === " " || char === " "; + } + function removeHTTPWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } + function isASCIIWhitespace(char) { + return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } + module2.exports = { + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType + }; + } +}); + +// node_modules/undici/lib/fetch/file.js +var require_file = __commonJS({ + "node_modules/undici/lib/fetch/file.js"(exports, module2) { + "use strict"; + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var { types } = require("util"); + var { kState } = require_symbols2(); + var { isBlobLike: isBlobLike2 } = require_util2(); + var { webidl } = require_webidl(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var { kEnumerableProperty } = require_util(); + var encoder = new TextEncoder(); + var File3 = class extends Blob4 { + constructor(fileBits, fileName, options = {}) { + webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); + fileBits = webidl.converters["sequence"](fileBits); + fileName = webidl.converters.USVString(fileName); + options = webidl.converters.FilePropertyBag(options); + const n2 = fileName; + let t2 = options.type; + let d5; + substep: { + if (t2) { + t2 = parseMIMEType(t2); + if (t2 === "failure") { + t2 = ""; + break substep; + } + t2 = serializeAMimeType(t2).toLowerCase(); + } + d5 = options.lastModified; + } + super(processBlobParts(fileBits, options), { type: t2 }); + this[kState] = { + name: n2, + lastModified: d5, + type: t2 + }; + } + get name() { + webidl.brandCheck(this, File3); + return this[kState].name; + } + get lastModified() { + webidl.brandCheck(this, File3); + return this[kState].lastModified; + } + get type() { + webidl.brandCheck(this, File3); + return this[kState].type; + } + }; + var FileLike = class { + constructor(blobLike, fileName, options = {}) { + const n2 = fileName; + const t2 = options.type; + const d5 = options.lastModified ?? Date.now(); + this[kState] = { + blobLike, + name: n2, + type: t2, + lastModified: d5 + }; + } + stream(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.stream(...args); + } + arrayBuffer(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.arrayBuffer(...args); + } + slice(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.slice(...args); + } + text(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.text(...args); + } + get size() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.size; + } + get type() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.type; + } + get name() { + webidl.brandCheck(this, FileLike); + return this[kState].name; + } + get lastModified() { + webidl.brandCheck(this, FileLike); + return this[kState].lastModified; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + Object.defineProperties(File3.prototype, { + [Symbol.toStringTag]: { + value: "File", + configurable: true + }, + name: kEnumerableProperty, + lastModified: kEnumerableProperty + }); + webidl.converters.Blob = webidl.interfaceConverter(Blob4); + webidl.converters.BlobPart = function(V4, opts) { + if (webidl.util.Type(V4) === "Object") { + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { + return webidl.converters.BufferSource(V4, opts); + } + } + return webidl.converters.USVString(V4, opts); + }; + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.BlobPart + ); + webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ + { + key: "lastModified", + converter: webidl.converters["long long"], + get defaultValue() { + return Date.now(); + } + }, + { + key: "type", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "endings", + converter: (value) => { + value = webidl.converters.DOMString(value); + value = value.toLowerCase(); + if (value !== "native") { + value = "transparent"; + } + return value; + }, + defaultValue: "transparent" + } + ]); + function processBlobParts(parts, options) { + const bytes = []; + for (const element of parts) { + if (typeof element === "string") { + let s2 = element; + if (options.endings === "native") { + s2 = convertLineEndingsNative(s2); + } + bytes.push(encoder.encode(s2)); + } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { + if (!element.buffer) { + bytes.push(new Uint8Array(element)); + } else { + bytes.push( + new Uint8Array(element.buffer, element.byteOffset, element.byteLength) + ); + } + } else if (isBlobLike2(element)) { + bytes.push(element); + } + } + return bytes; + } + function convertLineEndingsNative(s2) { + let nativeLineEnding = "\n"; + if (process.platform === "win32") { + nativeLineEnding = "\r\n"; + } + return s2.replace(/\r?\n/g, nativeLineEnding); + } + function isFileLike3(object) { + return NativeFile && object instanceof NativeFile || object instanceof File3 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { File: File3, FileLike, isFileLike: isFileLike3 }; + } +}); + +// node_modules/undici/lib/fetch/formdata.js +var require_formdata = __commonJS({ + "node_modules/undici/lib/fetch/formdata.js"(exports, module2) { + "use strict"; + var { isBlobLike: isBlobLike2, toUSVString, makeIterator } = require_util2(); + var { kState } = require_symbols2(); + var { File: UndiciFile, FileLike, isFileLike: isFileLike3 } = require_file(); + var { webidl } = require_webidl(); + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var File3 = NativeFile ?? UndiciFile; + var FormData5 = class { + constructor(form) { + if (form !== void 0) { + throw webidl.errors.conversionFailed({ + prefix: "FormData constructor", + argument: "Argument 1", + types: ["undefined"] + }); + } + this[kState] = []; + } + append(name, value, filename = void 0) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + if (arguments.length === 3 && !isBlobLike2(value)) { + throw new TypeError( + "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" + ); + } + name = webidl.converters.USVString(name); + value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); + filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + const entry = makeEntry(name, value, filename); + this[kState].push(entry); + } + delete(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); + name = webidl.converters.USVString(name); + this[kState] = this[kState].filter((entry) => entry.name !== name); + } + get(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); + name = webidl.converters.USVString(name); + const idx = this[kState].findIndex((entry) => entry.name === name); + if (idx === -1) { + return null; + } + return this[kState][idx].value; + } + getAll(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); + name = webidl.converters.USVString(name); + return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + } + has(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); + name = webidl.converters.USVString(name); + return this[kState].findIndex((entry) => entry.name === name) !== -1; + } + set(name, value, filename = void 0) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + if (arguments.length === 3 && !isBlobLike2(value)) { + throw new TypeError( + "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" + ); + } + name = webidl.converters.USVString(name); + value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); + filename = arguments.length === 3 ? toUSVString(filename) : void 0; + const entry = makeEntry(name, value, filename); + const idx = this[kState].findIndex((entry2) => entry2.name === name); + if (idx !== -1) { + this[kState] = [ + ...this[kState].slice(0, idx), + entry, + ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) + ]; + } else { + this[kState].push(entry); + } + } + entries() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "key+value" + ); + } + keys() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "key" + ); + } + values() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "value" + ); + } + forEach(callbackFn, thisArg = globalThis) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); + if (typeof callbackFn !== "function") { + throw new TypeError( + "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." + ); + } + for (const [key, value] of this) { + callbackFn.apply(thisArg, [value, key, this]); + } + } + }; + FormData5.prototype[Symbol.iterator] = FormData5.prototype.entries; + Object.defineProperties(FormData5.prototype, { + [Symbol.toStringTag]: { + value: "FormData", + configurable: true + } + }); + function makeEntry(name, value, filename) { + name = Buffer.from(name).toString("utf8"); + if (typeof value === "string") { + value = Buffer.from(value).toString("utf8"); + } else { + if (!isFileLike3(value)) { + value = value instanceof Blob4 ? new File3([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + } + if (filename !== void 0) { + const options = { + type: value.type, + lastModified: value.lastModified + }; + value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File3([value], filename, options) : new FileLike(value, filename, options); + } + } + return { name, value }; + } + module2.exports = { FormData: FormData5 }; + } +}); + +// node_modules/undici/lib/fetch/body.js +var require_body = __commonJS({ + "node_modules/undici/lib/fetch/body.js"(exports, module2) { + "use strict"; + var Busboy = require_main(); + var util2 = require_util(); + var { + ReadableStreamFrom, + isBlobLike: isBlobLike2, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody + } = require_util2(); + var { FormData: FormData5 } = require_formdata(); + var { kState } = require_symbols2(); + var { webidl } = require_webidl(); + var { DOMException: DOMException3, structuredClone: structuredClone2 } = require_constants2(); + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { isErrored } = require_util(); + var { isUint8Array, isArrayBuffer: isArrayBuffer2 } = require("util/types"); + var { File: UndiciFile } = require_file(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var ReadableStream4 = globalThis.ReadableStream; + var File3 = NativeFile ?? UndiciFile; + var textEncoder2 = new TextEncoder(); + var textDecoder = new TextDecoder(); + function extractBody(object, keepalive = false) { + if (!ReadableStream4) { + ReadableStream4 = require("stream/web").ReadableStream; + } + let stream4 = null; + if (object instanceof ReadableStream4) { + stream4 = object; + } else if (isBlobLike2(object)) { + stream4 = object.stream(); + } else { + stream4 = new ReadableStream4({ + async pull(controller) { + controller.enqueue( + typeof source === "string" ? textEncoder2.encode(source) : source + ); + queueMicrotask(() => readableStreamClose(controller)); + }, + start() { + }, + type: void 0 + }); + } + assert(isReadableStreamLike(stream4)); + let action = null; + let source = null; + let length = null; + let type = null; + if (typeof object === "string") { + source = object; + type = "text/plain;charset=UTF-8"; + } else if (object instanceof URLSearchParams) { + source = object.toString(); + type = "application/x-www-form-urlencoded;charset=UTF-8"; + } else if (isArrayBuffer2(object)) { + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util2.isFormDataLike(object)) { + const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; + const prefix = `--${boundary}\r +Content-Disposition: form-data`; + const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); + const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); + const blobParts = []; + const rn = new Uint8Array([13, 10]); + length = 0; + let hasUnknownSizeValue = false; + for (const [name, value] of object) { + if (typeof value === "string") { + const chunk2 = textEncoder2.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r +\r +${normalizeLinefeeds(value)}\r +`); + blobParts.push(chunk2); + length += chunk2.byteLength; + } else { + const chunk2 = textEncoder2.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r +Content-Type: ${value.type || "application/octet-stream"}\r +\r +`); + blobParts.push(chunk2, value, rn); + if (typeof value.size === "number") { + length += chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } + } + } + const chunk = textEncoder2.encode(`--${boundary}--`); + blobParts.push(chunk); + length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } + source = object; + action = async function* () { + for (const part of blobParts) { + if (part.stream) { + yield* part.stream(); + } else { + yield part; + } + } + }; + type = "multipart/form-data; boundary=" + boundary; + } else if (isBlobLike2(object)) { + source = object; + length = object.size; + if (object.type) { + type = object.type; + } + } else if (typeof object[Symbol.asyncIterator] === "function") { + if (keepalive) { + throw new TypeError("keepalive"); + } + if (util2.isDisturbed(object) || object.locked) { + throw new TypeError( + "Response body object should not be disturbed or locked" + ); + } + stream4 = object instanceof ReadableStream4 ? object : ReadableStreamFrom(object); + } + if (typeof source === "string" || util2.isBuffer(source)) { + length = Buffer.byteLength(source); + } + if (action != null) { + let iterator; + stream4 = new ReadableStream4({ + async start() { + iterator = action(object)[Symbol.asyncIterator](); + }, + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + }); + } else { + if (!isErrored(stream4)) { + controller.enqueue(new Uint8Array(value)); + } + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator.return(); + }, + type: void 0 + }); + } + const body = { stream: stream4, source, length }; + return [body, type]; + } + function safelyExtractBody(object, keepalive = false) { + if (!ReadableStream4) { + ReadableStream4 = require("stream/web").ReadableStream; + } + if (object instanceof ReadableStream4) { + assert(!util2.isDisturbed(object), "The body has already been consumed."); + assert(!object.locked, "The stream is locked."); + } + return extractBody(object, keepalive); + } + function cloneBody(body) { + const [out1, out2] = body.stream.tee(); + const out2Clone = structuredClone2(out2, { transfer: [out2] }); + const [, finalClone] = out2Clone.tee(); + body.stream = out1; + return { + stream: finalClone, + length: body.length, + source: body.source + }; + } + async function* consumeBody(body) { + if (body) { + if (isUint8Array(body)) { + yield body; + } else { + const stream4 = body.stream; + if (util2.isDisturbed(stream4)) { + throw new TypeError("The body has already been consumed."); + } + if (stream4.locked) { + throw new TypeError("The stream is locked."); + } + stream4[kBodyUsed] = true; + yield* stream4; + } + } + } + function throwIfAborted(state) { + if (state.aborted) { + throw new DOMException3("The operation was aborted.", "AbortError"); + } + } + function bodyMixinMethods(instance) { + const methods = { + blob() { + return specConsumeBody(this, (bytes) => { + let mimeType = bodyMimeType(this); + if (mimeType === "failure") { + mimeType = ""; + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType); + } + return new Blob4([bytes], { type: mimeType }); + }, instance); + }, + arrayBuffer() { + return specConsumeBody(this, (bytes) => { + return new Uint8Array(bytes).buffer; + }, instance); + }, + text() { + return specConsumeBody(this, utf8DecodeBytes, instance); + }, + json() { + return specConsumeBody(this, parseJSONFromBytes, instance); + }, + async formData() { + webidl.brandCheck(this, instance); + throwIfAborted(this[kState]); + const contentType = this.headers.get("Content-Type"); + if (/multipart\/form-data/.test(contentType)) { + const headers = {}; + for (const [key, value] of this.headers) + headers[key.toLowerCase()] = value; + const responseFormData = new FormData5(); + let busboy; + try { + busboy = new Busboy({ + headers, + preservePath: true + }); + } catch (err) { + throw new DOMException3(`${err}`, "AbortError"); + } + busboy.on("field", (name, value) => { + responseFormData.append(name, value); + }); + busboy.on("file", (name, value, filename, encoding, mimeType) => { + const chunks = []; + if (encoding === "base64" || encoding.toLowerCase() === "base64") { + let base64chunk = ""; + value.on("data", (chunk) => { + base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); + const end = base64chunk.length - base64chunk.length % 4; + chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); + base64chunk = base64chunk.slice(end); + }); + value.on("end", () => { + chunks.push(Buffer.from(base64chunk, "base64")); + responseFormData.append(name, new File3(chunks, filename, { type: mimeType })); + }); + } else { + value.on("data", (chunk) => { + chunks.push(chunk); + }); + value.on("end", () => { + responseFormData.append(name, new File3(chunks, filename, { type: mimeType })); + }); + } + }); + const busboyResolve = new Promise((resolve, reject) => { + busboy.on("finish", resolve); + busboy.on("error", (err) => reject(new TypeError(err))); + }); + if (this.body !== null) + for await (const chunk of consumeBody(this[kState].body)) + busboy.write(chunk); + busboy.end(); + await busboyResolve; + return responseFormData; + } else if (/application\/x-www-form-urlencoded/.test(contentType)) { + let entries; + try { + let text = ""; + const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); + for await (const chunk of consumeBody(this[kState].body)) { + if (!isUint8Array(chunk)) { + throw new TypeError("Expected Uint8Array chunk"); + } + text += streamingDecoder.decode(chunk, { stream: true }); + } + text += streamingDecoder.decode(); + entries = new URLSearchParams(text); + } catch (err) { + throw Object.assign(new TypeError(), { cause: err }); + } + const formData = new FormData5(); + for (const [name, value] of entries) { + formData.append(name, value); + } + return formData; + } else { + await Promise.resolve(); + throwIfAborted(this[kState]); + throw webidl.errors.exception({ + header: `${instance.name}.formData`, + message: "Could not parse content as FormData." + }); + } + } + }; + return methods; + } + function mixinBody(prototype3) { + Object.assign(prototype3.prototype, bodyMixinMethods(prototype3)); + } + async function specConsumeBody(object, convertBytesToJSValue, instance) { + webidl.brandCheck(object, instance); + throwIfAborted(object[kState]); + if (bodyUnusable(object[kState].body)) { + throw new TypeError("Body is unusable"); + } + const promise = createDeferredPromise(); + const errorSteps = (error) => promise.reject(error); + const successSteps = (data) => { + try { + promise.resolve(convertBytesToJSValue(data)); + } catch (e3) { + errorSteps(e3); + } + }; + if (object[kState].body == null) { + successSteps(new Uint8Array()); + return promise.promise; + } + await fullyReadBody(object[kState].body, successSteps, errorSteps); + return promise.promise; + } + function bodyUnusable(body) { + return body != null && (body.stream.locked || util2.isDisturbed(body.stream)); + } + function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ""; + } + if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { + buffer = buffer.subarray(3); + } + const output = textDecoder.decode(buffer); + return output; + } + function parseJSONFromBytes(bytes) { + return JSON.parse(utf8DecodeBytes(bytes)); + } + function bodyMimeType(object) { + const { headersList } = object[kState]; + const contentType = headersList.get("content-type"); + if (contentType === null) { + return "failure"; + } + return parseMIMEType(contentType); + } + module2.exports = { + extractBody, + safelyExtractBody, + cloneBody, + mixinBody + }; + } +}); + +// node_modules/undici/lib/core/request.js +var require_request = __commonJS({ + "node_modules/undici/lib/core/request.js"(exports, module2) { + "use strict"; + var { + InvalidArgumentError, + NotSupportedError + } = require_errors(); + var assert = require("assert"); + var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); + var util2 = require_util(); + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = Symbol("handler"); + var channels = {}; + var extractBody; + try { + const diagnosticsChannel = require("diagnostics_channel"); + channels.create = diagnosticsChannel.channel("undici:request:create"); + channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); + channels.headers = diagnosticsChannel.channel("undici:request:headers"); + channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); + channels.error = diagnosticsChannel.channel("undici:request:error"); + } catch { + channels.create = { hasSubscribers: false }; + channels.bodySent = { hasSubscribers: false }; + channels.headers = { hasSubscribers: false }; + channels.trailers = { hasSubscribers: false }; + channels.error = { hasSubscribers: false }; + } + var Request3 = class { + constructor(origin, { + path: path2, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue + }, handler) { + if (typeof path2 !== "string") { + throw new InvalidArgumentError("path must be a string"); + } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") { + throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + } else if (invalidPathRegex.exec(path2) !== null) { + throw new InvalidArgumentError("invalid request path"); + } + if (typeof method !== "string") { + throw new InvalidArgumentError("method must be a string"); + } else if (tokenRegExp.exec(method) === null) { + throw new InvalidArgumentError("invalid request method"); + } + if (upgrade && typeof upgrade !== "string") { + throw new InvalidArgumentError("upgrade must be a string"); + } + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("invalid headersTimeout"); + } + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("invalid bodyTimeout"); + } + if (reset != null && typeof reset !== "boolean") { + throw new InvalidArgumentError("invalid reset"); + } + if (expectContinue != null && typeof expectContinue !== "boolean") { + throw new InvalidArgumentError("invalid expectContinue"); + } + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body == null) { + this.body = null; + } else if (util2.isStream(body)) { + this.body = body; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + util2.destroy(this); + }; + this.body.on("end", this.endHandler); + } + this.errorHandler = (err) => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; + } + }; + this.body.on("error", this.errorHandler); + } else if (util2.isBuffer(body)) { + this.body = body.byteLength ? body : null; + } else if (ArrayBuffer.isView(body)) { + this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + } else if (body instanceof ArrayBuffer) { + this.body = body.byteLength ? Buffer.from(body) : null; + } else if (typeof body === "string") { + this.body = body.length ? Buffer.from(body) : null; + } else if (util2.isFormDataLike(body) || util2.isIterable(body) || util2.isBlobLike(body)) { + this.body = body; + } else { + throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? util2.buildURL(path2, query) : path2; + this.origin = origin; + this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; + this.blocking = blocking == null ? false : blocking; + this.reset = reset == null ? null : reset; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = ""; + this.expectContinue = expectContinue != null ? expectContinue : false; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + processHeader(this, headers[i3], headers[i3 + 1]); + } + } else if (headers && typeof headers === "object") { + const keys = Object.keys(headers); + for (let i3 = 0; i3 < keys.length; i3++) { + const key = keys[i3]; + processHeader(this, key, headers[key]); + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + if (util2.isFormDataLike(this.body)) { + if (util2.nodeMajor < 16 || util2.nodeMajor === 16 && util2.nodeMinor < 8) { + throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); + } + if (!extractBody) { + extractBody = require_body().extractBody; + } + const [bodyStream, contentType] = extractBody(body); + if (this.contentType == null) { + this.contentType = contentType; + this.headers += `content-type: ${contentType}\r +`; + } + this.body = bodyStream.stream; + this.contentLength = bodyStream.length; + } else if (util2.isBlobLike(body) && this.contentType == null && body.type) { + this.contentType = body.type; + this.headers += `content-type: ${body.type}\r +`; + } + util2.validateHandler(handler, method, upgrade); + this.servername = util2.getServerName(this.host); + this[kHandler] = handler; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); + } + } + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } + } + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } + } + } + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } + } + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } + } + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); + return false; + } + } + onUpgrade(statusCode, headers, socket) { + assert(!this.aborted); + assert(!this.completed); + return this[kHandler].onUpgrade(statusCode, headers, socket); + } + onComplete(trailers) { + this.onFinally(); + assert(!this.aborted); + this.completed = true; + if (channels.trailers.hasSubscribers) { + channels.trailers.publish({ request: this, trailers }); + } + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + this.onError(err); + } + } + onError(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[kHandler].onError(error); + } + onFinally() { + if (this.errorHandler) { + this.body.off("error", this.errorHandler); + this.errorHandler = null; + } + if (this.endHandler) { + this.body.off("end", this.endHandler); + this.endHandler = null; + } + } + addHeader(key, value) { + processHeader(this, key, value); + return this; + } + static [kHTTP1BuildRequest](origin, opts, handler) { + return new Request3(origin, opts, handler); + } + static [kHTTP2BuildRequest](origin, opts, handler) { + const headers = opts.headers; + opts = { ...opts, headers: null }; + const request = new Request3(origin, opts, handler); + request.headers = {}; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + processHeader(request, headers[i3], headers[i3 + 1], true); + } + } else if (headers && typeof headers === "object") { + const keys = Object.keys(headers); + for (let i3 = 0; i3 < keys.length; i3++) { + const key = keys[i3]; + processHeader(request, key, headers[key], true); + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + return request; + } + static [kHTTP2CopyHeaders](raw) { + const rawHeaders = raw.split("\r\n"); + const headers = {}; + for (const header of rawHeaders) { + const [key, value] = header.split(": "); + if (value == null || value.length === 0) + continue; + if (headers[key]) + headers[key] += `,${value}`; + else + headers[key] = value; + } + return headers; + } + }; + function processHeaderValue(key, val, skipAppend) { + if (val && typeof val === "object") { + throw new InvalidArgumentError(`invalid ${key} header`); + } + val = val != null ? `${val}` : ""; + if (headerCharRegex.exec(val) !== null) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + return skipAppend ? val : `${key}: ${val}\r +`; + } + function processHeader(request, key, val, skipAppend = false) { + if (val && (typeof val === "object" && !Array.isArray(val))) { + throw new InvalidArgumentError(`invalid ${key} header`); + } else if (val === void 0) { + return; + } + if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { + if (headerCharRegex.exec(val) !== null) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + request.host = val; + } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { + request.contentLength = parseInt(val, 10); + if (!Number.isFinite(request.contentLength)) { + throw new InvalidArgumentError("invalid content-length header"); + } + } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { + request.contentType = val; + if (skipAppend) + request.headers[key] = processHeaderValue(key, val, skipAppend); + else + request.headers += processHeaderValue(key, val); + } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { + throw new InvalidArgumentError("invalid transfer-encoding header"); + } else if (key.length === 10 && key.toLowerCase() === "connection") { + const value = typeof val === "string" ? val.toLowerCase() : null; + if (value !== "close" && value !== "keep-alive") { + throw new InvalidArgumentError("invalid connection header"); + } else if (value === "close") { + request.reset = true; + } + } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { + throw new InvalidArgumentError("invalid keep-alive header"); + } else if (key.length === 7 && key.toLowerCase() === "upgrade") { + throw new InvalidArgumentError("invalid upgrade header"); + } else if (key.length === 6 && key.toLowerCase() === "expect") { + throw new NotSupportedError("expect header not supported"); + } else if (tokenRegExp.exec(key) === null) { + throw new InvalidArgumentError("invalid header key"); + } else { + if (Array.isArray(val)) { + for (let i3 = 0; i3 < val.length; i3++) { + if (skipAppend) { + if (request.headers[key]) + request.headers[key] += `,${processHeaderValue(key, val[i3], skipAppend)}`; + else + request.headers[key] = processHeaderValue(key, val[i3], skipAppend); + } else { + request.headers += processHeaderValue(key, val[i3]); + } + } + } else { + if (skipAppend) + request.headers[key] = processHeaderValue(key, val, skipAppend); + else + request.headers += processHeaderValue(key, val); + } + } + } + module2.exports = Request3; + } +}); + +// node_modules/undici/lib/dispatcher.js +var require_dispatcher = __commonJS({ + "node_modules/undici/lib/dispatcher.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("events"); + var Dispatcher = class extends EventEmitter2 { + dispatch() { + throw new Error("not implemented"); + } + close() { + throw new Error("not implemented"); + } + destroy() { + throw new Error("not implemented"); + } + }; + module2.exports = Dispatcher; + } +}); + +// node_modules/undici/lib/dispatcher-base.js +var require_dispatcher_base = __commonJS({ + "node_modules/undici/lib/dispatcher-base.js"(exports, module2) { + "use strict"; + var Dispatcher = require_dispatcher(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors(); + var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); + var kDestroyed = Symbol("destroyed"); + var kClosed = Symbol("closed"); + var kOnDestroyed = Symbol("onDestroyed"); + var kOnClosed = Symbol("onClosed"); + var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + var DispatcherBase = class extends Dispatcher { + constructor() { + super(); + this[kDestroyed] = false; + this[kOnDestroyed] = null; + this[kClosed] = false; + this[kOnClosed] = []; + } + get destroyed() { + return this[kDestroyed]; + } + get closed() { + return this[kClosed]; + } + get interceptors() { + return this[kInterceptors]; + } + set interceptors(newInterceptors) { + if (newInterceptors) { + for (let i3 = newInterceptors.length - 1; i3 >= 0; i3--) { + const interceptor = this[kInterceptors][i3]; + if (typeof interceptor !== "function") { + throw new InvalidArgumentError("interceptor must be an function"); + } + } + } + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + queueMicrotask(() => callback(new ClientDestroyedError(), null)); + return; + } + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } + return; + } + this[kClosed] = true; + this[kOnClosed].push(callback); + const onClosed = () => { + const callbacks = this[kOnClosed]; + this[kOnClosed] = null; + for (let i3 = 0; i3 < callbacks.length; i3++) { + callbacks[i3](null, null); + } + }; + this[kClose]().then(() => this.destroy()).then(() => { + queueMicrotask(onClosed); + }); + } + destroy(err, callback) { + if (typeof err === "function") { + callback = err; + err = null; + } + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.destroy(err, (err2, data) => { + return err2 ? reject(err2) : resolve(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } + return; + } + if (!err) { + err = new ClientDestroyedError(); + } + this[kDestroyed] = true; + this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed].push(callback); + const onDestroyed = () => { + const callbacks = this[kOnDestroyed]; + this[kOnDestroyed] = null; + for (let i3 = 0; i3 < callbacks.length; i3++) { + callbacks[i3](null, null); + } + }; + this[kDestroy](err).then(() => { + queueMicrotask(onDestroyed); + }); + } + [kInterceptedDispatch](opts, handler) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler); + } + let dispatch = this[kDispatch].bind(this); + for (let i3 = this[kInterceptors].length - 1; i3 >= 0; i3--) { + dispatch = this[kInterceptors][i3](dispatch); + } + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler); + } + dispatch(opts, handler) { + if (!handler || typeof handler !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + try { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object."); + } + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); + } + if (this[kClosed]) { + throw new ClientClosedError(); + } + return this[kInterceptedDispatch](opts, handler); + } catch (err) { + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + handler.onError(err); + return false; + } + } + }; + module2.exports = DispatcherBase; + } +}); + +// node_modules/undici/lib/core/connect.js +var require_connect = __commonJS({ + "node_modules/undici/lib/core/connect.js"(exports, module2) { + "use strict"; + var net = require("net"); + var assert = require("assert"); + var util2 = require_util(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); + var tls; + var SessionCache; + if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { + SessionCache = class WeakSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + this._sessionRegistry = new global.FinalizationRegistry((key) => { + if (this._sessionCache.size < this._maxCachedSessions) { + return; + } + const ref = this._sessionCache.get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this._sessionCache.delete(key); + } + }); + } + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); + } + }; + } else { + SessionCache = class SimpleSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); + } + this._sessionCache.set(sessionKey, session); + } + }; + } + function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { + if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { + throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + } + const options = { path: socketPath, ...opts }; + const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); + timeout = timeout == null ? 1e4 : timeout; + allowH2 = allowH2 != null ? allowH2 : false; + return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { + let socket; + if (protocol === "https:") { + if (!tls) { + tls = require("tls"); + } + servername = servername || options.servername || util2.getServerName(host) || null; + const sessionKey = servername || hostname; + const session = sessionCache.get(sessionKey) || null; + assert(sessionKey); + socket = tls.connect({ + highWaterMark: 16384, + ...options, + servername, + session, + localAddress, + ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], + socket: httpSocket, + port: port || 443, + host: hostname + }); + socket.on("session", function(session2) { + sessionCache.set(sessionKey, session2); + }); + } else { + assert(!httpSocket, "httpSocket can only be sent on TLS update"); + socket = net.connect({ + highWaterMark: 64 * 1024, + ...options, + localAddress, + port: port || 80, + host: hostname + }); + } + if (options.keepAlive == null || options.keepAlive) { + const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; + socket.setKeepAlive(true, keepAliveInitialDelay); + } + const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); + socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { + cancelTimeout(); + if (callback) { + const cb = callback; + callback = null; + cb(null, this); + } + }).on("error", function(err) { + cancelTimeout(); + if (callback) { + const cb = callback; + callback = null; + cb(err); + } + }); + return socket; + }; + } + function setupTimeout(onConnectTimeout2, timeout) { + if (!timeout) { + return () => { + }; + } + let s1 = null; + let s2 = null; + const timeoutId = setTimeout(() => { + s1 = setImmediate(() => { + if (process.platform === "win32") { + s2 = setImmediate(() => onConnectTimeout2()); + } else { + onConnectTimeout2(); + } + }); + }, timeout); + return () => { + clearTimeout(timeoutId); + clearImmediate(s1); + clearImmediate(s2); + }; + } + function onConnectTimeout(socket) { + util2.destroy(socket, new ConnectTimeoutError()); + } + module2.exports = buildConnector; + } +}); + +// node_modules/undici/lib/llhttp/utils.js +var require_utils2 = __commonJS({ + "node_modules/undici/lib/llhttp/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.enumToMap = void 0; + function enumToMap(obj) { + const res = {}; + Object.keys(obj).forEach((key) => { + const value = obj[key]; + if (typeof value === "number") { + res[key] = value; + } + }); + return res; + } + exports.enumToMap = enumToMap; + } +}); + +// node_modules/undici/lib/llhttp/constants.js +var require_constants3 = __commonJS({ + "node_modules/undici/lib/llhttp/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + 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; + var utils_1 = require_utils2(); + var ERROR; + (function(ERROR2) { + ERROR2[ERROR2["OK"] = 0] = "OK"; + ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; + ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; + ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; + ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; + ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; + ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; + ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; + ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; + ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; + ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; + ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; + ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; + ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; + ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; + ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; + ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; + ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; + ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; + ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; + ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; + ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; + ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; + ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; + ERROR2[ERROR2["USER"] = 24] = "USER"; + })(ERROR = exports.ERROR || (exports.ERROR = {})); + var TYPE; + (function(TYPE2) { + TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; + TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; + TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; + })(TYPE = exports.TYPE || (exports.TYPE = {})); + var FLAGS; + (function(FLAGS2) { + FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; + FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; + FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; + FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; + FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; + FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; + FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; + FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; + FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; + })(FLAGS = exports.FLAGS || (exports.FLAGS = {})); + var LENIENT_FLAGS; + (function(LENIENT_FLAGS2) { + LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; + LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; + LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; + })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); + var METHODS; + (function(METHODS2) { + METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; + METHODS2[METHODS2["GET"] = 1] = "GET"; + METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; + METHODS2[METHODS2["POST"] = 3] = "POST"; + METHODS2[METHODS2["PUT"] = 4] = "PUT"; + METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; + METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; + METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; + METHODS2[METHODS2["COPY"] = 8] = "COPY"; + METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; + METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; + METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; + METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; + METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; + METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; + METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; + METHODS2[METHODS2["BIND"] = 16] = "BIND"; + METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; + METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; + METHODS2[METHODS2["ACL"] = 19] = "ACL"; + METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; + METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; + METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; + METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; + METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; + METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; + METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; + METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; + METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; + METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; + METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; + METHODS2[METHODS2["LINK"] = 31] = "LINK"; + METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; + METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; + METHODS2[METHODS2["PRI"] = 34] = "PRI"; + METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; + METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; + METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; + METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; + METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; + METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; + METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; + METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; + METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; + METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; + METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; + })(METHODS = exports.METHODS || (exports.METHODS = {})); + exports.METHODS_HTTP = [ + METHODS.DELETE, + METHODS.GET, + METHODS.HEAD, + METHODS.POST, + METHODS.PUT, + METHODS.CONNECT, + METHODS.OPTIONS, + METHODS.TRACE, + METHODS.COPY, + METHODS.LOCK, + METHODS.MKCOL, + METHODS.MOVE, + METHODS.PROPFIND, + METHODS.PROPPATCH, + METHODS.SEARCH, + METHODS.UNLOCK, + METHODS.BIND, + METHODS.REBIND, + METHODS.UNBIND, + METHODS.ACL, + METHODS.REPORT, + METHODS.MKACTIVITY, + METHODS.CHECKOUT, + METHODS.MERGE, + METHODS["M-SEARCH"], + METHODS.NOTIFY, + METHODS.SUBSCRIBE, + METHODS.UNSUBSCRIBE, + METHODS.PATCH, + METHODS.PURGE, + METHODS.MKCALENDAR, + METHODS.LINK, + METHODS.UNLINK, + METHODS.PRI, + METHODS.SOURCE + ]; + exports.METHODS_ICE = [ + METHODS.SOURCE + ]; + exports.METHODS_RTSP = [ + METHODS.OPTIONS, + METHODS.DESCRIBE, + METHODS.ANNOUNCE, + METHODS.SETUP, + METHODS.PLAY, + METHODS.PAUSE, + METHODS.TEARDOWN, + METHODS.GET_PARAMETER, + METHODS.SET_PARAMETER, + METHODS.REDIRECT, + METHODS.RECORD, + METHODS.FLUSH, + METHODS.GET, + METHODS.POST + ]; + exports.METHOD_MAP = utils_1.enumToMap(METHODS); + exports.H_METHOD_MAP = {}; + Object.keys(exports.METHOD_MAP).forEach((key) => { + if (/^H/.test(key)) { + exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; + } + }); + var FINISH; + (function(FINISH2) { + FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; + FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; + })(FINISH = exports.FINISH || (exports.FINISH = {})); + exports.ALPHA = []; + for (let i3 = "A".charCodeAt(0); i3 <= "Z".charCodeAt(0); i3++) { + exports.ALPHA.push(String.fromCharCode(i3)); + exports.ALPHA.push(String.fromCharCode(i3 + 32)); + } + exports.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 + }; + exports.HEX_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + a: 10, + b: 11, + c: 12, + d: 13, + e: 14, + f: 15 + }; + exports.NUM = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ]; + exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); + exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; + exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + exports.STRICT_URL_CHAR = [ + "!", + '"', + "$", + "%", + "&", + "'", + "(", + ")", + "*", + "+", + ",", + "-", + ".", + "/", + ":", + ";", + "<", + "=", + ">", + "@", + "[", + "\\", + "]", + "^", + "_", + "`", + "{", + "|", + "}", + "~" + ].concat(exports.ALPHANUM); + exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]); + for (let i3 = 128; i3 <= 255; i3++) { + exports.URL_CHAR.push(i3); + } + exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports.STRICT_TOKEN = [ + "!", + "#", + "$", + "%", + "&", + "'", + "*", + "+", + "-", + ".", + "^", + "_", + "`", + "|", + "~" + ].concat(exports.ALPHANUM); + exports.TOKEN = exports.STRICT_TOKEN.concat([" "]); + exports.HEADER_CHARS = [" "]; + for (let i3 = 32; i3 <= 255; i3++) { + if (i3 !== 127) { + exports.HEADER_CHARS.push(i3); + } + } + exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c2) => c2 !== 44); + exports.MAJOR = exports.NUM_MAP; + exports.MINOR = exports.MAJOR; + var HEADER_STATE; + (function(HEADER_STATE2) { + HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; + HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; + HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; + HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; + })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); + exports.SPECIAL_HEADERS = { + "connection": HEADER_STATE.CONNECTION, + "content-length": HEADER_STATE.CONTENT_LENGTH, + "proxy-connection": HEADER_STATE.CONNECTION, + "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, + "upgrade": HEADER_STATE.UPGRADE + }; + } +}); + +// node_modules/undici/lib/handler/RedirectHandler.js +var require_RedirectHandler = __commonJS({ + "node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) { + "use strict"; + var util2 = require_util(); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { InvalidArgumentError } = require_errors(); + var EE = require("events"); + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; + var kBody = Symbol("body"); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + var RedirectHandler = class { + constructor(dispatch, maxRedirections, opts, handler) { + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + util2.validateHandler(handler, opts.method, opts.upgrade); + this.dispatch = dispatch; + this.location = null; + this.abort = null; + this.opts = { ...opts, maxRedirections: 0 }; + this.maxRedirections = maxRedirections; + this.handler = handler; + this.history = []; + if (util2.isStream(this.opts.body)) { + if (util2.bodyLength(this.opts.body) === 0) { + this.opts.body.on("data", function() { + assert(false); + }); + } + if (typeof this.opts.body.readableDidRead !== "boolean") { + this.opts.body[kBodyUsed] = false; + EE.prototype.on.call(this.opts.body, "data", function() { + this[kBodyUsed] = true; + }); + } + } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util2.isIterable(this.opts.body)) { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } + } + onConnect(abort) { + this.abort = abort; + this.handler.onConnect(abort, { history: this.history }); + } + onUpgrade(statusCode, headers, socket) { + this.handler.onUpgrade(statusCode, headers, socket); + } + onError(error) { + this.handler.onError(error); + } + onHeaders(statusCode, headers, resume, statusText) { + this.location = this.history.length >= this.maxRedirections || util2.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + if (this.opts.origin) { + this.history.push(new URL(this.opts.path, this.opts.origin)); + } + if (!this.location) { + return this.handler.onHeaders(statusCode, headers, resume, statusText); + } + const { origin, pathname, search } = util2.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); + const path2 = search ? `${pathname}${search}` : pathname; + this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); + this.opts.path = path2; + this.opts.origin = origin; + this.opts.maxRedirections = 0; + this.opts.query = null; + if (statusCode === 303 && this.opts.method !== "HEAD") { + this.opts.method = "GET"; + this.opts.body = null; + } + } + onData(chunk) { + if (this.location) { + } else { + return this.handler.onData(chunk); + } + } + onComplete(trailers) { + if (this.location) { + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(trailers); + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) { + this.handler.onBodySent(chunk); + } + } + }; + function parseLocation(statusCode, headers) { + if (redirectableStatusCodes.indexOf(statusCode) === -1) { + return null; + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (headers[i3].toString().toLowerCase() === "location") { + return headers[i3 + 1]; + } + } + } + function shouldRemoveHeader(header, removeContent, unknownOrigin) { + if (header.length === 4) { + return util2.headerNameToString(header) === "host"; + } + if (removeContent && util2.headerNameToString(header).startsWith("content-")) { + return true; + } + if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { + const name = util2.headerNameToString(header); + return name === "authorization" || name === "cookie" || name === "proxy-authorization"; + } + return false; + } + function cleanRequestHeaders(headers, removeContent, unknownOrigin) { + const ret = []; + if (Array.isArray(headers)) { + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (!shouldRemoveHeader(headers[i3], removeContent, unknownOrigin)) { + ret.push(headers[i3], headers[i3 + 1]); + } + } + } else if (headers && typeof headers === "object") { + for (const key of Object.keys(headers)) { + if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { + ret.push(key, headers[key]); + } + } + } else { + assert(headers == null, "headers must be an object or an array"); + } + return ret; + } + module2.exports = RedirectHandler; + } +}); + +// node_modules/undici/lib/interceptor/redirectInterceptor.js +var require_redirectInterceptor = __commonJS({ + "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) { + "use strict"; + var RedirectHandler = require_RedirectHandler(); + function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { + return (dispatch) => { + return function Intercept(opts, handler) { + const { maxRedirections = defaultMaxRedirections } = opts; + if (!maxRedirections) { + return dispatch(opts, handler); + } + const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); + opts = { ...opts, maxRedirections: 0 }; + return dispatch(opts, redirectHandler); + }; + }; + } + module2.exports = createRedirectInterceptor; + } +}); + +// node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { + module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; + } +}); + +// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +var require_llhttp_simd_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { + module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; + } +}); + +// node_modules/undici/lib/client.js +var require_client = __commonJS({ + "node_modules/undici/lib/client.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var net = require("net"); + var http2 = require("http"); + var { pipeline } = require("stream"); + var util2 = require_util(); + var timers = require_timers(); + var Request3 = require_request(); + var DispatcherBase = require_dispatcher_base(); + var { + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + InvalidArgumentError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError, + ClientDestroyedError + } = require_errors(); + var buildConnector = require_connect(); + var { + kUrl, + kReset, + kServerName, + kClient, + kBusy, + kParser, + kConnect, + kBlocking, + kResuming, + kRunning, + kPending, + kSize, + kWriting, + kQueue, + kConnected, + kConnecting, + kNeedDrain, + kNoRef, + kKeepAliveDefaultTimeout, + kHostHeader, + kPendingIdx, + kRunningIdx, + kError, + kPipelining, + kSocket, + kKeepAliveTimeoutValue, + kMaxHeadersSize, + kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold, + kHeadersTimeout, + kBodyTimeout, + kStrictContentLength, + kConnector, + kMaxRedirections, + kMaxRequests, + kCounter, + kClose, + kDestroy, + kDispatch, + kInterceptors, + kLocalAddress, + kMaxResponseSize, + kHTTPConnVersion, + kHost, + kHTTP2Session, + kHTTP2SessionState, + kHTTP2BuildRequest, + kHTTP2CopyHeaders, + kHTTP1BuildRequest + } = require_symbols(); + var http22; + try { + http22 = require("http2"); + } catch { + http22 = { constants: {} }; + } + var { + constants: { + HTTP2_HEADER_AUTHORITY, + HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH, + HTTP2_HEADER_SCHEME, + HTTP2_HEADER_CONTENT_LENGTH, + HTTP2_HEADER_EXPECT, + HTTP2_HEADER_STATUS + } + } = http22; + var h2ExperimentalWarned = false; + var FastBuffer = Buffer[Symbol.species]; + var kClosedResolve = Symbol("kClosedResolve"); + var channels = {}; + try { + const diagnosticsChannel = require("diagnostics_channel"); + channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); + channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); + channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); + channels.connected = diagnosticsChannel.channel("undici:client:connected"); + } catch { + channels.sendHeaders = { hasSubscribers: false }; + channels.beforeConnect = { hasSubscribers: false }; + channels.connectError = { hasSubscribers: false }; + channels.connected = { hasSubscribers: false }; + } + var Client = class extends DispatcherBase { + constructor(url2, { + interceptors, + maxHeaderSize, + headersTimeout, + socketTimeout, + requestTimeout, + connectTimeout, + bodyTimeout, + idleTimeout, + keepAlive, + keepAliveTimeout, + maxKeepAliveTimeout, + keepAliveMaxTimeout, + keepAliveTimeoutThreshold, + socketPath, + pipelining, + tls, + strictContentLength, + maxCachedSessions, + maxRedirections, + connect: connect2, + maxRequestsPerClient, + localAddress, + maxResponseSize, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + maxConcurrentStreams + } = {}) { + super(); + if (keepAlive !== void 0) { + throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); + } + if (socketTimeout !== void 0) { + throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + } + if (requestTimeout !== void 0) { + throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + } + if (idleTimeout !== void 0) { + throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); + } + if (maxKeepAliveTimeout !== void 0) { + throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); + } + if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { + throw new InvalidArgumentError("invalid maxHeaderSize"); + } + if (socketPath != null && typeof socketPath !== "string") { + throw new InvalidArgumentError("invalid socketPath"); + } + if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { + throw new InvalidArgumentError("invalid connectTimeout"); + } + if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { + throw new InvalidArgumentError("invalid keepAliveTimeout"); + } + if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { + throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); + } + if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { + throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); + } + if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); + } + if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); + } + if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { + throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); + } + if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { + throw new InvalidArgumentError("localAddress must be valid string IP address"); + } + if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { + throw new InvalidArgumentError("maxResponseSize must be a positive number"); + } + if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { + throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); + } + if (allowH2 != null && typeof allowH2 !== "boolean") { + throw new InvalidArgumentError("allowH2 must be a valid boolean value"); + } + if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { + throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + } + if (typeof connect2 !== "function") { + connect2 = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect2 + }); + } + this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; + this[kUrl] = util2.parseOrigin(url2); + this[kConnector] = connect2; + this[kSocket] = null; + this[kPipelining] = pipelining != null ? pipelining : 1; + this[kMaxHeadersSize] = maxHeaderSize || http2.maxHeaderSize; + this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; + this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; + this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; + this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; + this[kServerName] = null; + this[kLocalAddress] = localAddress != null ? localAddress : null; + this[kResuming] = 0; + this[kNeedDrain] = 0; + this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r +`; + this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; + this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; + this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; + this[kMaxRedirections] = maxRedirections; + this[kMaxRequests] = maxRequestsPerClient; + this[kClosedResolve] = null; + this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; + this[kHTTPConnVersion] = "h1"; + this[kHTTP2Session] = null; + this[kHTTP2SessionState] = !allowH2 ? null : { + openStreams: 0, + maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 + }; + this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; + this[kQueue] = []; + this[kRunningIdx] = 0; + this[kPendingIdx] = 0; + } + get pipelining() { + return this[kPipelining]; + } + set pipelining(value) { + this[kPipelining] = value; + resume(this, true); + } + get [kPending]() { + return this[kQueue].length - this[kPendingIdx]; + } + get [kRunning]() { + return this[kPendingIdx] - this[kRunningIdx]; + } + get [kSize]() { + return this[kQueue].length - this[kRunningIdx]; + } + get [kConnected]() { + return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + } + get [kBusy]() { + const socket = this[kSocket]; + return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + } + [kConnect](cb) { + connect(this); + this.once("connect", cb); + } + [kDispatch](opts, handler) { + const origin = opts.origin || this[kUrl].origin; + const request = this[kHTTPConnVersion] === "h2" ? Request3[kHTTP2BuildRequest](origin, opts, handler) : Request3[kHTTP1BuildRequest](origin, opts, handler); + this[kQueue].push(request); + if (this[kResuming]) { + } else if (util2.bodyLength(request.body) == null && util2.isIterable(request.body)) { + this[kResuming] = 1; + process.nextTick(resume, this); + } else { + resume(this, true); + } + if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { + this[kNeedDrain] = 2; + } + return this[kNeedDrain] < 2; + } + async [kClose]() { + return new Promise((resolve) => { + if (!this[kSize]) { + resolve(null); + } else { + this[kClosedResolve] = resolve; + } + }); + } + async [kDestroy](err) { + return new Promise((resolve) => { + const requests = this[kQueue].splice(this[kPendingIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request = requests[i3]; + errorRequest(this, request, err); + } + const callback = () => { + if (this[kClosedResolve]) { + this[kClosedResolve](); + this[kClosedResolve] = null; + } + resolve(); + }; + if (this[kHTTP2Session] != null) { + util2.destroy(this[kHTTP2Session], err); + this[kHTTP2Session] = null; + this[kHTTP2SessionState] = null; + } + if (!this[kSocket]) { + queueMicrotask(callback); + } else { + util2.destroy(this[kSocket].on("close", callback), err); + } + resume(this); + }); + } + }; + function onHttp2SessionError(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kSocket][kError] = err; + onError(this[kClient], err); + } + function onHttp2FrameError(type, code, id) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + if (id === 0) { + this[kSocket][kError] = err; + onError(this[kClient], err); + } + } + function onHttp2SessionEnd() { + util2.destroy(this, new SocketError("other side closed")); + util2.destroy(this[kSocket], new SocketError("other side closed")); + } + function onHTTP2GoAway(code) { + const client = this[kClient]; + const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); + client[kSocket] = null; + client[kHTTP2Session] = null; + if (client.destroyed) { + assert(this[kPending] === 0); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request = requests[i3]; + errorRequest(this, request, err); + } + } else if (client[kRunning] > 0) { + const request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit( + "disconnect", + client[kUrl], + [client], + err + ); + resume(client); + } + var constants = require_constants3(); + var createRedirectInterceptor = require_redirectInterceptor(); + var EMPTY_BUF = Buffer.alloc(0); + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; + let mod; + try { + mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); + } catch (e3) { + mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); + } + return await WebAssembly.instantiate(mod, { + env: { + wasm_on_url: (p3, at2, len) => { + return 0; + }, + wasm_on_status: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_begin: (p3) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onMessageBegin() || 0; + }, + wasm_on_header_field: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_header_value: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_headers_complete: (p3, statusCode, upgrade, shouldKeepAlive) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + }, + wasm_on_body: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_complete: (p3) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onMessageComplete() || 0; + } + } + }); + } + var llhttpInstance = null; + var llhttpPromise = lazyllhttp(); + llhttpPromise.catch(); + var currentParser = null; + var currentBufferRef = null; + var currentBufferSize = 0; + var currentBufferPtr = null; + var TIMEOUT_HEADERS = 1; + var TIMEOUT_BODY = 2; + var TIMEOUT_IDLE = 3; + var Parser = class { + constructor(client, socket, { exports: exports2 }) { + assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); + this.llhttp = exports2; + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); + this.client = client; + this.socket = socket; + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.statusCode = null; + this.statusText = ""; + this.upgrade = false; + this.headers = []; + this.headersSize = 0; + this.headersMaxSize = client[kMaxHeadersSize]; + this.shouldKeepAlive = false; + this.paused = false; + this.resume = this.resume.bind(this); + this.bytesRead = 0; + this.keepAlive = ""; + this.contentLength = ""; + this.connection = ""; + this.maxResponseSize = client[kMaxResponseSize]; + } + setTimeout(value, type) { + this.timeoutType = type; + if (value !== this.timeoutValue) { + timers.clearTimeout(this.timeout); + if (value) { + this.timeout = timers.setTimeout(onParserTimeout, value, this); + if (this.timeout.unref) { + this.timeout.unref(); + } + } else { + this.timeout = null; + } + this.timeoutValue = value; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; + } + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_resume(this.ptr); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.paused = false; + this.execute(this.socket.read() || EMPTY_BUF); + this.readMore(); + } + readMore() { + while (!this.paused && this.ptr) { + const chunk = this.socket.read(); + if (chunk === null) { + break; + } + this.execute(chunk); + } + } + execute(data) { + assert(this.ptr != null); + assert(currentParser == null); + assert(!this.paused); + const { socket, llhttp } = this; + if (data.length > currentBufferSize) { + if (currentBufferPtr) { + llhttp.free(currentBufferPtr); + } + currentBufferSize = Math.ceil(data.length / 4096) * 4096; + currentBufferPtr = llhttp.malloc(currentBufferSize); + } + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + try { + let ret; + try { + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + } catch (err) { + throw err; + } finally { + currentParser = null; + currentBufferRef = null; + } + const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(data.slice(offset)); + } else if (ret === constants.ERROR.PAUSED) { + this.paused = true; + socket.unshift(data.slice(offset)); + } else if (ret !== constants.ERROR.OK) { + const ptr = llhttp.llhttp_get_error_reason(this.ptr); + let message = ""; + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + } + throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); + } + } catch (err) { + util2.destroy(socket, err); + } + } + destroy() { + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + timers.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; + } + onStatus(buf) { + this.statusText = buf.toString(); + } + onMessageBegin() { + const { socket, client } = this; + if (socket.destroyed) { + return -1; + } + const request = client[kQueue][client[kRunningIdx]]; + if (!request) { + return -1; + } + } + onHeaderField(buf) { + const len = this.headers.length; + if ((len & 1) === 0) { + this.headers.push(buf); + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + this.trackHeader(buf.length); + } + onHeaderValue(buf) { + let len = this.headers.length; + if ((len & 1) === 1) { + this.headers.push(buf); + len += 1; + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + const key = this.headers[len - 2]; + if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { + this.keepAlive += buf.toString(); + } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { + this.connection += buf.toString(); + } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { + this.contentLength += buf.toString(); + } + this.trackHeader(buf.length); + } + trackHeader(len) { + this.headersSize += len; + if (this.headersSize >= this.headersMaxSize) { + util2.destroy(this.socket, new HeadersOverflowError()); + } + } + onUpgrade(head) { + const { upgrade, client, socket, headers, statusCode } = this; + assert(upgrade); + const request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert(!socket.destroyed); + assert(socket === client[kSocket]); + assert(!this.paused); + assert(request.upgrade || request.method === "CONNECT"); + this.statusCode = null; + this.statusText = ""; + this.shouldKeepAlive = null; + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + socket.unshift(head); + socket[kParser].destroy(); + socket[kParser] = null; + socket[kClient] = null; + socket[kError] = null; + socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); + client[kSocket] = null; + client[kQueue][client[kRunningIdx]++] = null; + client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + try { + request.onUpgrade(statusCode, headers, socket); + } catch (err) { + util2.destroy(socket, err); + } + resume(client); + } + onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + const { client, socket, headers, statusText } = this; + if (socket.destroyed) { + return -1; + } + const request = client[kQueue][client[kRunningIdx]]; + if (!request) { + return -1; + } + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util2.destroy(socket, new SocketError("bad response", util2.getSocketInfo(socket))); + return -1; + } + if (upgrade && !request.upgrade) { + util2.destroy(socket, new SocketError("bad upgrade", util2.getSocketInfo(socket))); + return -1; + } + assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); + this.statusCode = statusCode; + this.shouldKeepAlive = shouldKeepAlive || request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + if (this.statusCode >= 200) { + const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (request.method === "CONNECT") { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + if (upgrade) { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && client[kPipelining]) { + const keepAliveTimeout = this.keepAlive ? util2.parseKeepAliveTimeout(this.keepAlive) : null; + if (keepAliveTimeout != null) { + const timeout = Math.min( + keepAliveTimeout - client[kKeepAliveTimeoutThreshold], + client[kKeepAliveMaxTimeout] + ); + if (timeout <= 0) { + socket[kReset] = true; + } else { + client[kKeepAliveTimeoutValue] = timeout; + } + } else { + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; + } + } else { + socket[kReset] = true; + } + const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request.aborted) { + return -1; + } + if (request.method === "HEAD") { + return 1; + } + if (statusCode < 200) { + return 1; + } + if (socket[kBlocking]) { + socket[kBlocking] = false; + resume(client); + } + return pause ? constants.ERROR.PAUSED : 0; + } + onBody(buf) { + const { client, socket, statusCode, maxResponseSize } = this; + if (socket.destroyed) { + return -1; + } + const request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert.strictEqual(this.timeoutType, TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + assert(statusCode >= 200); + if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { + util2.destroy(socket, new ResponseExceededMaxSizeError()); + return -1; + } + this.bytesRead += buf.length; + if (request.onData(buf) === false) { + return constants.ERROR.PAUSED; + } + } + onMessageComplete() { + const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + if (socket.destroyed && (!statusCode || shouldKeepAlive)) { + return -1; + } + if (upgrade) { + return; + } + const request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert(statusCode >= 100); + this.statusCode = null; + this.statusText = ""; + this.bytesRead = 0; + this.contentLength = ""; + this.keepAlive = ""; + this.connection = ""; + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (statusCode < 200) { + return; + } + if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util2.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request.onComplete(headers); + client[kQueue][client[kRunningIdx]++] = null; + if (socket[kWriting]) { + assert.strictEqual(client[kRunning], 0); + util2.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (!shouldKeepAlive) { + util2.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (socket[kReset] && client[kRunning] === 0) { + util2.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (client[kPipelining] === 1) { + setImmediate(resume, client); + } else { + resume(client); + } + } + }; + function onParserTimeout(parser) { + const { socket, timeoutType, client } = parser; + if (timeoutType === TIMEOUT_HEADERS) { + if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { + assert(!parser.paused, "cannot be paused while waiting for headers"); + util2.destroy(socket, new HeadersTimeoutError()); + } + } else if (timeoutType === TIMEOUT_BODY) { + if (!parser.paused) { + util2.destroy(socket, new BodyTimeoutError()); + } + } else if (timeoutType === TIMEOUT_IDLE) { + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); + util2.destroy(socket, new InformationalError("socket idle timeout")); + } + } + function onSocketReadable() { + const { [kParser]: parser } = this; + if (parser) { + parser.readMore(); + } + } + function onSocketError(err) { + const { [kClient]: client, [kParser]: parser } = this; + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + if (client[kHTTPConnVersion] !== "h2") { + if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + } + this[kError] = err; + onError(this[kClient], err); + } + function onError(client, err) { + if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { + assert(client[kPendingIdx] === client[kRunningIdx]); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request = requests[i3]; + errorRequest(client, request, err); + } + assert(client[kSize] === 0); + } + } + function onSocketEnd() { + const { [kParser]: parser, [kClient]: client } = this; + if (client[kHTTPConnVersion] !== "h2") { + if (parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + } + util2.destroy(this, new SocketError("other side closed", util2.getSocketInfo(this))); + } + function onSocketClose() { + const { [kClient]: client, [kParser]: parser } = this; + if (client[kHTTPConnVersion] === "h1" && parser) { + if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + } + this[kParser].destroy(); + this[kParser] = null; + } + const err = this[kError] || new SocketError("closed", util2.getSocketInfo(this)); + client[kSocket] = null; + if (client.destroyed) { + assert(client[kPending] === 0); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request = requests[i3]; + errorRequest(client, request, err); + } + } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + const request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + resume(client); + } + async function connect(client) { + assert(!client[kConnecting]); + assert(!client[kSocket]); + let { host, hostname, protocol, port } = client[kUrl]; + if (hostname[0] === "[") { + const idx = hostname.indexOf("]"); + assert(idx !== -1); + const ip = hostname.substring(1, idx); + assert(net.isIP(ip)); + hostname = ip; + } + client[kConnecting] = true; + if (channels.beforeConnect.hasSubscribers) { + channels.beforeConnect.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector] + }); + } + try { + const socket = await new Promise((resolve, reject) => { + client[kConnector]({ + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, (err, socket2) => { + if (err) { + reject(err); + } else { + resolve(socket2); + } + }); + }); + if (client.destroyed) { + util2.destroy(socket.on("error", () => { + }), new ClientDestroyedError()); + return; + } + client[kConnecting] = false; + assert(socket); + const isH2 = socket.alpnProtocol === "h2"; + if (isH2) { + if (!h2ExperimentalWarned) { + h2ExperimentalWarned = true; + process.emitWarning("H2 support is experimental, expect them to change at any time.", { + code: "UNDICI-H2" + }); + } + const session = http22.connect(client[kUrl], { + createConnection: () => socket, + peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams + }); + client[kHTTPConnVersion] = "h2"; + session[kClient] = client; + session[kSocket] = socket; + session.on("error", onHttp2SessionError); + session.on("frameError", onHttp2FrameError); + session.on("end", onHttp2SessionEnd); + session.on("goaway", onHTTP2GoAway); + session.on("close", onSocketClose); + session.unref(); + client[kHTTP2Session] = session; + socket[kHTTP2Session] = session; + } else { + if (!llhttpInstance) { + llhttpInstance = await llhttpPromise; + llhttpPromise = null; + } + socket[kNoRef] = false; + socket[kWriting] = false; + socket[kReset] = false; + socket[kBlocking] = false; + socket[kParser] = new Parser(client, socket, llhttpInstance); + } + socket[kCounter] = 0; + socket[kMaxRequests] = client[kMaxRequests]; + socket[kClient] = client; + socket[kError] = null; + socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); + client[kSocket] = socket; + if (channels.connected.hasSubscribers) { + channels.connected.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + socket + }); + } + client.emit("connect", client[kUrl], [client]); + } catch (err) { + if (client.destroyed) { + return; + } + client[kConnecting] = false; + if (channels.connectError.hasSubscribers) { + channels.connectError.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + error: err + }); + } + if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + assert(client[kRunning] === 0); + while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { + const request = client[kQueue][client[kPendingIdx]++]; + errorRequest(client, request, err); + } + } else { + onError(client, err); + } + client.emit("connectionError", client[kUrl], [client], err); + } + resume(client); + } + function emitDrain(client) { + client[kNeedDrain] = 0; + client.emit("drain", client[kUrl], [client]); + } + function resume(client, sync) { + if (client[kResuming] === 2) { + return; + } + client[kResuming] = 2; + _resume(client, sync); + client[kResuming] = 0; + if (client[kRunningIdx] > 256) { + client[kQueue].splice(0, client[kRunningIdx]); + client[kPendingIdx] -= client[kRunningIdx]; + client[kRunningIdx] = 0; + } + } + function _resume(client, sync) { + while (true) { + if (client.destroyed) { + assert(client[kPending] === 0); + return; + } + if (client[kClosedResolve] && !client[kSize]) { + client[kClosedResolve](); + client[kClosedResolve] = null; + return; + } + const socket = client[kSocket]; + if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { + if (client[kSize] === 0) { + if (!socket[kNoRef] && socket.unref) { + socket.unref(); + socket[kNoRef] = true; + } + } else if (socket[kNoRef] && socket.ref) { + socket.ref(); + socket[kNoRef] = false; + } + if (client[kSize] === 0) { + if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { + socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); + } + } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { + if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { + const request2 = client[kQueue][client[kRunningIdx]]; + const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + } + } + } + if (client[kBusy]) { + client[kNeedDrain] = 2; + } else if (client[kNeedDrain] === 2) { + if (sync) { + client[kNeedDrain] = 1; + process.nextTick(emitDrain, client); + } else { + emitDrain(client); + } + continue; + } + if (client[kPending] === 0) { + return; + } + if (client[kRunning] >= (client[kPipelining] || 1)) { + return; + } + const request = client[kQueue][client[kPendingIdx]]; + if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { + if (client[kRunning] > 0) { + return; + } + client[kServerName] = request.servername; + if (socket && socket.servername !== request.servername) { + util2.destroy(socket, new InformationalError("servername changed")); + return; + } + } + if (client[kConnecting]) { + return; + } + if (!socket && !client[kHTTP2Session]) { + connect(client); + return; + } + if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { + return; + } + if (client[kRunning] > 0 && !request.idempotent) { + return; + } + if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { + return; + } + if (client[kRunning] > 0 && util2.bodyLength(request.body) !== 0 && (util2.isStream(request.body) || util2.isAsyncIterable(request.body))) { + return; + } + if (!request.aborted && write(client, request)) { + client[kPendingIdx]++; + } else { + client[kQueue].splice(client[kPendingIdx], 1); + } + } + } + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function write(client, request) { + if (client[kHTTPConnVersion] === "h2") { + writeH2(client, client[kHTTP2Session], request); + return; + } + const { body, method, path: path2, host, upgrade, headers, blocking, reset } = request; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + const bodyLength = util2.bodyLength(body); + let contentLength = bodyLength; + if (contentLength === null) { + contentLength = request.contentLength; + } + if (contentLength === 0 && !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + const socket = client[kSocket]; + try { + request.onConnect((err) => { + if (request.aborted || request.completed) { + return; + } + errorRequest(client, request, err || new RequestAbortedError()); + util2.destroy(socket, new InformationalError("aborted")); + }); + } catch (err) { + errorRequest(client, request, err); + } + if (request.aborted) { + return false; + } + if (method === "HEAD") { + socket[kReset] = true; + } + if (upgrade || method === "CONNECT") { + socket[kReset] = true; + } + if (reset != null) { + socket[kReset] = reset; + } + if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { + socket[kReset] = true; + } + if (blocking) { + socket[kBlocking] = true; + } + let header = `${method} ${path2} HTTP/1.1\r +`; + if (typeof host === "string") { + header += `host: ${host}\r +`; + } else { + header += client[kHostHeader]; + } + if (upgrade) { + header += `connection: upgrade\r +upgrade: ${upgrade}\r +`; + } else if (client[kPipelining] && !socket[kReset]) { + header += "connection: keep-alive\r\n"; + } else { + header += "connection: close\r\n"; + } + if (headers) { + header += headers; + } + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ request, headers: header, socket }); + } + if (!body || bodyLength === 0) { + if (contentLength === 0) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + assert(contentLength === null, "no body must not have content length"); + socket.write(`${header}\r +`, "latin1"); + } + request.onRequestSent(); + } else if (util2.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(body); + socket.uncork(); + request.onBodySent(body); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + } else if (util2.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); + } else { + writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); + } + } else if (util2.isStream(body)) { + writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); + } else if (util2.isIterable(body)) { + writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); + } else { + assert(false); + } + return true; + } + function writeH2(client, session, request) { + const { body, method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; + let headers; + if (typeof reqHeaders === "string") + headers = Request3[kHTTP2CopyHeaders](reqHeaders.trim()); + else + headers = reqHeaders; + if (upgrade) { + errorRequest(client, request, new Error("Upgrade not supported for H2")); + return false; + } + try { + request.onConnect((err) => { + if (request.aborted || request.completed) { + return; + } + errorRequest(client, request, err || new RequestAbortedError()); + }); + } catch (err) { + errorRequest(client, request, err); + } + if (request.aborted) { + return false; + } + let stream4; + const h2State = client[kHTTP2SessionState]; + headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; + headers[HTTP2_HEADER_METHOD] = method; + if (method === "CONNECT") { + session.ref(); + stream4 = session.request(headers, { endStream: false, signal }); + if (stream4.id && !stream4.pending) { + request.onUpgrade(null, null, stream4); + ++h2State.openStreams; + } else { + stream4.once("ready", () => { + request.onUpgrade(null, null, stream4); + ++h2State.openStreams; + }); + } + stream4.once("close", () => { + h2State.openStreams -= 1; + if (h2State.openStreams === 0) + session.unref(); + }); + return true; + } + headers[HTTP2_HEADER_PATH] = path2; + headers[HTTP2_HEADER_SCHEME] = "https"; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + let contentLength = util2.bodyLength(body); + if (contentLength == null) { + contentLength = request.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + if (contentLength != null) { + assert(body, "no body must not have content length"); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === "GET" || method === "HEAD"; + if (expectContinue) { + headers[HTTP2_HEADER_EXPECT] = "100-continue"; + stream4 = session.request(headers, { endStream: shouldEndStream, signal }); + stream4.once("continue", writeBodyH2); + } else { + stream4 = session.request(headers, { + endStream: shouldEndStream, + signal + }); + writeBodyH2(); + } + ++h2State.openStreams; + stream4.once("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + if (request.onHeaders(Number(statusCode), realHeaders, stream4.resume.bind(stream4), "") === false) { + stream4.pause(); + } + }); + stream4.once("end", () => { + request.onComplete([]); + }); + stream4.on("data", (chunk) => { + if (request.onData(chunk) === false) { + stream4.pause(); + } + }); + stream4.once("close", () => { + h2State.openStreams -= 1; + if (h2State.openStreams === 0) { + session.unref(); + } + }); + stream4.once("error", function(err) { + if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { + h2State.streams -= 1; + util2.destroy(stream4, err); + } + }); + stream4.once("frameError", (type, code) => { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + errorRequest(client, request, err); + if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { + h2State.streams -= 1; + util2.destroy(stream4, err); + } + }); + return true; + function writeBodyH2() { + if (!body) { + request.onRequestSent(); + } else if (util2.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + stream4.cork(); + stream4.write(body); + stream4.uncork(); + stream4.end(); + request.onBodySent(body); + request.onRequestSent(); + } else if (util2.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ + client, + request, + contentLength, + h2stream: stream4, + expectsPayload, + body: body.stream(), + socket: client[kSocket], + header: "" + }); + } else { + writeBlob({ + body, + client, + request, + contentLength, + expectsPayload, + h2stream: stream4, + header: "", + socket: client[kSocket] + }); + } + } else if (util2.isStream(body)) { + writeStream({ + body, + client, + request, + contentLength, + expectsPayload, + socket: client[kSocket], + h2stream: stream4, + header: "" + }); + } else if (util2.isIterable(body)) { + writeIterable({ + body, + client, + request, + contentLength, + expectsPayload, + header: "", + h2stream: stream4, + socket: client[kSocket] + }); + } else { + assert(false); + } + } + } + function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + if (client[kHTTPConnVersion] === "h2") { + let onPipeData = function(chunk) { + request.onBodySent(chunk); + }; + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util2.destroy(body, err); + util2.destroy(h2stream, err); + } else { + request.onRequestSent(); + } + } + ); + pipe.on("data", onPipeData); + pipe.once("end", () => { + pipe.removeListener("data", onPipeData); + util2.destroy(pipe); + }); + return; + } + let finished = false; + const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); + const onData = function(chunk) { + if (finished) { + return; + } + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); + } + } catch (err) { + util2.destroy(this, err); + } + }; + const onDrain = function() { + if (finished) { + return; + } + if (body.resume) { + body.resume(); + } + }; + const onAbort = function() { + if (finished) { + return; + } + const err = new RequestAbortedError(); + queueMicrotask(() => onFinished(err)); + }; + const onFinished = function(err) { + if (finished) { + return; + } + finished = true; + assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); + socket.off("drain", onDrain).off("error", onFinished); + body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); + if (!err) { + try { + writer.end(); + } catch (er2) { + err = er2; + } + } + writer.destroy(err); + if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + util2.destroy(body, err); + } else { + util2.destroy(body); + } + }; + body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); + if (body.resume) { + body.resume(); + } + socket.on("drain", onDrain).on("error", onFinished); + } + async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { + assert(contentLength === body.size, "blob body must have content length"); + const isH2 = client[kHTTPConnVersion] === "h2"; + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + if (isH2) { + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + } else { + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(buffer); + socket.uncork(); + } + request.onBodySent(buffer); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + resume(client); + } catch (err) { + util2.destroy(isH2 ? h2stream : socket, err); + } + } + async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); + } + } + const waitForDrain = () => new Promise((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + if (client[kHTTPConnVersion] === "h2") { + h2stream.on("close", onDrain).on("drain", onDrain); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + const res = h2stream.write(chunk); + request.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + } catch (err) { + h2stream.destroy(err); + } finally { + request.onRequestSent(); + h2stream.end(); + h2stream.off("close", onDrain).off("drain", onDrain); + } + return; + } + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + if (!writer.write(chunk)) { + await waitForDrain(); + } + } + writer.end(); + } catch (err) { + writer.destroy(err); + } finally { + socket.off("close", onDrain).off("drain", onDrain); + } + } + var AsyncWriter = class { + constructor({ socket, request, contentLength, client, expectsPayload, header }) { + this.socket = socket; + this.request = request; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + socket[kWriting] = true; + } + write(chunk) { + const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return false; + } + const len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + socket.cork(); + if (bytesWritten === 0) { + if (!expectsPayload) { + socket[kReset] = true; + } + if (contentLength === null) { + socket.write(`${header}transfer-encoding: chunked\r +`, "latin1"); + } else { + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + } + } + if (contentLength === null) { + socket.write(`\r +${len.toString(16)}\r +`, "latin1"); + } + this.bytesWritten += len; + const ret = socket.write(chunk); + socket.uncork(); + request.onBodySent(chunk); + if (!ret) { + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + } + return ret; + } + end() { + const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; + request.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return; + } + if (bytesWritten === 0) { + if (expectsPayload) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + socket.write(`${header}\r +`, "latin1"); + } + } else if (contentLength === null) { + socket.write("\r\n0\r\n\r\n", "latin1"); + } + if (contentLength !== null && bytesWritten !== contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } else { + process.emitWarning(new RequestContentLengthMismatchError()); + } + } + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + resume(client); + } + destroy(err) { + const { socket, client } = this; + socket[kWriting] = false; + if (err) { + assert(client[kRunning] <= 1, "pipeline should only contain this request"); + util2.destroy(socket, err); + } + } + }; + function errorRequest(client, request, err) { + try { + request.onError(err); + assert(request.aborted); + } catch (err2) { + client.emit("error", err2); + } + } + module2.exports = Client; + } +}); + +// node_modules/undici/lib/node/fixed-queue.js +var require_fixed_queue = __commonJS({ + "node_modules/undici/lib/node/fixed-queue.js"(exports, module2) { + "use strict"; + var kSize = 2048; + var kMask = kSize - 1; + var FixedCircularBuffer = class { + constructor() { + this.bottom = 0; + this.top = 0; + this.list = new Array(kSize); + this.next = null; + } + isEmpty() { + return this.top === this.bottom; + } + isFull() { + return (this.top + 1 & kMask) === this.bottom; + } + push(data) { + this.list[this.top] = data; + this.top = this.top + 1 & kMask; + } + shift() { + const nextItem = this.list[this.bottom]; + if (nextItem === void 0) + return null; + this.list[this.bottom] = void 0; + this.bottom = this.bottom + 1 & kMask; + return nextItem; + } + }; + module2.exports = class FixedQueue { + constructor() { + this.head = this.tail = new FixedCircularBuffer(); + } + isEmpty() { + return this.head.isEmpty(); + } + push(data) { + if (this.head.isFull()) { + this.head = this.head.next = new FixedCircularBuffer(); + } + this.head.push(data); + } + shift() { + const tail = this.tail; + const next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + this.tail = tail.next; + } + return next; + } + }; + } +}); + +// node_modules/undici/lib/pool-stats.js +var require_pool_stats = __commonJS({ + "node_modules/undici/lib/pool-stats.js"(exports, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); + var kPool = Symbol("pool"); + var PoolStats = class { + constructor(pool) { + this[kPool] = pool; + } + get connected() { + return this[kPool][kConnected]; + } + get free() { + return this[kPool][kFree]; + } + get pending() { + return this[kPool][kPending]; + } + get queued() { + return this[kPool][kQueued]; + } + get running() { + return this[kPool][kRunning]; + } + get size() { + return this[kPool][kSize]; + } + }; + module2.exports = PoolStats; + } +}); + +// node_modules/undici/lib/pool-base.js +var require_pool_base = __commonJS({ + "node_modules/undici/lib/pool-base.js"(exports, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base(); + var FixedQueue = require_fixed_queue(); + var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); + var PoolStats = require_pool_stats(); + var kClients = Symbol("clients"); + var kNeedDrain = Symbol("needDrain"); + var kQueue = Symbol("queue"); + var kClosedResolve = Symbol("closed resolve"); + var kOnDrain = Symbol("onDrain"); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kGetDispatcher = Symbol("get dispatcher"); + var kAddClient = Symbol("add client"); + var kRemoveClient = Symbol("remove client"); + var kStats = Symbol("stats"); + var PoolBase = class extends DispatcherBase { + constructor() { + super(); + this[kQueue] = new FixedQueue(); + this[kClients] = []; + this[kQueued] = 0; + const pool = this; + this[kOnDrain] = function onDrain(origin, targets) { + const queue = pool[kQueue]; + let needDrain = false; + while (!needDrain) { + const item = queue.shift(); + if (!item) { + break; + } + pool[kQueued]--; + needDrain = !this.dispatch(item.opts, item.handler); + } + this[kNeedDrain] = needDrain; + if (!this[kNeedDrain] && pool[kNeedDrain]) { + pool[kNeedDrain] = false; + pool.emit("drain", origin, [pool, ...targets]); + } + if (pool[kClosedResolve] && queue.isEmpty()) { + Promise.all(pool[kClients].map((c2) => c2.close())).then(pool[kClosedResolve]); + } + }; + this[kOnConnect] = (origin, targets) => { + pool.emit("connect", origin, [pool, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + pool.emit("disconnect", origin, [pool, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + pool.emit("connectionError", origin, [pool, ...targets], err); + }; + this[kStats] = new PoolStats(this); + } + get [kBusy]() { + return this[kNeedDrain]; + } + get [kConnected]() { + return this[kClients].filter((client) => client[kConnected]).length; + } + get [kFree]() { + return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + } + get [kPending]() { + let ret = this[kQueued]; + for (const { [kPending]: pending } of this[kClients]) { + ret += pending; + } + return ret; + } + get [kRunning]() { + let ret = 0; + for (const { [kRunning]: running } of this[kClients]) { + ret += running; + } + return ret; + } + get [kSize]() { + let ret = this[kQueued]; + for (const { [kSize]: size } of this[kClients]) { + ret += size; + } + return ret; + } + get stats() { + return this[kStats]; + } + async [kClose]() { + if (this[kQueue].isEmpty()) { + return Promise.all(this[kClients].map((c2) => c2.close())); + } else { + return new Promise((resolve) => { + this[kClosedResolve] = resolve; + }); + } + } + async [kDestroy](err) { + while (true) { + const item = this[kQueue].shift(); + if (!item) { + break; + } + item.handler.onError(err); + } + return Promise.all(this[kClients].map((c2) => c2.destroy(err))); + } + [kDispatch](opts, handler) { + const dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ opts, handler }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler)) { + dispatcher[kNeedDrain] = true; + this[kNeedDrain] = !this[kGetDispatcher](); + } + return !this[kNeedDrain]; + } + [kAddClient](client) { + client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + this[kClients].push(client); + if (this[kNeedDrain]) { + process.nextTick(() => { + if (this[kNeedDrain]) { + this[kOnDrain](client[kUrl], [this, client]); + } + }); + } + return this; + } + [kRemoveClient](client) { + client.close(() => { + const idx = this[kClients].indexOf(client); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } + }); + this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); + } + }; + module2.exports = { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + }; + } +}); + +// node_modules/undici/lib/pool.js +var require_pool = __commonJS({ + "node_modules/undici/lib/pool.js"(exports, module2) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher + } = require_pool_base(); + var Client = require_client(); + var { + InvalidArgumentError + } = require_errors(); + var util2 = require_util(); + var { kUrl, kInterceptors } = require_symbols(); + var buildConnector = require_connect(); + var kOptions = Symbol("options"); + var kConnections = Symbol("connections"); + var kFactory = Symbol("factory"); + function defaultFactory(origin, opts) { + return new Client(origin, opts); + } + var Pool = class extends PoolBase { + constructor(origin, { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + maxCachedSessions, + socketPath, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + ...options + } = {}) { + super(); + if (connections != null && (!Number.isFinite(connections) || connections < 0)) { + throw new InvalidArgumentError("invalid connections"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + if (connect != null && typeof connect !== "function" && typeof connect !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (typeof connect !== "function") { + connect = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect + }); + } + this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + this[kConnections] = connections || null; + this[kUrl] = util2.parseOrigin(origin); + this[kOptions] = { ...util2.deepClone(options), connect, allowH2 }; + this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; + this[kFactory] = factory; + } + [kGetDispatcher]() { + let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); + if (dispatcher) { + return dispatcher; + } + if (!this[kConnections] || this[kClients].length < this[kConnections]) { + dispatcher = this[kFactory](this[kUrl], this[kOptions]); + this[kAddClient](dispatcher); + } + return dispatcher; + } + }; + module2.exports = Pool; + } +}); + +// node_modules/undici/lib/balanced-pool.js +var require_balanced_pool = __commonJS({ + "node_modules/undici/lib/balanced-pool.js"(exports, module2) { + "use strict"; + var { + BalancedPoolMissingUpstreamError, + InvalidArgumentError + } = require_errors(); + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + } = require_pool_base(); + var Pool = require_pool(); + var { kUrl, kInterceptors } = require_symbols(); + var { parseOrigin } = require_util(); + var kFactory = Symbol("factory"); + var kOptions = Symbol("options"); + var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); + var kCurrentWeight = Symbol("kCurrentWeight"); + var kIndex = Symbol("kIndex"); + var kWeight = Symbol("kWeight"); + var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); + var kErrorPenalty = Symbol("kErrorPenalty"); + function getGreatestCommonDivisor(a3, b3) { + if (b3 === 0) + return a3; + return getGreatestCommonDivisor(b3, a3 % b3); + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } + var BalancedPool = class extends PoolBase { + constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { + super(); + this[kOptions] = opts; + this[kIndex] = -1; + this[kCurrentWeight] = 0; + this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; + this[kErrorPenalty] = this[kOptions].errorPenalty || 15; + if (!Array.isArray(upstreams)) { + upstreams = [upstreams]; + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kFactory] = factory; + for (const upstream of upstreams) { + this.addUpstream(upstream); + } + this._updateBalancedPoolStats(); + } + addUpstream(upstream) { + const upstreamOrigin = parseOrigin(upstream).origin; + if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { + return this; + } + const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); + this[kAddClient](pool); + pool.on("connect", () => { + pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); + }); + pool.on("connectionError", () => { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); + this._updateBalancedPoolStats(); + }); + pool.on("disconnect", (...args) => { + const err = args[2]; + if (err && err.code === "UND_ERR_SOCKET") { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); + this._updateBalancedPoolStats(); + } + }); + for (const client of this[kClients]) { + client[kWeight] = this[kMaxWeightPerServer]; + } + this._updateBalancedPoolStats(); + return this; + } + _updateBalancedPoolStats() { + this[kGreatestCommonDivisor] = this[kClients].map((p3) => p3[kWeight]).reduce(getGreatestCommonDivisor, 0); + } + removeUpstream(upstream) { + const upstreamOrigin = parseOrigin(upstream).origin; + const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); + if (pool) { + this[kRemoveClient](pool); + } + return this; + } + get upstreams() { + return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p3) => p3[kUrl].origin); + } + [kGetDispatcher]() { + if (this[kClients].length === 0) { + throw new BalancedPoolMissingUpstreamError(); + } + const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); + if (!dispatcher) { + return; + } + const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a3, b3) => a3 && b3, true); + if (allClientsBusy) { + return; + } + let counter = 0; + let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); + while (counter++ < this[kClients].length) { + this[kIndex] = (this[kIndex] + 1) % this[kClients].length; + const pool = this[kClients][this[kIndex]]; + if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { + maxWeightIndex = this[kIndex]; + } + if (this[kIndex] === 0) { + this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + if (this[kCurrentWeight] <= 0) { + this[kCurrentWeight] = this[kMaxWeightPerServer]; + } + } + if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { + return pool; + } + } + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; + this[kIndex] = maxWeightIndex; + return this[kClients][maxWeightIndex]; + } + }; + module2.exports = BalancedPool; + } +}); + +// node_modules/undici/lib/compat/dispatcher-weakref.js +var require_dispatcher_weakref = __commonJS({ + "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols(); + var CompatWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + } + }; + var CompatFinalizer = class { + constructor(finalizer) { + this.finalizer = finalizer; + } + register(dispatcher, key) { + if (dispatcher.on) { + dispatcher.on("disconnect", () => { + if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { + this.finalizer(key); + } + }); + } + } + }; + module2.exports = function() { + if (process.env.NODE_V8_COVERAGE) { + return { + WeakRef: CompatWeakRef, + FinalizationRegistry: CompatFinalizer + }; + } + return { + WeakRef: global.WeakRef || CompatWeakRef, + FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer + }; + }; + } +}); + +// node_modules/undici/lib/agent.js +var require_agent = __commonJS({ + "node_modules/undici/lib/agent.js"(exports, module2) { + "use strict"; + var { InvalidArgumentError } = require_errors(); + var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); + var DispatcherBase = require_dispatcher_base(); + var Pool = require_pool(); + var Client = require_client(); + var util2 = require_util(); + var createRedirectInterceptor = require_redirectInterceptor(); + var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kMaxRedirections = Symbol("maxRedirections"); + var kOnDrain = Symbol("onDrain"); + var kFactory = Symbol("factory"); + var kFinalizer = Symbol("finalizer"); + var kOptions = Symbol("options"); + function defaultFactory(origin, opts) { + return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); + } + var Agent = class extends DispatcherBase { + constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { + super(); + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + if (connect != null && typeof connect !== "function" && typeof connect !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + if (connect && typeof connect !== "function") { + connect = { ...connect }; + } + this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; + this[kOptions] = { ...util2.deepClone(options), connect }; + this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; + this[kMaxRedirections] = maxRedirections; + this[kFactory] = factory; + this[kClients] = /* @__PURE__ */ new Map(); + this[kFinalizer] = new FinalizationRegistry2((key) => { + const ref = this[kClients].get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this[kClients].delete(key); + } + }); + const agent = this; + this[kOnDrain] = (origin, targets) => { + agent.emit("drain", origin, [agent, ...targets]); + }; + this[kOnConnect] = (origin, targets) => { + agent.emit("connect", origin, [agent, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + agent.emit("disconnect", origin, [agent, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + agent.emit("connectionError", origin, [agent, ...targets], err); + }; + } + get [kRunning]() { + let ret = 0; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + ret += client[kRunning]; + } + } + return ret; + } + [kDispatch](opts, handler) { + let key; + if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { + key = String(opts.origin); + } else { + throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); + } + const ref = this[kClients].get(key); + let dispatcher = ref ? ref.deref() : null; + if (!dispatcher) { + dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + this[kClients].set(key, new WeakRef2(dispatcher)); + this[kFinalizer].register(dispatcher, key); + } + return dispatcher.dispatch(opts, handler); + } + async [kClose]() { + const closePromises = []; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + closePromises.push(client.close()); + } + } + await Promise.all(closePromises); + } + async [kDestroy](err) { + const destroyPromises = []; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + destroyPromises.push(client.destroy(err)); + } + } + await Promise.all(destroyPromises); + } + }; + module2.exports = Agent; + } +}); + +// node_modules/undici/lib/api/readable.js +var require_readable = __commonJS({ + "node_modules/undici/lib/api/readable.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { Readable: Readable3 } = require("stream"); + var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); + var util2 = require_util(); + var { ReadableStreamFrom, toUSVString } = require_util(); + var Blob4; + var kConsume = Symbol("kConsume"); + var kReading = Symbol("kReading"); + var kBody = Symbol("kBody"); + var kAbort = Symbol("abort"); + var kContentType = Symbol("kContentType"); + var noop2 = () => { + }; + module2.exports = class BodyReadable extends Readable3 { + constructor({ + resume, + abort, + contentType = "", + highWaterMark = 64 * 1024 + }) { + super({ + autoDestroy: true, + read: resume, + highWaterMark + }); + this._readableState.dataEmitted = false; + this[kAbort] = abort; + this[kConsume] = null; + this[kBody] = null; + this[kContentType] = contentType; + this[kReading] = false; + } + destroy(err) { + if (this.destroyed) { + return this; + } + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (err) { + this[kAbort](); + } + return super.destroy(err); + } + emit(ev, ...args) { + if (ev === "data") { + this._readableState.dataEmitted = true; + } else if (ev === "error") { + this._readableState.errorEmitted = true; + } + return super.emit(ev, ...args); + } + on(ev, ...args) { + if (ev === "data" || ev === "readable") { + this[kReading] = true; + } + return super.on(ev, ...args); + } + addListener(ev, ...args) { + return this.on(ev, ...args); + } + off(ev, ...args) { + const ret = super.off(ev, ...args); + if (ev === "data" || ev === "readable") { + this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + } + return ret; + } + removeListener(ev, ...args) { + return this.off(ev, ...args); + } + push(chunk) { + if (this[kConsume] && chunk !== null && this.readableLength === 0) { + consumePush(this[kConsume], chunk); + return this[kReading] ? super.push(chunk) : true; + } + return super.push(chunk); + } + async text() { + return consume(this, "text"); + } + async json() { + return consume(this, "json"); + } + async blob() { + return consume(this, "blob"); + } + async arrayBuffer() { + return consume(this, "arrayBuffer"); + } + async formData() { + throw new NotSupportedError(); + } + get bodyUsed() { + return util2.isDisturbed(this); + } + get body() { + if (!this[kBody]) { + this[kBody] = ReadableStreamFrom(this); + if (this[kConsume]) { + this[kBody].getReader(); + assert(this[kBody].locked); + } + } + return this[kBody]; + } + dump(opts) { + let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; + const signal = opts && opts.signal; + if (signal) { + try { + if (typeof signal !== "object" || !("aborted" in signal)) { + throw new InvalidArgumentError("signal must be an AbortSignal"); + } + util2.throwIfAborted(signal); + } catch (err) { + return Promise.reject(err); + } + } + if (this.closed) { + return Promise.resolve(null); + } + return new Promise((resolve, reject) => { + const signalListenerCleanup = signal ? util2.addAbortListener(signal, () => { + this.destroy(); + }) : noop2; + this.on("close", function() { + signalListenerCleanup(); + if (signal && signal.aborted) { + reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); + } else { + resolve(null); + } + }).on("error", noop2).on("data", function(chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }).resume(); + }); + } + }; + function isLocked(self2) { + return self2[kBody] && self2[kBody].locked === true || self2[kConsume]; + } + function isUnusable(self2) { + return util2.isDisturbed(self2) || isLocked(self2); + } + async function consume(stream4, type) { + if (isUnusable(stream4)) { + throw new TypeError("unusable"); + } + assert(!stream4[kConsume]); + return new Promise((resolve, reject) => { + stream4[kConsume] = { + type, + stream: stream4, + resolve, + reject, + length: 0, + body: [] + }; + stream4.on("error", function(err) { + consumeFinish(this[kConsume], err); + }).on("close", function() { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()); + } + }); + process.nextTick(consumeStart, stream4[kConsume]); + }); + } + function consumeStart(consume2) { + if (consume2.body === null) { + return; + } + const { _readableState: state } = consume2.stream; + for (const chunk of state.buffer) { + consumePush(consume2, chunk); + } + if (state.endEmitted) { + consumeEnd(this[kConsume]); + } else { + consume2.stream.on("end", function() { + consumeEnd(this[kConsume]); + }); + } + consume2.stream.resume(); + while (consume2.stream.read() != null) { + } + } + function consumeEnd(consume2) { + const { type, body, resolve, stream: stream4, length } = consume2; + try { + if (type === "text") { + resolve(toUSVString(Buffer.concat(body))); + } else if (type === "json") { + resolve(JSON.parse(Buffer.concat(body))); + } else if (type === "arrayBuffer") { + const dst = new Uint8Array(length); + let pos = 0; + for (const buf of body) { + dst.set(buf, pos); + pos += buf.byteLength; + } + resolve(dst.buffer); + } else if (type === "blob") { + if (!Blob4) { + Blob4 = require("buffer").Blob; + } + resolve(new Blob4(body, { type: stream4[kContentType] })); + } + consumeFinish(consume2); + } catch (err) { + stream4.destroy(err); + } + } + function consumePush(consume2, chunk) { + consume2.length += chunk.length; + consume2.body.push(chunk); + } + function consumeFinish(consume2, err) { + if (consume2.body === null) { + return; + } + if (err) { + consume2.reject(err); + } else { + consume2.resolve(); + } + consume2.type = null; + consume2.stream = null; + consume2.resolve = null; + consume2.reject = null; + consume2.length = 0; + consume2.body = null; + } + } +}); + +// node_modules/undici/lib/api/util.js +var require_util3 = __commonJS({ + "node_modules/undici/lib/api/util.js"(exports, module2) { + var assert = require("assert"); + var { + ResponseStatusCodeError + } = require_errors(); + var { toUSVString } = require_util(); + async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { + assert(body); + let chunks = []; + let limit = 0; + for await (const chunk of body) { + chunks.push(chunk); + limit += chunk.length; + if (limit > 128 * 1024) { + chunks = null; + break; + } + } + if (statusCode === 204 || !contentType || !chunks) { + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + return; + } + try { + if (contentType.startsWith("application/json")) { + const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); + return; + } + if (contentType.startsWith("text/")) { + const payload = toUSVString(Buffer.concat(chunks)); + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); + return; + } + } catch (err) { + } + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + } + module2.exports = { getResolveErrorBodyCallback }; + } +}); + +// node_modules/undici/lib/api/abort-signal.js +var require_abort_signal = __commonJS({ + "node_modules/undici/lib/api/abort-signal.js"(exports, module2) { + var { addAbortListener } = require_util(); + var { RequestAbortedError } = require_errors(); + var kListener = Symbol("kListener"); + var kSignal = Symbol("kSignal"); + function abort(self2) { + if (self2.abort) { + self2.abort(); + } else { + self2.onError(new RequestAbortedError()); + } + } + function addSignal(self2, signal) { + self2[kSignal] = null; + self2[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self2); + return; + } + self2[kSignal] = signal; + self2[kListener] = () => { + abort(self2); + }; + addAbortListener(self2[kSignal], self2[kListener]); + } + function removeSignal(self2) { + if (!self2[kSignal]) { + return; + } + if ("removeEventListener" in self2[kSignal]) { + self2[kSignal].removeEventListener("abort", self2[kListener]); + } else { + self2[kSignal].removeListener("abort", self2[kListener]); + } + self2[kSignal] = null; + self2[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/undici/lib/api/api-request.js +var require_api_request = __commonJS({ + "node_modules/undici/lib/api/api-request.js"(exports, module2) { + "use strict"; + var Readable3 = require_readable(); + var { + InvalidArgumentError, + RequestAbortedError + } = require_errors(); + var util2 = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var RequestHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { + throw new InvalidArgumentError("invalid highWaterMark"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_REQUEST"); + } catch (err) { + if (util2.isStream(body)) { + util2.destroy(body.on("error", util2.nop), err); + } + throw err; + } + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.callback = callback; + this.res = null; + this.abort = null; + this.body = body; + this.trailers = {}; + this.context = null; + this.onInfo = onInfo || null; + this.throwOnError = throwOnError; + this.highWaterMark = highWaterMark; + if (util2.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this; + const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders["content-type"]; + const body = new Readable3({ resume, abort, contentType, highWaterMark }); + this.callback = null; + this.res = body; + if (callback !== null) { + if (this.throwOnError && statusCode >= 400) { + this.runInAsyncScope( + getResolveErrorBodyCallback, + null, + { callback, body, contentType, statusCode, statusMessage, headers } + ); + } else { + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + trailers: this.trailers, + opaque, + body, + context: context2 + }); + } + } + } + onData(chunk) { + const { res } = this; + return res.push(chunk); + } + onComplete(trailers) { + const { res } = this; + removeSignal(this); + util2.parseHeaders(trailers, this.trailers); + res.push(null); + } + onError(err) { + const { res, callback, body, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (res) { + this.res = null; + queueMicrotask(() => { + util2.destroy(res, err); + }); + } + if (body) { + this.body = null; + util2.destroy(body, err); + } + } + }; + function request(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + request.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new RequestHandler(opts, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = request; + module2.exports.RequestHandler = RequestHandler; + } +}); + +// node_modules/undici/lib/api/api-stream.js +var require_api_stream = __commonJS({ + "node_modules/undici/lib/api/api-stream.js"(exports, module2) { + "use strict"; + var { finished, PassThrough } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util2 = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var StreamHandler = class extends AsyncResource { + constructor(opts, factory, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("invalid factory"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_STREAM"); + } catch (err) { + if (util2.isStream(body)) { + util2.destroy(body.on("error", util2.nop), err); + } + throw err; + } + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.factory = factory; + this.callback = callback; + this.res = null; + this.abort = null; + this.context = null; + this.trailers = null; + this.body = body; + this.onInfo = onInfo || null; + this.throwOnError = throwOnError || false; + if (util2.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { factory, opaque, context: context2, callback, responseHeaders } = this; + const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + this.factory = null; + let res; + if (this.throwOnError && statusCode >= 400) { + const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders["content-type"]; + res = new PassThrough(); + this.callback = null; + this.runInAsyncScope( + getResolveErrorBodyCallback, + null, + { callback, body: res, contentType, statusCode, statusMessage, headers } + ); + } else { + if (factory === null) { + return; + } + res = this.runInAsyncScope(factory, null, { + statusCode, + headers, + opaque, + context: context2 + }); + if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { + throw new InvalidReturnValueError("expected Writable"); + } + finished(res, { readable: false }, (err) => { + const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; + this.res = null; + if (err || !res2.readable) { + util2.destroy(res2, err); + } + this.callback = null; + this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); + if (err) { + abort(); + } + }); + } + res.on("drain", resume); + this.res = res; + const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; + return needDrain !== true; + } + onData(chunk) { + const { res } = this; + return res ? res.write(chunk) : true; + } + onComplete(trailers) { + const { res } = this; + removeSignal(this); + if (!res) { + return; + } + this.trailers = util2.parseHeaders(trailers); + res.end(); + } + onError(err) { + const { res, callback, opaque, body } = this; + removeSignal(this); + this.factory = null; + if (res) { + this.res = null; + util2.destroy(res, err); + } else if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (body) { + this.body = null; + util2.destroy(body, err); + } + } + }; + function stream4(opts, factory, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + stream4.call(this, opts, factory, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new StreamHandler(opts, factory, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = stream4; + } +}); + +// node_modules/undici/lib/api/api-pipeline.js +var require_api_pipeline = __commonJS({ + "node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { + "use strict"; + var { + Readable: Readable3, + Duplex, + PassThrough + } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util2 = require_util(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var kResume = Symbol("resume"); + var PipelineRequest = class extends Readable3 { + constructor() { + super({ autoDestroy: true }); + this[kResume] = null; + } + _read() { + const { [kResume]: resume } = this; + if (resume) { + this[kResume] = null; + resume(); + } + } + _destroy(err, callback) { + this._read(); + callback(err); + } + }; + var PipelineResponse = class extends Readable3 { + constructor(resume) { + super({ autoDestroy: true }); + this[kResume] = resume; + } + _read() { + this[kResume](); + } + _destroy(err, callback) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + callback(err); + } + }; + var PipelineHandler = class extends AsyncResource { + constructor(opts, handler) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof handler !== "function") { + throw new InvalidArgumentError("invalid handler"); + } + const { signal, method, opaque, onInfo, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_PIPELINE"); + this.opaque = opaque || null; + this.responseHeaders = responseHeaders || null; + this.handler = handler; + this.abort = null; + this.context = null; + this.onInfo = onInfo || null; + this.req = new PipelineRequest().on("error", util2.nop); + this.ret = new Duplex({ + readableObjectMode: opts.objectMode, + autoDestroy: true, + read: () => { + const { body } = this; + if (body && body.resume) { + body.resume(); + } + }, + write: (chunk, encoding, callback) => { + const { req } = this; + if (req.push(chunk, encoding) || req._readableState.destroyed) { + callback(); + } else { + req[kResume] = callback; + } + }, + destroy: (err, callback) => { + const { body, req, res, ret, abort } = this; + if (!err && !ret._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (abort && err) { + abort(); + } + util2.destroy(body, err); + util2.destroy(req, err); + util2.destroy(res, err); + removeSignal(this); + callback(err); + } + }).on("prefinish", () => { + const { req } = this; + req.push(null); + }); + this.res = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + const { ret, res } = this; + assert(!res, "pipeline cannot be retried"); + if (ret.destroyed) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume) { + const { opaque, handler, context: context2 } = this; + if (statusCode < 200) { + if (this.onInfo) { + const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + this.onInfo({ statusCode, headers }); + } + return; + } + this.res = new PipelineResponse(resume); + let body; + try { + this.handler = null; + const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + body = this.runInAsyncScope(handler, null, { + statusCode, + headers, + opaque, + body: this.res, + context: context2 + }); + } catch (err) { + this.res.on("error", util2.nop); + throw err; + } + if (!body || typeof body.on !== "function") { + throw new InvalidReturnValueError("expected Readable"); + } + body.on("data", (chunk) => { + const { ret, body: body2 } = this; + if (!ret.push(chunk) && body2.pause) { + body2.pause(); + } + }).on("error", (err) => { + const { ret } = this; + util2.destroy(ret, err); + }).on("end", () => { + const { ret } = this; + ret.push(null); + }).on("close", () => { + const { ret } = this; + if (!ret._readableState.ended) { + util2.destroy(ret, new RequestAbortedError()); + } + }); + this.body = body; + } + onData(chunk) { + const { res } = this; + return res.push(chunk); + } + onComplete(trailers) { + const { res } = this; + res.push(null); + } + onError(err) { + const { ret } = this; + this.handler = null; + util2.destroy(ret, err); + } + }; + function pipeline(opts, handler) { + try { + const pipelineHandler = new PipelineHandler(opts, handler); + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); + return pipelineHandler.ret; + } catch (err) { + return new PassThrough().destroy(err); + } + } + module2.exports = pipeline; + } +}); + +// node_modules/undici/lib/api/api-upgrade.js +var require_api_upgrade = __commonJS({ + "node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { + "use strict"; + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var { AsyncResource } = require("async_hooks"); + var util2 = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var UpgradeHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + const { signal, opaque, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_UPGRADE"); + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.callback = callback; + this.abort = null; + this.context = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = null; + } + onHeaders() { + throw new SocketError("bad upgrade", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context: context2 } = this; + assert.strictEqual(statusCode, 101); + removeSignal(this); + this.callback = null; + const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + this.runInAsyncScope(callback, null, null, { + headers, + socket, + opaque, + context: context2 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function upgrade(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + upgrade.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + const upgradeHandler = new UpgradeHandler(opts, callback); + this.dispatch({ + ...opts, + method: opts.method || "GET", + upgrade: opts.protocol || "Websocket" + }, upgradeHandler); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = upgrade; + } +}); + +// node_modules/undici/lib/api/api-connect.js +var require_api_connect = __commonJS({ + "node_modules/undici/lib/api/api-connect.js"(exports, module2) { + "use strict"; + var { AsyncResource } = require("async_hooks"); + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var util2 = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var ConnectHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + const { signal, opaque, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_CONNECT"); + this.opaque = opaque || null; + this.responseHeaders = responseHeaders || null; + this.callback = callback; + this.abort = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders() { + throw new SocketError("bad connect", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context: context2 } = this; + removeSignal(this); + this.callback = null; + let headers = rawHeaders; + if (headers != null) { + headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); + } + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + socket, + opaque, + context: context2 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function connect(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + connect.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + const connectHandler = new ConnectHandler(opts, callback); + this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = connect; + } +}); + +// node_modules/undici/lib/api/index.js +var require_api = __commonJS({ + "node_modules/undici/lib/api/index.js"(exports, module2) { + "use strict"; + module2.exports.request = require_api_request(); + module2.exports.stream = require_api_stream(); + module2.exports.pipeline = require_api_pipeline(); + module2.exports.upgrade = require_api_upgrade(); + module2.exports.connect = require_api_connect(); + } +}); + +// node_modules/undici/lib/mock/mock-errors.js +var require_mock_errors = __commonJS({ + "node_modules/undici/lib/mock/mock-errors.js"(exports, module2) { + "use strict"; + var { UndiciError } = require_errors(); + var MockNotMatchedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, MockNotMatchedError); + this.name = "MockNotMatchedError"; + this.message = message || "The request does not match any registered mock dispatches"; + this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; + } + }; + module2.exports = { + MockNotMatchedError + }; + } +}); + +// node_modules/undici/lib/mock/mock-symbols.js +var require_mock_symbols = __commonJS({ + "node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kAgent: Symbol("agent"), + kOptions: Symbol("options"), + kFactory: Symbol("factory"), + kDispatches: Symbol("dispatches"), + kDispatchKey: Symbol("dispatch key"), + kDefaultHeaders: Symbol("default headers"), + kDefaultTrailers: Symbol("default trailers"), + kContentLength: Symbol("content length"), + kMockAgent: Symbol("mock agent"), + kMockAgentSet: Symbol("mock agent set"), + kMockAgentGet: Symbol("mock agent get"), + kMockDispatch: Symbol("mock dispatch"), + kClose: Symbol("close"), + kOriginalClose: Symbol("original agent close"), + kOrigin: Symbol("origin"), + kIsMockActive: Symbol("is mock active"), + kNetConnect: Symbol("net connect"), + kGetNetConnect: Symbol("get net connect"), + kConnected: Symbol("connected") + }; + } +}); + +// node_modules/undici/lib/mock/mock-utils.js +var require_mock_utils = __commonJS({ + "node_modules/undici/lib/mock/mock-utils.js"(exports, module2) { + "use strict"; + var { MockNotMatchedError } = require_mock_errors(); + var { + kDispatches, + kMockAgent, + kOriginalDispatch, + kOrigin, + kGetNetConnect + } = require_mock_symbols(); + var { buildURL: buildURL2, nop } = require_util(); + var { STATUS_CODES } = require("http"); + var { + types: { + isPromise + } + } = require("util"); + function matchValue(match, value) { + if (typeof match === "string") { + return match === value; + } + if (match instanceof RegExp) { + return match.test(value); + } + if (typeof match === "function") { + return match(value) === true; + } + return false; + } + function lowerCaseEntries(headers) { + return Object.fromEntries( + Object.entries(headers).map(([headerName, headerValue]) => { + return [headerName.toLocaleLowerCase(), headerValue]; + }) + ); + } + function getHeaderByName(headers, key) { + if (Array.isArray(headers)) { + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (headers[i3].toLocaleLowerCase() === key.toLocaleLowerCase()) { + return headers[i3 + 1]; + } + } + return void 0; + } else if (typeof headers.get === "function") { + return headers.get(key); + } else { + return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; + } + } + function buildHeadersFromArray(headers) { + const clone = headers.slice(); + const entries = []; + for (let index = 0; index < clone.length; index += 2) { + entries.push([clone[index], clone[index + 1]]); + } + return Object.fromEntries(entries); + } + function matchHeaders(mockDispatch2, headers) { + if (typeof mockDispatch2.headers === "function") { + if (Array.isArray(headers)) { + headers = buildHeadersFromArray(headers); + } + return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); + } + if (typeof mockDispatch2.headers === "undefined") { + return true; + } + if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { + return false; + } + for (const [matchHeaderName, matchHeaderValue2] of Object.entries(mockDispatch2.headers)) { + const headerValue = getHeaderByName(headers, matchHeaderName); + if (!matchValue(matchHeaderValue2, headerValue)) { + return false; + } + } + return true; + } + function safeUrl(path2) { + if (typeof path2 !== "string") { + return path2; + } + const pathSegments = path2.split("?"); + if (pathSegments.length !== 2) { + return path2; + } + const qp = new URLSearchParams(pathSegments.pop()); + qp.sort(); + return [...pathSegments, qp.toString()].join("?"); + } + function matchKey(mockDispatch2, { path: path2, method, body, headers }) { + const pathMatch = matchValue(mockDispatch2.path, path2); + const methodMatch = matchValue(mockDispatch2.method, method); + const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; + const headersMatch = matchHeaders(mockDispatch2, headers); + return pathMatch && methodMatch && bodyMatch && headersMatch; + } + function getResponseData(data) { + if (Buffer.isBuffer(data)) { + return data; + } else if (typeof data === "object") { + return JSON.stringify(data); + } else { + return data.toString(); + } + } + function getMockDispatch(mockDispatches, key) { + const basePath2 = key.query ? buildURL2(key.path, key.query) : key.path; + const resolvedPath = typeof basePath2 === "string" ? safeUrl(basePath2) : basePath2; + let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + } + matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + } + return matchedMockDispatches[0]; + } + function addMockDispatch(mockDispatches, key, data) { + const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; + const replyData = typeof data === "function" ? { callback: data } : { ...data }; + const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; + mockDispatches.push(newMockDispatch); + return newMockDispatch; + } + function deleteMockDispatch(mockDispatches, key) { + const index = mockDispatches.findIndex((dispatch) => { + if (!dispatch.consumed) { + return false; + } + return matchKey(dispatch, key); + }); + if (index !== -1) { + mockDispatches.splice(index, 1); + } + } + function buildKey(opts) { + const { path: path2, method, body, headers, query } = opts; + return { + path: path2, + method, + body, + headers, + query + }; + } + function generateKeyValues(data) { + return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ + ...keyValuePairs, + Buffer.from(`${key}`), + Array.isArray(value) ? value.map((x2) => Buffer.from(`${x2}`)) : Buffer.from(`${value}`) + ], []); + } + function getStatusText(statusCode) { + return STATUS_CODES[statusCode] || "unknown"; + } + async function getResponse(body) { + const buffers = []; + for await (const data of body) { + buffers.push(data); + } + return Buffer.concat(buffers).toString("utf8"); + } + function mockDispatch(opts, handler) { + const key = buildKey(opts); + const mockDispatch2 = getMockDispatch(this[kDispatches], key); + mockDispatch2.timesInvoked++; + if (mockDispatch2.data.callback) { + mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; + } + const { data: { statusCode, data, headers, trailers, error }, delay: delay2, persist } = mockDispatch2; + const { timesInvoked, times } = mockDispatch2; + mockDispatch2.consumed = !persist && timesInvoked >= times; + mockDispatch2.pending = timesInvoked < times; + if (error !== null) { + deleteMockDispatch(this[kDispatches], key); + handler.onError(error); + return true; + } + if (typeof delay2 === "number" && delay2 > 0) { + setTimeout(() => { + handleReply(this[kDispatches]); + }, delay2); + } else { + handleReply(this[kDispatches]); + } + function handleReply(mockDispatches, _data = data) { + const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; + const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; + if (isPromise(body)) { + body.then((newData) => handleReply(mockDispatches, newData)); + return; + } + const responseData = getResponseData(body); + const responseHeaders = generateKeyValues(headers); + const responseTrailers = generateKeyValues(trailers); + handler.abort = nop; + handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); + handler.onData(Buffer.from(responseData)); + handler.onComplete(responseTrailers); + deleteMockDispatch(mockDispatches, key); + } + function resume() { + } + return true; + } + function buildMockDispatch() { + const agent = this[kMockAgent]; + const origin = this[kOrigin]; + const originalDispatch = this[kOriginalDispatch]; + return function dispatch(opts, handler) { + if (agent.isMockActive) { + try { + mockDispatch.call(this, opts, handler); + } catch (error) { + if (error instanceof MockNotMatchedError) { + const netConnect = agent[kGetNetConnect](); + if (netConnect === false) { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + } + if (checkNetConnect(netConnect, origin)) { + originalDispatch.call(this, opts, handler); + } else { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + } + } else { + throw error; + } + } + } else { + originalDispatch.call(this, opts, handler); + } + }; + } + function checkNetConnect(netConnect, origin) { + const url2 = new URL(origin); + if (netConnect === true) { + return true; + } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) { + return true; + } + return false; + } + function buildMockOptions(opts) { + if (opts) { + const { agent, ...mockOptions } = opts; + return mockOptions; + } + } + module2.exports = { + getResponseData, + getMockDispatch, + addMockDispatch, + deleteMockDispatch, + buildKey, + generateKeyValues, + matchValue, + getResponse, + getStatusText, + mockDispatch, + buildMockDispatch, + checkNetConnect, + buildMockOptions, + getHeaderByName + }; + } +}); + +// node_modules/undici/lib/mock/mock-interceptor.js +var require_mock_interceptor = __commonJS({ + "node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) { + "use strict"; + var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); + var { + kDispatches, + kDispatchKey, + kDefaultHeaders, + kDefaultTrailers, + kContentLength, + kMockDispatch + } = require_mock_symbols(); + var { InvalidArgumentError } = require_errors(); + var { buildURL: buildURL2 } = require_util(); + var MockScope = class { + constructor(mockDispatch) { + this[kMockDispatch] = mockDispatch; + } + delay(waitInMs) { + if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { + throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); + } + this[kMockDispatch].delay = waitInMs; + return this; + } + persist() { + this[kMockDispatch].persist = true; + return this; + } + times(repeatTimes) { + if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { + throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); + } + this[kMockDispatch].times = repeatTimes; + return this; + } + }; + var MockInterceptor = class { + constructor(opts, mockDispatches) { + if (typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object"); + } + if (typeof opts.path === "undefined") { + throw new InvalidArgumentError("opts.path must be defined"); + } + if (typeof opts.method === "undefined") { + opts.method = "GET"; + } + if (typeof opts.path === "string") { + if (opts.query) { + opts.path = buildURL2(opts.path, opts.query); + } else { + const parsedURL = new URL(opts.path, "data://"); + opts.path = parsedURL.pathname + parsedURL.search; + } + } + if (typeof opts.method === "string") { + opts.method = opts.method.toUpperCase(); + } + this[kDispatchKey] = buildKey(opts); + this[kDispatches] = mockDispatches; + this[kDefaultHeaders] = {}; + this[kDefaultTrailers] = {}; + this[kContentLength] = false; + } + createMockScopeDispatchData(statusCode, data, responseOptions = {}) { + const responseData = getResponseData(data); + const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; + const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; + const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; + return { statusCode, data, headers, trailers }; + } + validateReplyParameters(statusCode, data, responseOptions) { + if (typeof statusCode === "undefined") { + throw new InvalidArgumentError("statusCode must be defined"); + } + if (typeof data === "undefined") { + throw new InvalidArgumentError("data must be defined"); + } + if (typeof responseOptions !== "object") { + throw new InvalidArgumentError("responseOptions must be an object"); + } + } + reply(replyData) { + if (typeof replyData === "function") { + const wrappedDefaultsCallback = (opts) => { + const resolvedData = replyData(opts); + if (typeof resolvedData !== "object") { + throw new InvalidArgumentError("reply options callback must return an object"); + } + const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; + this.validateReplyParameters(statusCode2, data2, responseOptions2); + return { + ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) + }; + }; + const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); + return new MockScope(newMockDispatch2); + } + const [statusCode, data = "", responseOptions = {}] = [...arguments]; + this.validateReplyParameters(statusCode, data, responseOptions); + const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); + const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); + return new MockScope(newMockDispatch); + } + replyWithError(error) { + if (typeof error === "undefined") { + throw new InvalidArgumentError("error must be defined"); + } + const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); + return new MockScope(newMockDispatch); + } + defaultReplyHeaders(headers) { + if (typeof headers === "undefined") { + throw new InvalidArgumentError("headers must be defined"); + } + this[kDefaultHeaders] = headers; + return this; + } + defaultReplyTrailers(trailers) { + if (typeof trailers === "undefined") { + throw new InvalidArgumentError("trailers must be defined"); + } + this[kDefaultTrailers] = trailers; + return this; + } + replyContentLength() { + this[kContentLength] = true; + return this; + } + }; + module2.exports.MockInterceptor = MockInterceptor; + module2.exports.MockScope = MockScope; + } +}); + +// node_modules/undici/lib/mock/mock-client.js +var require_mock_client = __commonJS({ + "node_modules/undici/lib/mock/mock-client.js"(exports, module2) { + "use strict"; + var { promisify } = require("util"); + var Client = require_client(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + var MockClient = class extends Client { + constructor(origin, opts) { + super(origin, opts); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + this[kMockAgent] = opts.agent; + this[kOrigin] = origin; + this[kDispatches] = []; + this[kConnected] = 1; + this[kOriginalDispatch] = this.dispatch; + this[kOriginalClose] = this.close.bind(this); + this.dispatch = buildMockDispatch.call(this); + this.close = this[kClose]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockClient; + } +}); + +// node_modules/undici/lib/mock/mock-pool.js +var require_mock_pool = __commonJS({ + "node_modules/undici/lib/mock/mock-pool.js"(exports, module2) { + "use strict"; + var { promisify } = require("util"); + var Pool = require_pool(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + var MockPool = class extends Pool { + constructor(origin, opts) { + super(origin, opts); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + this[kMockAgent] = opts.agent; + this[kOrigin] = origin; + this[kDispatches] = []; + this[kConnected] = 1; + this[kOriginalDispatch] = this.dispatch; + this[kOriginalClose] = this.close.bind(this); + this.dispatch = buildMockDispatch.call(this); + this.close = this[kClose]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockPool; + } +}); + +// node_modules/undici/lib/mock/pluralizer.js +var require_pluralizer = __commonJS({ + "node_modules/undici/lib/mock/pluralizer.js"(exports, module2) { + "use strict"; + var singulars = { + pronoun: "it", + is: "is", + was: "was", + this: "this" + }; + var plurals = { + pronoun: "they", + is: "are", + was: "were", + this: "these" + }; + module2.exports = class Pluralizer { + constructor(singular, plural) { + this.singular = singular; + this.plural = plural; + } + pluralize(count) { + const one = count === 1; + const keys = one ? singulars : plurals; + const noun = one ? this.singular : this.plural; + return { ...keys, count, noun }; + } + }; + } +}); + +// node_modules/undici/lib/mock/pending-interceptors-formatter.js +var require_pending_interceptors_formatter = __commonJS({ + "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) { + "use strict"; + var { Transform } = require("stream"); + var { Console } = require("console"); + module2.exports = class PendingInterceptorsFormatter { + constructor({ disableColors } = {}) { + this.transform = new Transform({ + transform(chunk, _enc, cb) { + cb(null, chunk); + } + }); + this.logger = new Console({ + stdout: this.transform, + inspectOptions: { + colors: !disableColors && !process.env.CI + } + }); + } + format(pendingInterceptors) { + const withPrettyHeaders = pendingInterceptors.map( + ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + Method: method, + Origin: origin, + Path: path2, + "Status code": statusCode, + Persistent: persist ? "\u2705" : "\u274C", + Invocations: timesInvoked, + Remaining: persist ? Infinity : times - timesInvoked + }) + ); + this.logger.table(withPrettyHeaders); + return this.transform.read().toString(); + } + }; + } +}); + +// node_modules/undici/lib/mock/mock-agent.js +var require_mock_agent = __commonJS({ + "node_modules/undici/lib/mock/mock-agent.js"(exports, module2) { + "use strict"; + var { kClients } = require_symbols(); + var Agent = require_agent(); + var { + kAgent, + kMockAgentSet, + kMockAgentGet, + kDispatches, + kIsMockActive, + kNetConnect, + kGetNetConnect, + kOptions, + kFactory + } = require_mock_symbols(); + var MockClient = require_mock_client(); + var MockPool = require_mock_pool(); + var { matchValue, buildMockOptions } = require_mock_utils(); + var { InvalidArgumentError, UndiciError } = require_errors(); + var Dispatcher = require_dispatcher(); + var Pluralizer = require_pluralizer(); + var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); + var FakeWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value; + } + }; + var MockAgent = class extends Dispatcher { + constructor(opts) { + super(opts); + this[kNetConnect] = true; + this[kIsMockActive] = true; + if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + const agent = opts && opts.agent ? opts.agent : new Agent(opts); + this[kAgent] = agent; + this[kClients] = agent[kClients]; + this[kOptions] = buildMockOptions(opts); + } + get(origin) { + let dispatcher = this[kMockAgentGet](origin); + if (!dispatcher) { + dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); + } + return dispatcher; + } + dispatch(opts, handler) { + this.get(opts.origin); + return this[kAgent].dispatch(opts, handler); + } + async close() { + await this[kAgent].close(); + this[kClients].clear(); + } + deactivate() { + this[kIsMockActive] = false; + } + activate() { + this[kIsMockActive] = true; + } + enableNetConnect(matcher) { + if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { + if (Array.isArray(this[kNetConnect])) { + this[kNetConnect].push(matcher); + } else { + this[kNetConnect] = [matcher]; + } + } else if (typeof matcher === "undefined") { + this[kNetConnect] = true; + } else { + throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); + } + } + disableNetConnect() { + this[kNetConnect] = false; + } + get isMockActive() { + return this[kIsMockActive]; + } + [kMockAgentSet](origin, dispatcher) { + this[kClients].set(origin, new FakeWeakRef(dispatcher)); + } + [kFactory](origin) { + const mockOptions = Object.assign({ agent: this }, this[kOptions]); + return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); + } + [kMockAgentGet](origin) { + const ref = this[kClients].get(origin); + if (ref) { + return ref.deref(); + } + if (typeof origin !== "string") { + const dispatcher = this[kFactory]("http://localhost:9999"); + this[kMockAgentSet](origin, dispatcher); + return dispatcher; + } + for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { + const nonExplicitDispatcher = nonExplicitRef.deref(); + if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { + const dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); + dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; + return dispatcher; + } + } + } + [kGetNetConnect]() { + return this[kNetConnect]; + } + pendingInterceptors() { + const mockAgentClients = this[kClients]; + return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + } + assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { + const pending = this.pendingInterceptors(); + if (pending.length === 0) { + return; + } + const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); + throw new UndiciError(` +${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: + +${pendingInterceptorsFormatter.format(pending)} +`.trim()); + } + }; + module2.exports = MockAgent; + } +}); + +// node_modules/undici/lib/proxy-agent.js +var require_proxy_agent = __commonJS({ + "node_modules/undici/lib/proxy-agent.js"(exports, module2) { + "use strict"; + var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); + var { URL: URL2 } = require("url"); + var Agent = require_agent(); + var Pool = require_pool(); + var DispatcherBase = require_dispatcher_base(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); + var buildConnector = require_connect(); + var kAgent = Symbol("proxy agent"); + var kClient = Symbol("proxy client"); + var kProxyHeaders = Symbol("proxy headers"); + var kRequestTls = Symbol("request tls settings"); + var kProxyTls = Symbol("proxy tls settings"); + var kConnectEndpoint = Symbol("connect endpoint function"); + function defaultProtocolPort(protocol) { + return protocol === "https:" ? 443 : 80; + } + function buildProxyOptions(opts) { + if (typeof opts === "string") { + opts = { uri: opts }; + } + if (!opts || !opts.uri) { + throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + } + return { + uri: opts.uri, + protocol: opts.protocol || "https" + }; + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } + var ProxyAgent = class extends DispatcherBase { + constructor(opts) { + super(opts); + this[kProxy] = buildProxyOptions(opts); + this[kAgent] = new Agent(opts); + this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; + if (typeof opts === "string") { + opts = { uri: opts }; + } + if (!opts || !opts.uri) { + throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + } + const { clientFactory = defaultFactory } = opts; + if (typeof clientFactory !== "function") { + throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + } + this[kRequestTls] = opts.requestTls; + this[kProxyTls] = opts.proxyTls; + this[kProxyHeaders] = opts.headers || {}; + const resolvedUrl = new URL2(opts.uri); + const { origin, port, host, username, password } = resolvedUrl; + if (opts.auth && opts.token) { + throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); + } else if (opts.auth) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; + } else if (opts.token) { + this[kProxyHeaders]["proxy-authorization"] = opts.token; + } else if (username && password) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; + } + const connect = buildConnector({ ...opts.proxyTls }); + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); + this[kClient] = clientFactory(resolvedUrl, { connect }); + this[kAgent] = new Agent({ + ...opts, + connect: async (opts2, callback) => { + let requestedHost = opts2.host; + if (!opts2.port) { + requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; + } + try { + const { socket, statusCode } = await this[kClient].connect({ + origin, + port, + path: requestedHost, + signal: opts2.signal, + headers: { + ...this[kProxyHeaders], + host + } + }); + if (statusCode !== 200) { + socket.on("error", () => { + }).destroy(); + callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); + } + if (opts2.protocol !== "https:") { + callback(null, socket); + return; + } + let servername; + if (this[kRequestTls]) { + servername = this[kRequestTls].servername; + } else { + servername = opts2.servername; + } + this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + } catch (err) { + callback(err); + } + } + }); + } + dispatch(opts, handler) { + const { host } = new URL2(opts.origin); + const headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + return this[kAgent].dispatch( + { + ...opts, + headers: { + ...headers, + host + } + }, + handler + ); + } + async [kClose]() { + await this[kAgent].close(); + await this[kClient].close(); + } + async [kDestroy]() { + await this[kAgent].destroy(); + await this[kClient].destroy(); + } + }; + function buildHeaders(headers) { + if (Array.isArray(headers)) { + const headersPair = {}; + for (let i3 = 0; i3 < headers.length; i3 += 2) { + headersPair[headers[i3]] = headers[i3 + 1]; + } + return headersPair; + } + return headers; + } + function throwIfProxyAuthIsSent(headers) { + const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); + if (existProxyAuth) { + throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + } + } + module2.exports = ProxyAgent; + } +}); + +// node_modules/undici/lib/handler/RetryHandler.js +var require_RetryHandler = __commonJS({ + "node_modules/undici/lib/handler/RetryHandler.js"(exports, module2) { + var assert = require("assert"); + var { kRetryHandlerDefaultRetry } = require_symbols(); + var { RequestRetryError } = require_errors(); + var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); + function calculateRetryAfterHeader(retryAfter) { + const current = Date.now(); + const diff = new Date(retryAfter).getTime() - current; + return diff; + } + var RetryHandler = class { + constructor(opts, handlers) { + const { retryOptions, ...dispatchOpts } = opts; + const { + retry: retryFn, + maxRetries, + maxTimeout, + minTimeout, + timeoutFactor, + methods, + errorCodes, + retryAfter, + statusCodes + } = retryOptions ?? {}; + this.dispatch = handlers.dispatch; + this.handler = handlers.handler; + this.opts = dispatchOpts; + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry], + retryAfter: retryAfter ?? true, + maxTimeout: maxTimeout ?? 30 * 1e3, + timeout: minTimeout ?? 500, + timeoutFactor: timeoutFactor ?? 2, + maxRetries: maxRetries ?? 5, + methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + statusCodes: statusCodes ?? [500, 502, 503, 504, 429], + errorCodes: errorCodes ?? [ + "ECONNRESET", + "ECONNREFUSED", + "ENOTFOUND", + "ENETDOWN", + "ENETUNREACH", + "EHOSTDOWN", + "EHOSTUNREACH", + "EPIPE" + ] + }; + this.retryCount = 0; + this.start = 0; + this.end = null; + this.etag = null; + this.resume = null; + this.handler.onConnect((reason) => { + this.aborted = true; + if (this.abort) { + this.abort(reason); + } else { + this.reason = reason; + } + }); + } + onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); + } + } + onUpgrade(statusCode, headers, socket) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(statusCode, headers, socket); + } + } + onConnect(abort) { + if (this.aborted) { + abort(this.reason); + } else { + this.abort = abort; + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) + return this.handler.onBodySent(chunk); + } + static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { + const { statusCode, code, headers } = err; + const { method, retryOptions } = opts; + const { + maxRetries, + timeout, + maxTimeout, + timeoutFactor, + statusCodes, + errorCodes, + methods + } = retryOptions; + let { counter, currentTimeout } = state; + currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; + if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { + cb(err); + return; + } + if (Array.isArray(methods) && !methods.includes(method)) { + cb(err); + return; + } + if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { + cb(err); + return; + } + if (counter > maxRetries) { + cb(err); + return; + } + let retryAfterHeader = headers != null && headers["retry-after"]; + if (retryAfterHeader) { + retryAfterHeader = Number(retryAfterHeader); + retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + } + const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); + state.currentTimeout = retryTimeout; + setTimeout(() => cb(null), retryTimeout); + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = parseHeaders(rawHeaders); + this.retryCount += 1; + if (statusCode >= 300) { + this.abort( + new RequestRetryError("Request failed", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + if (this.resume != null) { + this.resume = null; + if (statusCode !== 206) { + return true; + } + const contentRange = parseRangeHeader(headers["content-range"]); + if (!contentRange) { + this.abort( + new RequestRetryError("Content-Range mismatch", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + if (this.etag != null && this.etag !== headers.etag) { + this.abort( + new RequestRetryError("ETag mismatch", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + const { start, size, end = size } = contentRange; + assert(this.start === start, "content-range mismatch"); + assert(this.end == null || this.end === end, "content-range mismatch"); + this.resume = resume; + return true; + } + if (this.end == null) { + if (statusCode === 206) { + const range = parseRangeHeader(headers["content-range"]); + if (range == null) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const { start, size, end = size } = range; + assert( + start != null && Number.isFinite(start) && this.start !== start, + "content-range mismatch" + ); + assert(Number.isFinite(start)); + assert( + end != null && Number.isFinite(end) && this.end !== end, + "invalid content-length" + ); + this.start = start; + this.end = end; + } + if (this.end == null) { + const contentLength = headers["content-length"]; + this.end = contentLength != null ? Number(contentLength) : null; + } + assert(Number.isFinite(this.start)); + assert( + this.end == null || Number.isFinite(this.end), + "invalid content-length" + ); + this.resume = resume; + this.etag = headers.etag != null ? headers.etag : null; + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const err = new RequestRetryError("Request failed", statusCode, { + headers, + count: this.retryCount + }); + this.abort(err); + return false; + } + onData(chunk) { + this.start += chunk.length; + return this.handler.onData(chunk); + } + onComplete(rawTrailers) { + this.retryCount = 0; + return this.handler.onComplete(rawTrailers); + } + onError(err) { + if (this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } + this.retryOpts.retry( + err, + { + state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, + opts: { retryOptions: this.retryOpts, ...this.opts } + }, + onRetry.bind(this) + ); + function onRetry(err2) { + if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err2); + } + if (this.start !== 0) { + this.opts = { + ...this.opts, + headers: { + ...this.opts.headers, + range: `bytes=${this.start}-${this.end ?? ""}` + } + }; + } + try { + this.dispatch(this.opts, this); + } catch (err3) { + this.handler.onError(err3); + } + } + } + }; + module2.exports = RetryHandler; + } +}); + +// node_modules/undici/lib/global.js +var require_global2 = __commonJS({ + "node_modules/undici/lib/global.js"(exports, module2) { + "use strict"; + var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); + var { InvalidArgumentError } = require_errors(); + var Agent = require_agent(); + if (getGlobalDispatcher() === void 0) { + setGlobalDispatcher(new Agent()); + } + function setGlobalDispatcher(agent) { + if (!agent || typeof agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument agent must implement Agent"); + } + Object.defineProperty(globalThis, globalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); + } + function getGlobalDispatcher() { + return globalThis[globalDispatcher]; + } + module2.exports = { + setGlobalDispatcher, + getGlobalDispatcher + }; + } +}); + +// node_modules/undici/lib/handler/DecoratorHandler.js +var require_DecoratorHandler = __commonJS({ + "node_modules/undici/lib/handler/DecoratorHandler.js"(exports, module2) { + "use strict"; + module2.exports = class DecoratorHandler { + constructor(handler) { + this.handler = handler; + } + onConnect(...args) { + return this.handler.onConnect(...args); + } + onError(...args) { + return this.handler.onError(...args); + } + onUpgrade(...args) { + return this.handler.onUpgrade(...args); + } + onHeaders(...args) { + return this.handler.onHeaders(...args); + } + onData(...args) { + return this.handler.onData(...args); + } + onComplete(...args) { + return this.handler.onComplete(...args); + } + onBodySent(...args) { + return this.handler.onBodySent(...args); + } + }; + } +}); + +// node_modules/undici/lib/fetch/headers.js +var require_headers = __commonJS({ + "node_modules/undici/lib/fetch/headers.js"(exports, module2) { + "use strict"; + var { kHeadersList, kConstruct } = require_symbols(); + var { kGuard } = require_symbols2(); + var { kEnumerableProperty } = require_util(); + var { + makeIterator, + isValidHeaderName: isValidHeaderName2, + isValidHeaderValue + } = require_util2(); + var { webidl } = require_webidl(); + var assert = require("assert"); + var kHeadersMap = Symbol("headers map"); + var kHeadersSortedMap = Symbol("headers map sorted"); + function isHTTPWhiteSpaceCharCode(code) { + return code === 10 || code === 13 || code === 9 || code === 32; + } + function headerValueNormalize(potentialValue) { + let i3 = 0; + let j4 = potentialValue.length; + while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j4 - 1))) + --j4; + while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i3))) + ++i3; + return i3 === 0 && j4 === potentialValue.length ? potentialValue : potentialValue.substring(i3, j4); + } + function fill(headers, object) { + if (Array.isArray(object)) { + for (let i3 = 0; i3 < object.length; ++i3) { + const header = object[i3]; + if (header.length !== 2) { + throw webidl.errors.exception({ + header: "Headers constructor", + message: `expected name/value pair to be length 2, found ${header.length}.` + }); + } + appendHeader(headers, header[0], header[1]); + } + } else if (typeof object === "object" && object !== null) { + const keys = Object.keys(object); + for (let i3 = 0; i3 < keys.length; ++i3) { + appendHeader(headers, keys[i3], object[keys[i3]]); + } + } else { + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"] + }); + } + } + function appendHeader(headers, name, value) { + value = headerValueNormalize(value); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value, + type: "header value" + }); + } + if (headers[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (headers[kGuard] === "request-no-cors") { + } + return headers[kHeadersList].append(name, value); + } + var HeadersList = class { + cookies = null; + constructor(init) { + if (init instanceof HeadersList) { + this[kHeadersMap] = new Map(init[kHeadersMap]); + this[kHeadersSortedMap] = init[kHeadersSortedMap]; + this.cookies = init.cookies === null ? null : [...init.cookies]; + } else { + this[kHeadersMap] = new Map(init); + this[kHeadersSortedMap] = null; + } + } + contains(name) { + name = name.toLowerCase(); + return this[kHeadersMap].has(name); + } + clear() { + this[kHeadersMap].clear(); + this[kHeadersSortedMap] = null; + this.cookies = null; + } + append(name, value) { + this[kHeadersSortedMap] = null; + const lowercaseName = name.toLowerCase(); + const exists = this[kHeadersMap].get(lowercaseName); + if (exists) { + const delimiter = lowercaseName === "cookie" ? "; " : ", "; + this[kHeadersMap].set(lowercaseName, { + name: exists.name, + value: `${exists.value}${delimiter}${value}` + }); + } else { + this[kHeadersMap].set(lowercaseName, { name, value }); + } + if (lowercaseName === "set-cookie") { + this.cookies ??= []; + this.cookies.push(value); + } + } + set(name, value) { + this[kHeadersSortedMap] = null; + const lowercaseName = name.toLowerCase(); + if (lowercaseName === "set-cookie") { + this.cookies = [value]; + } + this[kHeadersMap].set(lowercaseName, { name, value }); + } + delete(name) { + this[kHeadersSortedMap] = null; + name = name.toLowerCase(); + if (name === "set-cookie") { + this.cookies = null; + } + this[kHeadersMap].delete(name); + } + get(name) { + const value = this[kHeadersMap].get(name.toLowerCase()); + return value === void 0 ? null : value.value; + } + *[Symbol.iterator]() { + for (const [name, { value }] of this[kHeadersMap]) { + yield [name, value]; + } + } + get entries() { + const headers = {}; + if (this[kHeadersMap].size) { + for (const { name, value } of this[kHeadersMap].values()) { + headers[name] = value; + } + } + return headers; + } + }; + var Headers3 = class { + constructor(init = void 0) { + if (init === kConstruct) { + return; + } + this[kHeadersList] = new HeadersList(); + this[kGuard] = "none"; + if (init !== void 0) { + init = webidl.converters.HeadersInit(init); + fill(this, init); + } + } + append(name, value) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); + name = webidl.converters.ByteString(name); + value = webidl.converters.ByteString(value); + return appendHeader(this, name, value); + } + delete(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.delete", + value: name, + type: "header name" + }); + } + if (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + if (!this[kHeadersList].contains(name)) { + return; + } + this[kHeadersList].delete(name); + } + get(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.get", + value: name, + type: "header name" + }); + } + return this[kHeadersList].get(name); + } + has(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.has", + value: name, + type: "header name" + }); + } + return this[kHeadersList].contains(name); + } + set(name, value) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); + name = webidl.converters.ByteString(name); + value = webidl.converters.ByteString(value); + value = headerValueNormalize(value); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.set", + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.set", + value, + type: "header value" + }); + } + if (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + this[kHeadersList].set(name, value); + } + getSetCookie() { + webidl.brandCheck(this, Headers3); + const list = this[kHeadersList].cookies; + if (list) { + return [...list]; + } + return []; + } + get [kHeadersSortedMap]() { + if (this[kHeadersList][kHeadersSortedMap]) { + return this[kHeadersList][kHeadersSortedMap]; + } + const headers = []; + const names = [...this[kHeadersList]].sort((a3, b3) => a3[0] < b3[0] ? -1 : 1); + const cookies = this[kHeadersList].cookies; + for (let i3 = 0; i3 < names.length; ++i3) { + const [name, value] = names[i3]; + if (name === "set-cookie") { + for (let j4 = 0; j4 < cookies.length; ++j4) { + headers.push([name, cookies[j4]]); + } + } else { + assert(value !== null); + headers.push([name, value]); + } + } + this[kHeadersList][kHeadersSortedMap] = headers; + return headers; + } + keys() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "key" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "key" + ); + } + values() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "value" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "value" + ); + } + entries() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "key+value" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "key+value" + ); + } + forEach(callbackFn, thisArg = globalThis) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); + if (typeof callbackFn !== "function") { + throw new TypeError( + "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." + ); + } + for (const [key, value] of this) { + callbackFn.apply(thisArg, [value, key, this]); + } + } + [Symbol.for("nodejs.util.inspect.custom")]() { + webidl.brandCheck(this, Headers3); + return this[kHeadersList]; + } + }; + Headers3.prototype[Symbol.iterator] = Headers3.prototype.entries; + Object.defineProperties(Headers3.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, + getSetCookie: kEnumerableProperty, + keys: kEnumerableProperty, + values: kEnumerableProperty, + entries: kEnumerableProperty, + forEach: kEnumerableProperty, + [Symbol.iterator]: { enumerable: false }, + [Symbol.toStringTag]: { + value: "Headers", + configurable: true + } + }); + webidl.converters.HeadersInit = function(V4) { + if (webidl.util.Type(V4) === "Object") { + if (V4[Symbol.iterator]) { + return webidl.converters["sequence>"](V4); + } + return webidl.converters["record"](V4); + } + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"] + }); + }; + module2.exports = { + fill, + Headers: Headers3, + HeadersList + }; + } +}); + +// node_modules/undici/lib/fetch/response.js +var require_response = __commonJS({ + "node_modules/undici/lib/fetch/response.js"(exports, module2) { + "use strict"; + var { Headers: Headers3, HeadersList, fill } = require_headers(); + var { extractBody, cloneBody, mixinBody } = require_body(); + var util2 = require_util(); + var { kEnumerableProperty } = util2; + var { + isValidReasonPhrase, + isCancelled, + isAborted, + isBlobLike: isBlobLike2, + serializeJavascriptValueToJSONString, + isErrorLike, + isomorphicEncode + } = require_util2(); + var { + redirectStatusSet, + nullBodyStatus, + DOMException: DOMException3 + } = require_constants2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { FormData: FormData5 } = require_formdata(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { types } = require("util"); + var ReadableStream4 = globalThis.ReadableStream || require("stream/web").ReadableStream; + var textEncoder2 = new TextEncoder("utf-8"); + var Response3 = class { + static error() { + const relevantRealm = { settingsObject: {} }; + const responseObject = new Response3(); + responseObject[kState] = makeNetworkError(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + return responseObject; + } + static json(data, init = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + if (init !== null) { + init = webidl.converters.ResponseInit(init); + } + const bytes = textEncoder2.encode( + serializeJavascriptValueToJSONString(data) + ); + const body = extractBody(bytes); + const relevantRealm = { settingsObject: {} }; + const responseObject = new Response3(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kGuard] = "response"; + responseObject[kHeaders][kRealm] = relevantRealm; + initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); + return responseObject; + } + static redirect(url2, status = 302) { + const relevantRealm = { settingsObject: {} }; + webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); + url2 = webidl.converters.USVString(url2); + status = webidl.converters["unsigned short"](status); + let parsedURL; + try { + parsedURL = new URL(url2, getGlobalOrigin()); + } catch (err) { + throw Object.assign(new TypeError("Failed to parse URL from " + url2), { + cause: err + }); + } + if (!redirectStatusSet.has(status)) { + throw new RangeError("Invalid status code " + status); + } + const responseObject = new Response3(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + responseObject[kState].status = status; + const value = isomorphicEncode(URLSerializer(parsedURL)); + responseObject[kState].headersList.append("location", value); + return responseObject; + } + constructor(body = null, init = {}) { + if (body !== null) { + body = webidl.converters.BodyInit(body); + } + init = webidl.converters.ResponseInit(init); + this[kRealm] = { settingsObject: {} }; + this[kState] = makeResponse({}); + this[kHeaders] = new Headers3(kConstruct); + this[kHeaders][kGuard] = "response"; + this[kHeaders][kHeadersList] = this[kState].headersList; + this[kHeaders][kRealm] = this[kRealm]; + let bodyWithType = null; + if (body != null) { + const [extractedBody, type] = extractBody(body); + bodyWithType = { body: extractedBody, type }; + } + initializeResponse(this, init, bodyWithType); + } + get type() { + webidl.brandCheck(this, Response3); + return this[kState].type; + } + get url() { + webidl.brandCheck(this, Response3); + const urlList = this[kState].urlList; + const url2 = urlList[urlList.length - 1] ?? null; + if (url2 === null) { + return ""; + } + return URLSerializer(url2, true); + } + get redirected() { + webidl.brandCheck(this, Response3); + return this[kState].urlList.length > 1; + } + get status() { + webidl.brandCheck(this, Response3); + return this[kState].status; + } + get ok() { + webidl.brandCheck(this, Response3); + return this[kState].status >= 200 && this[kState].status <= 299; + } + get statusText() { + webidl.brandCheck(this, Response3); + return this[kState].statusText; + } + get headers() { + webidl.brandCheck(this, Response3); + return this[kHeaders]; + } + get body() { + webidl.brandCheck(this, Response3); + return this[kState].body ? this[kState].body.stream : null; + } + get bodyUsed() { + webidl.brandCheck(this, Response3); + return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); + } + clone() { + webidl.brandCheck(this, Response3); + if (this.bodyUsed || this.body && this.body.locked) { + throw webidl.errors.exception({ + header: "Response.clone", + message: "Body has already been consumed." + }); + } + const clonedResponse = cloneResponse(this[kState]); + const clonedResponseObject = new Response3(); + clonedResponseObject[kState] = clonedResponse; + clonedResponseObject[kRealm] = this[kRealm]; + clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; + clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; + clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; + return clonedResponseObject; + } + }; + mixinBody(Response3); + Object.defineProperties(Response3.prototype, { + type: kEnumerableProperty, + url: kEnumerableProperty, + status: kEnumerableProperty, + ok: kEnumerableProperty, + redirected: kEnumerableProperty, + statusText: kEnumerableProperty, + headers: kEnumerableProperty, + clone: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Response", + configurable: true + } + }); + Object.defineProperties(Response3, { + json: kEnumerableProperty, + redirect: kEnumerableProperty, + error: kEnumerableProperty + }); + function cloneResponse(response) { + if (response.internalResponse) { + return filterResponse( + cloneResponse(response.internalResponse), + response.type + ); + } + const newResponse = makeResponse({ ...response, body: null }); + if (response.body != null) { + newResponse.body = cloneBody(response.body); + } + return newResponse; + } + function makeResponse(init) { + return { + aborted: false, + rangeRequested: false, + timingAllowPassed: false, + requestIncludesCredentials: false, + type: "default", + status: 200, + timingInfo: null, + cacheState: "", + statusText: "", + ...init, + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), + urlList: init.urlList ? [...init.urlList] : [] + }; + } + function makeNetworkError(reason) { + const isError = isErrorLike(reason); + return makeResponse({ + type: "error", + status: 0, + error: isError ? reason : new Error(reason ? String(reason) : reason), + aborted: reason && reason.name === "AbortError" + }); + } + function makeFilteredResponse(response, state) { + state = { + internalResponse: response, + ...state + }; + return new Proxy(response, { + get(target, p3) { + return p3 in state ? state[p3] : target[p3]; + }, + set(target, p3, value) { + assert(!(p3 in state)); + target[p3] = value; + return true; + } + }); + } + function filterResponse(response, type) { + if (type === "basic") { + return makeFilteredResponse(response, { + type: "basic", + headersList: response.headersList + }); + } else if (type === "cors") { + return makeFilteredResponse(response, { + type: "cors", + headersList: response.headersList + }); + } else if (type === "opaque") { + return makeFilteredResponse(response, { + type: "opaque", + urlList: Object.freeze([]), + status: 0, + statusText: "", + body: null + }); + } else if (type === "opaqueredirect") { + return makeFilteredResponse(response, { + type: "opaqueredirect", + status: 0, + statusText: "", + headersList: [], + body: null + }); + } else { + assert(false); + } + } + function makeAppropriateNetworkError(fetchParams, err = null) { + assert(isCancelled(fetchParams)); + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException3("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException3("Request was cancelled."), { cause: err })); + } + function initializeResponse(response, init, body) { + if (init.status !== null && (init.status < 200 || init.status > 599)) { + throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + } + if ("statusText" in init && init.statusText != null) { + if (!isValidReasonPhrase(String(init.statusText))) { + throw new TypeError("Invalid statusText"); + } + } + if ("status" in init && init.status != null) { + response[kState].status = init.status; + } + if ("statusText" in init && init.statusText != null) { + response[kState].statusText = init.statusText; + } + if ("headers" in init && init.headers != null) { + fill(response[kHeaders], init.headers); + } + if (body) { + if (nullBodyStatus.includes(response.status)) { + throw webidl.errors.exception({ + header: "Response constructor", + message: "Invalid response status code " + response.status + }); + } + response[kState].body = body.body; + if (body.type != null && !response[kState].headersList.contains("Content-Type")) { + response[kState].headersList.append("content-type", body.type); + } + } + } + webidl.converters.ReadableStream = webidl.interfaceConverter( + ReadableStream4 + ); + webidl.converters.FormData = webidl.interfaceConverter( + FormData5 + ); + webidl.converters.URLSearchParams = webidl.interfaceConverter( + URLSearchParams + ); + webidl.converters.XMLHttpRequestBodyInit = function(V4) { + if (typeof V4 === "string") { + return webidl.converters.USVString(V4); + } + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (types.isArrayBuffer(V4) || types.isTypedArray(V4) || types.isDataView(V4)) { + return webidl.converters.BufferSource(V4); + } + if (util2.isFormDataLike(V4)) { + return webidl.converters.FormData(V4, { strict: false }); + } + if (V4 instanceof URLSearchParams) { + return webidl.converters.URLSearchParams(V4); + } + return webidl.converters.DOMString(V4); + }; + webidl.converters.BodyInit = function(V4) { + if (V4 instanceof ReadableStream4) { + return webidl.converters.ReadableStream(V4); + } + if (V4?.[Symbol.asyncIterator]) { + return V4; + } + return webidl.converters.XMLHttpRequestBodyInit(V4); + }; + webidl.converters.ResponseInit = webidl.dictionaryConverter([ + { + key: "status", + converter: webidl.converters["unsigned short"], + defaultValue: 200 + }, + { + key: "statusText", + converter: webidl.converters.ByteString, + defaultValue: "" + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + } + ]); + module2.exports = { + makeNetworkError, + makeResponse, + makeAppropriateNetworkError, + filterResponse, + Response: Response3, + cloneResponse + }; + } +}); + +// node_modules/undici/lib/fetch/request.js +var require_request2 = __commonJS({ + "node_modules/undici/lib/fetch/request.js"(exports, module2) { + "use strict"; + var { extractBody, mixinBody, cloneBody } = require_body(); + var { Headers: Headers3, fill: fillHeaders, HeadersList } = require_headers(); + var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); + var util2 = require_util(); + var { + isValidHTTPToken, + sameOrigin, + normalizeMethod, + makePolicyContainer, + normalizeMethodRecord + } = require_util2(); + var { + forbiddenMethodsSet, + corsSafeListedMethodsSet, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + requestDuplex + } = require_constants2(); + var { kEnumerableProperty } = util2; + var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); + var TransformStream2 = globalThis.TransformStream; + var kAbortController = Symbol("abortController"); + var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { + signal.removeEventListener("abort", abort); + }); + var Request3 = class { + constructor(input, init = {}) { + if (input === kConstruct) { + return; + } + webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); + input = webidl.converters.RequestInfo(input); + init = webidl.converters.RequestInit(init); + this[kRealm] = { + settingsObject: { + baseUrl: getGlobalOrigin(), + get origin() { + return this.baseUrl?.origin; + }, + policyContainer: makePolicyContainer() + } + }; + let request = null; + let fallbackMode = null; + const baseUrl = this[kRealm].settingsObject.baseUrl; + let signal = null; + if (typeof input === "string") { + let parsedURL; + try { + parsedURL = new URL(input, baseUrl); + } catch (err) { + throw new TypeError("Failed to parse URL from " + input, { cause: err }); + } + if (parsedURL.username || parsedURL.password) { + throw new TypeError( + "Request cannot be constructed from a URL that includes credentials: " + input + ); + } + request = makeRequest({ urlList: [parsedURL] }); + fallbackMode = "cors"; + } else { + assert(input instanceof Request3); + request = input[kState]; + signal = input[kSignal]; + } + const origin = this[kRealm].settingsObject.origin; + let window2 = "client"; + if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { + window2 = request.window; + } + if (init.window != null) { + throw new TypeError(`'window' option '${window2}' must be null`); + } + if ("window" in init) { + window2 = "no-window"; + } + request = makeRequest({ + method: request.method, + headersList: request.headersList, + unsafeRequest: request.unsafeRequest, + client: this[kRealm].settingsObject, + window: window2, + priority: request.priority, + origin: request.origin, + referrer: request.referrer, + referrerPolicy: request.referrerPolicy, + mode: request.mode, + credentials: request.credentials, + cache: request.cache, + redirect: request.redirect, + integrity: request.integrity, + keepalive: request.keepalive, + reloadNavigation: request.reloadNavigation, + historyNavigation: request.historyNavigation, + urlList: [...request.urlList] + }); + const initHasKey = Object.keys(init).length !== 0; + if (initHasKey) { + if (request.mode === "navigate") { + request.mode = "same-origin"; + } + request.reloadNavigation = false; + request.historyNavigation = false; + request.origin = "client"; + request.referrer = "client"; + request.referrerPolicy = ""; + request.url = request.urlList[request.urlList.length - 1]; + request.urlList = [request.url]; + } + if (init.referrer !== void 0) { + const referrer = init.referrer; + if (referrer === "") { + request.referrer = "no-referrer"; + } else { + let parsedReferrer; + try { + parsedReferrer = new URL(referrer, baseUrl); + } catch (err) { + throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); + } + if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { + request.referrer = "client"; + } else { + request.referrer = parsedReferrer; + } + } + } + if (init.referrerPolicy !== void 0) { + request.referrerPolicy = init.referrerPolicy; + } + let mode3; + if (init.mode !== void 0) { + mode3 = init.mode; + } else { + mode3 = fallbackMode; + } + if (mode3 === "navigate") { + throw webidl.errors.exception({ + header: "Request constructor", + message: "invalid request mode navigate." + }); + } + if (mode3 != null) { + request.mode = mode3; + } + if (init.credentials !== void 0) { + request.credentials = init.credentials; + } + if (init.cache !== void 0) { + request.cache = init.cache; + } + if (request.cache === "only-if-cached" && request.mode !== "same-origin") { + throw new TypeError( + "'only-if-cached' can be set only with 'same-origin' mode" + ); + } + if (init.redirect !== void 0) { + request.redirect = init.redirect; + } + if (init.integrity != null) { + request.integrity = String(init.integrity); + } + if (init.keepalive !== void 0) { + request.keepalive = Boolean(init.keepalive); + } + if (init.method !== void 0) { + let method = init.method; + if (!isValidHTTPToken(method)) { + throw new TypeError(`'${method}' is not a valid HTTP method.`); + } + if (forbiddenMethodsSet.has(method.toUpperCase())) { + throw new TypeError(`'${method}' HTTP method is unsupported.`); + } + method = normalizeMethodRecord[method] ?? normalizeMethod(method); + request.method = method; + } + if (init.signal !== void 0) { + signal = init.signal; + } + this[kState] = request; + const ac = new AbortController(); + this[kSignal] = ac.signal; + this[kSignal][kRealm] = this[kRealm]; + if (signal != null) { + if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { + throw new TypeError( + "Failed to construct 'Request': member signal is not of type AbortSignal." + ); + } + if (signal.aborted) { + ac.abort(signal.reason); + } else { + this[kAbortController] = ac; + const acRef = new WeakRef(ac); + const abort = function() { + const ac2 = acRef.deref(); + if (ac2 !== void 0) { + ac2.abort(this.reason); + } + }; + try { + if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { + setMaxListeners(100, signal); + } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { + setMaxListeners(100, signal); + } + } catch { + } + util2.addAbortListener(signal, abort); + requestFinalizer.register(ac, { signal, abort }); + } + } + this[kHeaders] = new Headers3(kConstruct); + this[kHeaders][kHeadersList] = request.headersList; + this[kHeaders][kGuard] = "request"; + this[kHeaders][kRealm] = this[kRealm]; + if (mode3 === "no-cors") { + if (!corsSafeListedMethodsSet.has(request.method)) { + throw new TypeError( + `'${request.method} is unsupported in no-cors mode.` + ); + } + this[kHeaders][kGuard] = "request-no-cors"; + } + if (initHasKey) { + const headersList = this[kHeaders][kHeadersList]; + const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); + headersList.clear(); + if (headers instanceof HeadersList) { + for (const [key, val] of headers) { + headersList.append(key, val); + } + headersList.cookies = headers.cookies; + } else { + fillHeaders(this[kHeaders], headers); + } + } + const inputBody = input instanceof Request3 ? input[kState].body : null; + if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body."); + } + let initBody = null; + if (init.body != null) { + const [extractedBody, contentType] = extractBody( + init.body, + request.keepalive + ); + initBody = extractedBody; + if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { + this[kHeaders].append("content-type", contentType); + } + } + const inputOrInitBody = initBody ?? inputBody; + if (inputOrInitBody != null && inputOrInitBody.source == null) { + if (initBody != null && init.duplex == null) { + throw new TypeError("RequestInit: duplex option is required when sending a body."); + } + if (request.mode !== "same-origin" && request.mode !== "cors") { + throw new TypeError( + 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' + ); + } + request.useCORSPreflightFlag = true; + } + let finalBody = inputOrInitBody; + if (initBody == null && inputBody != null) { + if (util2.isDisturbed(inputBody.stream) || inputBody.stream.locked) { + throw new TypeError( + "Cannot construct a Request with a Request object that has already been used." + ); + } + if (!TransformStream2) { + TransformStream2 = require("stream/web").TransformStream; + } + const identityTransform = new TransformStream2(); + inputBody.stream.pipeThrough(identityTransform); + finalBody = { + source: inputBody.source, + length: inputBody.length, + stream: identityTransform.readable + }; + } + this[kState].body = finalBody; + } + get method() { + webidl.brandCheck(this, Request3); + return this[kState].method; + } + get url() { + webidl.brandCheck(this, Request3); + return URLSerializer(this[kState].url); + } + get headers() { + webidl.brandCheck(this, Request3); + return this[kHeaders]; + } + get destination() { + webidl.brandCheck(this, Request3); + return this[kState].destination; + } + get referrer() { + webidl.brandCheck(this, Request3); + if (this[kState].referrer === "no-referrer") { + return ""; + } + if (this[kState].referrer === "client") { + return "about:client"; + } + return this[kState].referrer.toString(); + } + get referrerPolicy() { + webidl.brandCheck(this, Request3); + return this[kState].referrerPolicy; + } + get mode() { + webidl.brandCheck(this, Request3); + return this[kState].mode; + } + get credentials() { + return this[kState].credentials; + } + get cache() { + webidl.brandCheck(this, Request3); + return this[kState].cache; + } + get redirect() { + webidl.brandCheck(this, Request3); + return this[kState].redirect; + } + get integrity() { + webidl.brandCheck(this, Request3); + return this[kState].integrity; + } + get keepalive() { + webidl.brandCheck(this, Request3); + return this[kState].keepalive; + } + get isReloadNavigation() { + webidl.brandCheck(this, Request3); + return this[kState].reloadNavigation; + } + get isHistoryNavigation() { + webidl.brandCheck(this, Request3); + return this[kState].historyNavigation; + } + get signal() { + webidl.brandCheck(this, Request3); + return this[kSignal]; + } + get body() { + webidl.brandCheck(this, Request3); + return this[kState].body ? this[kState].body.stream : null; + } + get bodyUsed() { + webidl.brandCheck(this, Request3); + return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); + } + get duplex() { + webidl.brandCheck(this, Request3); + return "half"; + } + clone() { + webidl.brandCheck(this, Request3); + if (this.bodyUsed || this.body?.locked) { + throw new TypeError("unusable"); + } + const clonedRequest = cloneRequest(this[kState]); + const clonedRequestObject = new Request3(kConstruct); + clonedRequestObject[kState] = clonedRequest; + clonedRequestObject[kRealm] = this[kRealm]; + clonedRequestObject[kHeaders] = new Headers3(kConstruct); + clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; + clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; + clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; + const ac = new AbortController(); + if (this.signal.aborted) { + ac.abort(this.signal.reason); + } else { + util2.addAbortListener( + this.signal, + () => { + ac.abort(this.signal.reason); + } + ); + } + clonedRequestObject[kSignal] = ac.signal; + return clonedRequestObject; + } + }; + mixinBody(Request3); + function makeRequest(init) { + const request = { + method: "GET", + localURLsOnly: false, + unsafeRequest: false, + body: null, + client: null, + reservedClient: null, + replacesClientId: "", + window: "client", + keepalive: false, + serviceWorkers: "all", + initiator: "", + destination: "", + priority: null, + origin: "client", + policyContainer: "client", + referrer: "client", + referrerPolicy: "", + mode: "no-cors", + useCORSPreflightFlag: false, + credentials: "same-origin", + useCredentials: false, + cache: "default", + redirect: "follow", + integrity: "", + cryptoGraphicsNonceMetadata: "", + parserMetadata: "", + reloadNavigation: false, + historyNavigation: false, + userActivation: false, + taintedOrigin: false, + redirectCount: 0, + responseTainting: "basic", + preventNoCacheCacheControlHeaderModification: false, + done: false, + timingAllowFailed: false, + ...init, + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() + }; + request.url = request.urlList[0]; + return request; + } + function cloneRequest(request) { + const newRequest = makeRequest({ ...request, body: null }); + if (request.body != null) { + newRequest.body = cloneBody(request.body); + } + return newRequest; + } + Object.defineProperties(Request3.prototype, { + method: kEnumerableProperty, + url: kEnumerableProperty, + headers: kEnumerableProperty, + redirect: kEnumerableProperty, + clone: kEnumerableProperty, + signal: kEnumerableProperty, + duplex: kEnumerableProperty, + destination: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + isHistoryNavigation: kEnumerableProperty, + isReloadNavigation: kEnumerableProperty, + keepalive: kEnumerableProperty, + integrity: kEnumerableProperty, + cache: kEnumerableProperty, + credentials: kEnumerableProperty, + attribute: kEnumerableProperty, + referrerPolicy: kEnumerableProperty, + referrer: kEnumerableProperty, + mode: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Request", + configurable: true + } + }); + webidl.converters.Request = webidl.interfaceConverter( + Request3 + ); + webidl.converters.RequestInfo = function(V4) { + if (typeof V4 === "string") { + return webidl.converters.USVString(V4); + } + if (V4 instanceof Request3) { + return webidl.converters.Request(V4); + } + return webidl.converters.USVString(V4); + }; + webidl.converters.AbortSignal = webidl.interfaceConverter( + AbortSignal + ); + webidl.converters.RequestInit = webidl.dictionaryConverter([ + { + key: "method", + converter: webidl.converters.ByteString + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + }, + { + key: "body", + converter: webidl.nullableConverter( + webidl.converters.BodyInit + ) + }, + { + key: "referrer", + converter: webidl.converters.USVString + }, + { + key: "referrerPolicy", + converter: webidl.converters.DOMString, + allowedValues: referrerPolicy + }, + { + key: "mode", + converter: webidl.converters.DOMString, + allowedValues: requestMode + }, + { + key: "credentials", + converter: webidl.converters.DOMString, + allowedValues: requestCredentials + }, + { + key: "cache", + converter: webidl.converters.DOMString, + allowedValues: requestCache + }, + { + key: "redirect", + converter: webidl.converters.DOMString, + allowedValues: requestRedirect + }, + { + key: "integrity", + converter: webidl.converters.DOMString + }, + { + key: "keepalive", + converter: webidl.converters.boolean + }, + { + key: "signal", + converter: webidl.nullableConverter( + (signal) => webidl.converters.AbortSignal( + signal, + { strict: false } + ) + ) + }, + { + key: "window", + converter: webidl.converters.any + }, + { + key: "duplex", + converter: webidl.converters.DOMString, + allowedValues: requestDuplex + } + ]); + module2.exports = { Request: Request3, makeRequest }; + } +}); + +// node_modules/undici/lib/fetch/index.js +var require_fetch = __commonJS({ + "node_modules/undici/lib/fetch/index.js"(exports, module2) { + "use strict"; + var { + Response: Response3, + makeNetworkError, + makeAppropriateNetworkError, + filterResponse, + makeResponse + } = require_response(); + var { Headers: Headers3 } = require_headers(); + var { Request: Request3, makeRequest } = require_request2(); + var zlib2 = require("zlib"); + var { + bytesMatch, + makePolicyContainer, + clonePolicyContainer, + requestBadPort, + TAOCheck, + appendRequestOriginHeader, + responseLocationURL, + requestCurrentURL, + setRequestReferrerPolicyOnRedirect, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + createOpaqueTimingInfo, + appendFetchMetadata, + corsCheck, + crossOriginResourcePolicyCheck, + determineRequestsReferrer, + coarsenedSharedCurrentTime, + createDeferredPromise, + isBlobLike: isBlobLike2, + sameOrigin, + isCancelled, + isAborted, + isErrorLike, + fullyReadBody, + readableStreamClose, + isomorphicEncode, + urlIsLocal, + urlIsHttpHttpsScheme, + urlHasHttpsScheme + } = require_util2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var assert = require("assert"); + var { safelyExtractBody } = require_body(); + var { + redirectStatusSet, + nullBodyStatus, + safeMethodsSet, + requestBodyHeader, + subresourceSet, + DOMException: DOMException3 + } = require_constants2(); + var { kHeadersList } = require_symbols(); + var EE = require("events"); + var { Readable: Readable3, pipeline } = require("stream"); + var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); + var { dataURLProcessor, serializeAMimeType } = require_dataURL(); + var { TransformStream: TransformStream2 } = require("stream/web"); + var { getGlobalDispatcher } = require_global2(); + var { webidl } = require_webidl(); + var { STATUS_CODES } = require("http"); + var GET_OR_HEAD = ["GET", "HEAD"]; + var resolveObjectURL; + var ReadableStream4 = globalThis.ReadableStream; + var Fetch = class extends EE { + constructor(dispatcher) { + super(); + this.dispatcher = dispatcher; + this.connection = null; + this.dump = false; + this.state = "ongoing"; + this.setMaxListeners(21); + } + terminate(reason) { + if (this.state !== "ongoing") { + return; + } + this.state = "terminated"; + this.connection?.destroy(reason); + this.emit("terminated", reason); + } + abort(error) { + if (this.state !== "ongoing") { + return; + } + this.state = "aborted"; + if (!error) { + error = new DOMException3("The operation was aborted.", "AbortError"); + } + this.serializedAbortReason = error; + this.connection?.destroy(error); + this.emit("terminated", error); + } + }; + function fetch2(input, init = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); + const p3 = createDeferredPromise(); + let requestObject; + try { + requestObject = new Request3(input, init); + } catch (e3) { + p3.reject(e3); + return p3.promise; + } + const request = requestObject[kState]; + if (requestObject.signal.aborted) { + abortFetch(p3, request, null, requestObject.signal.reason); + return p3.promise; + } + const globalObject = request.client.globalObject; + if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { + request.serviceWorkers = "none"; + } + let responseObject = null; + const relevantRealm = null; + let locallyAborted = false; + let controller = null; + addAbortListener( + requestObject.signal, + () => { + locallyAborted = true; + assert(controller != null); + controller.abort(requestObject.signal.reason); + abortFetch(p3, request, responseObject, requestObject.signal.reason); + } + ); + const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); + const processResponse = (response) => { + if (locallyAborted) { + return Promise.resolve(); + } + if (response.aborted) { + abortFetch(p3, request, responseObject, controller.serializedAbortReason); + return Promise.resolve(); + } + if (response.type === "error") { + p3.reject( + Object.assign(new TypeError("fetch failed"), { cause: response.error }) + ); + return Promise.resolve(); + } + responseObject = new Response3(); + responseObject[kState] = response; + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kHeadersList] = response.headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + p3.resolve(responseObject); + }; + controller = fetching({ + request, + processResponseEndOfBody: handleFetchDone, + processResponse, + dispatcher: init.dispatcher ?? getGlobalDispatcher() + }); + return p3.promise; + } + function finalizeAndReportTiming(response, initiatorType = "other") { + if (response.type === "error" && response.aborted) { + return; + } + if (!response.urlList?.length) { + return; + } + const originalURL = response.urlList[0]; + let timingInfo = response.timingInfo; + let cacheState = response.cacheState; + if (!urlIsHttpHttpsScheme(originalURL)) { + return; + } + if (timingInfo === null) { + return; + } + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo({ + startTime: timingInfo.startTime + }); + cacheState = ""; + } + timingInfo.endTime = coarsenedSharedCurrentTime(); + response.timingInfo = timingInfo; + markResourceTiming( + timingInfo, + originalURL, + initiatorType, + globalThis, + cacheState + ); + } + function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { + if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { + performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); + } + } + function abortFetch(p3, request, responseObject, error) { + if (!error) { + error = new DOMException3("The operation was aborted.", "AbortError"); + } + p3.reject(error); + if (request.body != null && isReadable(request.body?.stream)) { + request.body.stream.cancel(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + if (responseObject == null) { + return; + } + const response = responseObject[kState]; + if (response.body != null && isReadable(response.body?.stream)) { + response.body.stream.cancel(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + } + function fetching({ + request, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseEndOfBody, + processResponseConsumeBody, + useParallelQueue = false, + dispatcher + }) { + let taskDestination = null; + let crossOriginIsolatedCapability = false; + if (request.client != null) { + taskDestination = request.client.globalObject; + crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; + } + const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const timingInfo = createOpaqueTimingInfo({ + startTime: currenTime + }); + const fetchParams = { + controller: new Fetch(dispatcher), + request, + timingInfo, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseConsumeBody, + processResponseEndOfBody, + taskDestination, + crossOriginIsolatedCapability + }; + assert(!request.body || request.body.stream); + if (request.window === "client") { + request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; + } + if (request.origin === "client") { + request.origin = request.client?.origin; + } + if (request.policyContainer === "client") { + if (request.client != null) { + request.policyContainer = clonePolicyContainer( + request.client.policyContainer + ); + } else { + request.policyContainer = makePolicyContainer(); + } + } + if (!request.headersList.contains("accept")) { + const value = "*/*"; + request.headersList.append("accept", value); + } + if (!request.headersList.contains("accept-language")) { + request.headersList.append("accept-language", "*"); + } + if (request.priority === null) { + } + if (subresourceSet.has(request.destination)) { + } + mainFetch(fetchParams).catch((err) => { + fetchParams.controller.terminate(err); + }); + return fetchParams.controller; + } + async function mainFetch(fetchParams, recursive = false) { + const request = fetchParams.request; + let response = null; + if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { + response = makeNetworkError("local URLs only"); + } + tryUpgradeRequestToAPotentiallyTrustworthyURL(request); + if (requestBadPort(request) === "blocked") { + response = makeNetworkError("bad port"); + } + if (request.referrerPolicy === "") { + request.referrerPolicy = request.policyContainer.referrerPolicy; + } + if (request.referrer !== "no-referrer") { + request.referrer = determineRequestsReferrer(request); + } + if (response === null) { + response = await (async () => { + const currentURL = requestCurrentURL(request); + if (sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || currentURL.protocol === "data:" || (request.mode === "navigate" || request.mode === "websocket")) { + request.responseTainting = "basic"; + return await schemeFetch(fetchParams); + } + if (request.mode === "same-origin") { + return makeNetworkError('request mode cannot be "same-origin"'); + } + if (request.mode === "no-cors") { + if (request.redirect !== "follow") { + return makeNetworkError( + 'redirect mode cannot be "follow" for "no-cors" request' + ); + } + request.responseTainting = "opaque"; + return await schemeFetch(fetchParams); + } + if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { + return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + } + request.responseTainting = "cors"; + return await httpFetch(fetchParams); + })(); + } + if (recursive) { + return response; + } + if (response.status !== 0 && !response.internalResponse) { + if (request.responseTainting === "cors") { + } + if (request.responseTainting === "basic") { + response = filterResponse(response, "basic"); + } else if (request.responseTainting === "cors") { + response = filterResponse(response, "cors"); + } else if (request.responseTainting === "opaque") { + response = filterResponse(response, "opaque"); + } else { + assert(false); + } + } + let internalResponse = response.status === 0 ? response : response.internalResponse; + if (internalResponse.urlList.length === 0) { + internalResponse.urlList.push(...request.urlList); + } + if (!request.timingAllowFailed) { + response.timingAllowPassed = true; + } + if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { + response = internalResponse = makeNetworkError(); + } + if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { + internalResponse.body = null; + fetchParams.controller.dump = true; + } + if (request.integrity) { + const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); + if (request.responseTainting === "opaque" || response.body == null) { + processBodyError(response.error); + return; + } + const processBody = (bytes) => { + if (!bytesMatch(bytes, request.integrity)) { + processBodyError("integrity mismatch"); + return; + } + response.body = safelyExtractBody(bytes)[0]; + fetchFinale(fetchParams, response); + }; + await fullyReadBody(response.body, processBody, processBodyError); + } else { + fetchFinale(fetchParams, response); + } + } + function schemeFetch(fetchParams) { + if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { + return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + } + const { request } = fetchParams; + const { protocol: scheme } = requestCurrentURL(request); + switch (scheme) { + case "about:": { + return Promise.resolve(makeNetworkError("about scheme is not supported")); + } + case "blob:": { + if (!resolveObjectURL) { + resolveObjectURL = require("buffer").resolveObjectURL; + } + const blobURLEntry = requestCurrentURL(request); + if (blobURLEntry.search.length !== 0) { + return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + } + const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); + if (request.method !== "GET" || !isBlobLike2(blobURLEntryObject)) { + return Promise.resolve(makeNetworkError("invalid method")); + } + const bodyWithType = safelyExtractBody(blobURLEntryObject); + const body = bodyWithType[0]; + const length = isomorphicEncode(`${body.length}`); + const type = bodyWithType[1] ?? ""; + const response = makeResponse({ + statusText: "OK", + headersList: [ + ["content-length", { name: "Content-Length", value: length }], + ["content-type", { name: "Content-Type", value: type }] + ] + }); + response.body = body; + return Promise.resolve(response); + } + case "data:": { + const currentURL = requestCurrentURL(request); + const dataURLStruct = dataURLProcessor(currentURL); + if (dataURLStruct === "failure") { + return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + } + const mimeType = serializeAMimeType(dataURLStruct.mimeType); + return Promise.resolve(makeResponse({ + statusText: "OK", + headersList: [ + ["content-type", { name: "Content-Type", value: mimeType }] + ], + body: safelyExtractBody(dataURLStruct.body)[0] + })); + } + case "file:": { + return Promise.resolve(makeNetworkError("not implemented... yet...")); + } + case "http:": + case "https:": { + return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); + } + default: { + return Promise.resolve(makeNetworkError("unknown scheme")); + } + } + } + function finalizeResponse(fetchParams, response) { + fetchParams.request.done = true; + if (fetchParams.processResponseDone != null) { + queueMicrotask(() => fetchParams.processResponseDone(response)); + } + } + function fetchFinale(fetchParams, response) { + if (response.type === "error") { + response.urlList = [fetchParams.request.urlList[0]]; + response.timingInfo = createOpaqueTimingInfo({ + startTime: fetchParams.timingInfo.startTime + }); + } + const processResponseEndOfBody = () => { + fetchParams.request.done = true; + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + } + }; + if (fetchParams.processResponse != null) { + queueMicrotask(() => fetchParams.processResponse(response)); + } + if (response.body == null) { + processResponseEndOfBody(); + } else { + const identityTransformAlgorithm = (chunk, controller) => { + controller.enqueue(chunk); + }; + const transformStream = new TransformStream2({ + start() { + }, + transform: identityTransformAlgorithm, + flush: processResponseEndOfBody + }, { + size() { + return 1; + } + }, { + size() { + return 1; + } + }); + response.body = { stream: response.body.stream.pipeThrough(transformStream) }; + } + if (fetchParams.processResponseConsumeBody != null) { + const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); + const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); + if (response.body == null) { + queueMicrotask(() => processBody(null)); + } else { + return fullyReadBody(response.body, processBody, processBodyError); + } + return Promise.resolve(); + } + } + async function httpFetch(fetchParams) { + const request = fetchParams.request; + let response = null; + let actualResponse = null; + const timingInfo = fetchParams.timingInfo; + if (request.serviceWorkers === "all") { + } + if (response === null) { + if (request.redirect === "follow") { + request.serviceWorkers = "none"; + } + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); + if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { + return makeNetworkError("cors failure"); + } + if (TAOCheck(request, response) === "failure") { + request.timingAllowFailed = true; + } + } + if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( + request.origin, + request.client, + request.destination, + actualResponse + ) === "blocked") { + return makeNetworkError("blocked"); + } + if (redirectStatusSet.has(actualResponse.status)) { + if (request.redirect !== "manual") { + fetchParams.controller.connection.destroy(); + } + if (request.redirect === "error") { + response = makeNetworkError("unexpected redirect"); + } else if (request.redirect === "manual") { + response = actualResponse; + } else if (request.redirect === "follow") { + response = await httpRedirectFetch(fetchParams, response); + } else { + assert(false); + } + } + response.timingInfo = timingInfo; + return response; + } + function httpRedirectFetch(fetchParams, response) { + const request = fetchParams.request; + const actualResponse = response.internalResponse ? response.internalResponse : response; + let locationURL; + try { + locationURL = responseLocationURL( + actualResponse, + requestCurrentURL(request).hash + ); + if (locationURL == null) { + return response; + } + } catch (err) { + return Promise.resolve(makeNetworkError(err)); + } + if (!urlIsHttpHttpsScheme(locationURL)) { + return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); + } + if (request.redirectCount === 20) { + return Promise.resolve(makeNetworkError("redirect count exceeded")); + } + request.redirectCount += 1; + if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { + return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + } + if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + )); + } + if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { + return Promise.resolve(makeNetworkError()); + } + if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { + request.method = "GET"; + request.body = null; + for (const headerName of requestBodyHeader) { + request.headersList.delete(headerName); + } + } + if (!sameOrigin(requestCurrentURL(request), locationURL)) { + request.headersList.delete("authorization"); + request.headersList.delete("proxy-authorization", true); + request.headersList.delete("cookie"); + request.headersList.delete("host"); + } + if (request.body != null) { + assert(request.body.source != null); + request.body = safelyExtractBody(request.body.source)[0]; + } + const timingInfo = fetchParams.timingInfo; + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + if (timingInfo.redirectStartTime === 0) { + timingInfo.redirectStartTime = timingInfo.startTime; + } + request.urlList.push(locationURL); + setRequestReferrerPolicyOnRedirect(request, actualResponse); + return mainFetch(fetchParams, true); + } + async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { + const request = fetchParams.request; + let httpFetchParams = null; + let httpRequest = null; + let response = null; + const httpCache = null; + const revalidatingFlag = false; + if (request.window === "no-window" && request.redirect === "error") { + httpFetchParams = fetchParams; + httpRequest = request; + } else { + httpRequest = makeRequest(request); + httpFetchParams = { ...fetchParams }; + httpFetchParams.request = httpRequest; + } + const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; + const contentLength = httpRequest.body ? httpRequest.body.length : null; + let contentLengthHeaderValue = null; + if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { + contentLengthHeaderValue = "0"; + } + if (contentLength != null) { + contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); + } + if (contentLengthHeaderValue != null) { + httpRequest.headersList.append("content-length", contentLengthHeaderValue); + } + if (contentLength != null && httpRequest.keepalive) { + } + if (httpRequest.referrer instanceof URL) { + httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); + } + appendRequestOriginHeader(httpRequest); + appendFetchMetadata(httpRequest); + if (!httpRequest.headersList.contains("user-agent")) { + httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + } + 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"))) { + httpRequest.cache = "no-store"; + } + if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { + httpRequest.headersList.append("cache-control", "max-age=0"); + } + if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { + if (!httpRequest.headersList.contains("pragma")) { + httpRequest.headersList.append("pragma", "no-cache"); + } + if (!httpRequest.headersList.contains("cache-control")) { + httpRequest.headersList.append("cache-control", "no-cache"); + } + } + if (httpRequest.headersList.contains("range")) { + httpRequest.headersList.append("accept-encoding", "identity"); + } + if (!httpRequest.headersList.contains("accept-encoding")) { + if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { + httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + } else { + httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + } + } + httpRequest.headersList.delete("host"); + if (includeCredentials) { + } + if (httpCache == null) { + httpRequest.cache = "no-store"; + } + if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + } + if (response == null) { + if (httpRequest.mode === "only-if-cached") { + return makeNetworkError("only if cached"); + } + const forwardResponse = await httpNetworkFetch( + httpFetchParams, + includeCredentials, + isNewConnectionFetch + ); + if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { + } + if (revalidatingFlag && forwardResponse.status === 304) { + } + if (response == null) { + response = forwardResponse; + } + } + response.urlList = [...httpRequest.urlList]; + if (httpRequest.headersList.contains("range")) { + response.rangeRequested = true; + } + response.requestIncludesCredentials = includeCredentials; + if (response.status === 407) { + if (request.window === "no-window") { + return makeNetworkError(); + } + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + return makeNetworkError("proxy authentication required"); + } + if (response.status === 421 && !isNewConnectionFetch && (request.body == null || request.body.source != null)) { + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + fetchParams.controller.connection.destroy(); + response = await httpNetworkOrCacheFetch( + fetchParams, + isAuthenticationFetch, + true + ); + } + if (isAuthenticationFetch) { + } + return response; + } + async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { + assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); + fetchParams.controller.connection = { + abort: null, + destroyed: false, + destroy(err) { + if (!this.destroyed) { + this.destroyed = true; + this.abort?.(err ?? new DOMException3("The operation was aborted.", "AbortError")); + } + } + }; + const request = fetchParams.request; + let response = null; + const timingInfo = fetchParams.timingInfo; + const httpCache = null; + if (httpCache == null) { + request.cache = "no-store"; + } + const newConnection = forceNewConnection ? "yes" : "no"; + if (request.mode === "websocket") { + } else { + } + let requestBody = null; + if (request.body == null && fetchParams.processRequestEndOfBody) { + queueMicrotask(() => fetchParams.processRequestEndOfBody()); + } else if (request.body != null) { + const processBodyChunk = async function* (bytes) { + if (isCancelled(fetchParams)) { + return; + } + yield bytes; + fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); + }; + const processEndOfBody = () => { + if (isCancelled(fetchParams)) { + return; + } + if (fetchParams.processRequestEndOfBody) { + fetchParams.processRequestEndOfBody(); + } + }; + const processBodyError = (e3) => { + if (isCancelled(fetchParams)) { + return; + } + if (e3.name === "AbortError") { + fetchParams.controller.abort(); + } else { + fetchParams.controller.terminate(e3); + } + }; + requestBody = async function* () { + try { + for await (const bytes of request.body.stream) { + yield* processBodyChunk(bytes); + } + processEndOfBody(); + } catch (err) { + processBodyError(err); + } + }(); + } + try { + const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + if (socket) { + response = makeResponse({ status, statusText, headersList, socket }); + } else { + const iterator = body[Symbol.asyncIterator](); + fetchParams.controller.next = () => iterator.next(); + response = makeResponse({ status, statusText, headersList }); + } + } catch (err) { + if (err.name === "AbortError") { + fetchParams.controller.connection.destroy(); + return makeAppropriateNetworkError(fetchParams, err); + } + return makeNetworkError(err); + } + const pullAlgorithm = () => { + fetchParams.controller.resume(); + }; + const cancelAlgorithm = (reason) => { + fetchParams.controller.abort(reason); + }; + if (!ReadableStream4) { + ReadableStream4 = require("stream/web").ReadableStream; + } + const stream4 = new ReadableStream4( + { + async start(controller) { + fetchParams.controller.controller = controller; + }, + async pull(controller) { + await pullAlgorithm(controller); + }, + async cancel(reason) { + await cancelAlgorithm(reason); + } + }, + { + highWaterMark: 0, + size() { + return 1; + } + } + ); + response.body = { stream: stream4 }; + fetchParams.controller.on("terminated", onAborted); + fetchParams.controller.resume = async () => { + while (true) { + let bytes; + let isFailure; + try { + const { done, value } = await fetchParams.controller.next(); + if (isAborted(fetchParams)) { + break; + } + bytes = done ? void 0 : value; + } catch (err) { + if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { + bytes = void 0; + } else { + bytes = err; + isFailure = true; + } + } + if (bytes === void 0) { + readableStreamClose(fetchParams.controller.controller); + finalizeResponse(fetchParams, response); + return; + } + timingInfo.decodedBodySize += bytes?.byteLength ?? 0; + if (isFailure) { + fetchParams.controller.terminate(bytes); + return; + } + fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + if (isErrored(stream4)) { + fetchParams.controller.terminate(); + return; + } + if (!fetchParams.controller.controller.desiredSize) { + return; + } + } + }; + function onAborted(reason) { + if (isAborted(fetchParams)) { + response.aborted = true; + if (isReadable(stream4)) { + fetchParams.controller.controller.error( + fetchParams.controller.serializedAbortReason + ); + } + } else { + if (isReadable(stream4)) { + fetchParams.controller.controller.error(new TypeError("terminated", { + cause: isErrorLike(reason) ? reason : void 0 + })); + } + } + fetchParams.controller.connection.destroy(); + } + return response; + async function dispatch({ body }) { + const url2 = requestCurrentURL(request); + const agent = fetchParams.controller.dispatcher; + return new Promise((resolve, reject) => agent.dispatch( + { + path: url2.pathname + url2.search, + origin: url2.origin, + method: request.method, + body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body, + headers: request.headersList.entries, + maxRedirections: 0, + upgrade: request.mode === "websocket" ? "websocket" : void 0 + }, + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller; + if (connection.destroyed) { + abort(new DOMException3("The operation was aborted.", "AbortError")); + } else { + fetchParams.controller.on("terminated", abort); + this.abort = connection.abort = abort; + } + }, + onHeaders(status, headersList, resume, statusText) { + if (status < 200) { + return; + } + let codings = []; + let location = ""; + const headers = new Headers3(); + if (Array.isArray(headersList)) { + for (let n2 = 0; n2 < headersList.length; n2 += 2) { + const key = headersList[n2 + 0].toString("latin1"); + const val = headersList[n2 + 1].toString("latin1"); + if (key.toLowerCase() === "content-encoding") { + codings = val.toLowerCase().split(",").map((x2) => x2.trim()); + } else if (key.toLowerCase() === "location") { + location = val; + } + headers[kHeadersList].append(key, val); + } + } else { + const keys = Object.keys(headersList); + for (const key of keys) { + const val = headersList[key]; + if (key.toLowerCase() === "content-encoding") { + codings = val.toLowerCase().split(",").map((x2) => x2.trim()).reverse(); + } else if (key.toLowerCase() === "location") { + location = val; + } + headers[kHeadersList].append(key, val); + } + } + this.body = new Readable3({ read: resume }); + const decoders = []; + const willFollow = request.redirect === "follow" && location && redirectStatusSet.has(status); + if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { + for (const coding of codings) { + if (coding === "x-gzip" || coding === "gzip") { + decoders.push(zlib2.createGunzip({ + flush: zlib2.constants.Z_SYNC_FLUSH, + finishFlush: zlib2.constants.Z_SYNC_FLUSH + })); + } else if (coding === "deflate") { + decoders.push(zlib2.createInflate()); + } else if (coding === "br") { + decoders.push(zlib2.createBrotliDecompress()); + } else { + decoders.length = 0; + break; + } + } + } + resolve({ + status, + statusText, + headersList: headers[kHeadersList], + body: decoders.length ? pipeline(this.body, ...decoders, () => { + }) : this.body.on("error", () => { + }) + }); + return true; + }, + onData(chunk) { + if (fetchParams.controller.dump) { + return; + } + const bytes = chunk; + timingInfo.encodedBodySize += bytes.byteLength; + return this.body.push(bytes); + }, + onComplete() { + if (this.abort) { + fetchParams.controller.off("terminated", this.abort); + } + fetchParams.controller.ended = true; + this.body.push(null); + }, + onError(error) { + if (this.abort) { + fetchParams.controller.off("terminated", this.abort); + } + this.body?.destroy(error); + fetchParams.controller.terminate(error); + reject(error); + }, + onUpgrade(status, headersList, socket) { + if (status !== 101) { + return; + } + const headers = new Headers3(); + for (let n2 = 0; n2 < headersList.length; n2 += 2) { + const key = headersList[n2 + 0].toString("latin1"); + const val = headersList[n2 + 1].toString("latin1"); + headers[kHeadersList].append(key, val); + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList: headers[kHeadersList], + socket + }); + return true; + } + } + )); + } + } + module2.exports = { + fetch: fetch2, + Fetch, + fetching, + finalizeAndReportTiming + }; + } +}); + +// node_modules/undici/lib/fileapi/symbols.js +var require_symbols3 = __commonJS({ + "node_modules/undici/lib/fileapi/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kState: Symbol("FileReader state"), + kResult: Symbol("FileReader result"), + kError: Symbol("FileReader error"), + kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), + kEvents: Symbol("FileReader events"), + kAborted: Symbol("FileReader aborted") + }; + } +}); + +// node_modules/undici/lib/fileapi/progressevent.js +var require_progressevent = __commonJS({ + "node_modules/undici/lib/fileapi/progressevent.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var kState = Symbol("ProgressEvent state"); + var ProgressEvent = class extends Event { + constructor(type, eventInitDict = {}) { + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); + super(type, eventInitDict); + this[kState] = { + lengthComputable: eventInitDict.lengthComputable, + loaded: eventInitDict.loaded, + total: eventInitDict.total + }; + } + get lengthComputable() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].lengthComputable; + } + get loaded() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].loaded; + } + get total() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].total; + } + }; + webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ + { + key: "lengthComputable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "loaded", + converter: webidl.converters["unsigned long long"], + defaultValue: 0 + }, + { + key: "total", + converter: webidl.converters["unsigned long long"], + defaultValue: 0 + }, + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: false + } + ]); + module2.exports = { + ProgressEvent + }; + } +}); + +// node_modules/undici/lib/fileapi/encoding.js +var require_encoding = __commonJS({ + "node_modules/undici/lib/fileapi/encoding.js"(exports, module2) { + "use strict"; + function getEncoding(label) { + if (!label) { + return "failure"; + } + switch (label.trim().toLowerCase()) { + case "unicode-1-1-utf-8": + case "unicode11utf8": + case "unicode20utf8": + case "utf-8": + case "utf8": + case "x-unicode20utf8": + return "UTF-8"; + case "866": + case "cp866": + case "csibm866": + case "ibm866": + return "IBM866"; + case "csisolatin2": + case "iso-8859-2": + case "iso-ir-101": + case "iso8859-2": + case "iso88592": + case "iso_8859-2": + case "iso_8859-2:1987": + case "l2": + case "latin2": + return "ISO-8859-2"; + case "csisolatin3": + case "iso-8859-3": + case "iso-ir-109": + case "iso8859-3": + case "iso88593": + case "iso_8859-3": + case "iso_8859-3:1988": + case "l3": + case "latin3": + return "ISO-8859-3"; + case "csisolatin4": + case "iso-8859-4": + case "iso-ir-110": + case "iso8859-4": + case "iso88594": + case "iso_8859-4": + case "iso_8859-4:1988": + case "l4": + case "latin4": + return "ISO-8859-4"; + case "csisolatincyrillic": + case "cyrillic": + case "iso-8859-5": + case "iso-ir-144": + case "iso8859-5": + case "iso88595": + case "iso_8859-5": + case "iso_8859-5:1988": + return "ISO-8859-5"; + case "arabic": + case "asmo-708": + case "csiso88596e": + case "csiso88596i": + case "csisolatinarabic": + case "ecma-114": + case "iso-8859-6": + case "iso-8859-6-e": + case "iso-8859-6-i": + case "iso-ir-127": + case "iso8859-6": + case "iso88596": + case "iso_8859-6": + case "iso_8859-6:1987": + return "ISO-8859-6"; + case "csisolatingreek": + case "ecma-118": + case "elot_928": + case "greek": + case "greek8": + case "iso-8859-7": + case "iso-ir-126": + case "iso8859-7": + case "iso88597": + case "iso_8859-7": + case "iso_8859-7:1987": + case "sun_eu_greek": + return "ISO-8859-7"; + case "csiso88598e": + case "csisolatinhebrew": + case "hebrew": + case "iso-8859-8": + case "iso-8859-8-e": + case "iso-ir-138": + case "iso8859-8": + case "iso88598": + case "iso_8859-8": + case "iso_8859-8:1988": + case "visual": + return "ISO-8859-8"; + case "csiso88598i": + case "iso-8859-8-i": + case "logical": + return "ISO-8859-8-I"; + case "csisolatin6": + case "iso-8859-10": + case "iso-ir-157": + case "iso8859-10": + case "iso885910": + case "l6": + case "latin6": + return "ISO-8859-10"; + case "iso-8859-13": + case "iso8859-13": + case "iso885913": + return "ISO-8859-13"; + case "iso-8859-14": + case "iso8859-14": + case "iso885914": + return "ISO-8859-14"; + case "csisolatin9": + case "iso-8859-15": + case "iso8859-15": + case "iso885915": + case "iso_8859-15": + case "l9": + return "ISO-8859-15"; + case "iso-8859-16": + return "ISO-8859-16"; + case "cskoi8r": + case "koi": + case "koi8": + case "koi8-r": + case "koi8_r": + return "KOI8-R"; + case "koi8-ru": + case "koi8-u": + return "KOI8-U"; + case "csmacintosh": + case "mac": + case "macintosh": + case "x-mac-roman": + return "macintosh"; + case "iso-8859-11": + case "iso8859-11": + case "iso885911": + case "tis-620": + case "windows-874": + return "windows-874"; + case "cp1250": + case "windows-1250": + case "x-cp1250": + return "windows-1250"; + case "cp1251": + case "windows-1251": + case "x-cp1251": + return "windows-1251"; + case "ansi_x3.4-1968": + case "ascii": + case "cp1252": + case "cp819": + case "csisolatin1": + case "ibm819": + case "iso-8859-1": + case "iso-ir-100": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "iso_8859-1:1987": + case "l1": + case "latin1": + case "us-ascii": + case "windows-1252": + case "x-cp1252": + return "windows-1252"; + case "cp1253": + case "windows-1253": + case "x-cp1253": + return "windows-1253"; + case "cp1254": + case "csisolatin5": + case "iso-8859-9": + case "iso-ir-148": + case "iso8859-9": + case "iso88599": + case "iso_8859-9": + case "iso_8859-9:1989": + case "l5": + case "latin5": + case "windows-1254": + case "x-cp1254": + return "windows-1254"; + case "cp1255": + case "windows-1255": + case "x-cp1255": + return "windows-1255"; + case "cp1256": + case "windows-1256": + case "x-cp1256": + return "windows-1256"; + case "cp1257": + case "windows-1257": + case "x-cp1257": + return "windows-1257"; + case "cp1258": + case "windows-1258": + case "x-cp1258": + return "windows-1258"; + case "x-mac-cyrillic": + case "x-mac-ukrainian": + return "x-mac-cyrillic"; + case "chinese": + case "csgb2312": + case "csiso58gb231280": + case "gb2312": + case "gb_2312": + case "gb_2312-80": + case "gbk": + case "iso-ir-58": + case "x-gbk": + return "GBK"; + case "gb18030": + return "gb18030"; + case "big5": + case "big5-hkscs": + case "cn-big5": + case "csbig5": + case "x-x-big5": + return "Big5"; + case "cseucpkdfmtjapanese": + case "euc-jp": + case "x-euc-jp": + return "EUC-JP"; + case "csiso2022jp": + case "iso-2022-jp": + return "ISO-2022-JP"; + case "csshiftjis": + case "ms932": + case "ms_kanji": + case "shift-jis": + case "shift_jis": + case "sjis": + case "windows-31j": + case "x-sjis": + return "Shift_JIS"; + case "cseuckr": + case "csksc56011987": + case "euc-kr": + case "iso-ir-149": + case "korean": + case "ks_c_5601-1987": + case "ks_c_5601-1989": + case "ksc5601": + case "ksc_5601": + case "windows-949": + return "EUC-KR"; + case "csiso2022kr": + case "hz-gb-2312": + case "iso-2022-cn": + case "iso-2022-cn-ext": + case "iso-2022-kr": + case "replacement": + return "replacement"; + case "unicodefffe": + case "utf-16be": + return "UTF-16BE"; + case "csunicode": + case "iso-10646-ucs-2": + case "ucs-2": + case "unicode": + case "unicodefeff": + case "utf-16": + case "utf-16le": + return "UTF-16LE"; + case "x-user-defined": + return "x-user-defined"; + default: + return "failure"; + } + } + module2.exports = { + getEncoding + }; + } +}); + +// node_modules/undici/lib/fileapi/util.js +var require_util4 = __commonJS({ + "node_modules/undici/lib/fileapi/util.js"(exports, module2) { + "use strict"; + var { + kState, + kError, + kResult, + kAborted, + kLastProgressEventFired + } = require_symbols3(); + var { ProgressEvent } = require_progressevent(); + var { getEncoding } = require_encoding(); + var { DOMException: DOMException3 } = require_constants2(); + var { serializeAMimeType, parseMIMEType } = require_dataURL(); + var { types } = require("util"); + var { StringDecoder } = require("string_decoder"); + var { btoa: btoa2 } = require("buffer"); + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + function readOperation(fr2, blob, type, encodingName) { + if (fr2[kState] === "loading") { + throw new DOMException3("Invalid state", "InvalidStateError"); + } + fr2[kState] = "loading"; + fr2[kResult] = null; + fr2[kError] = null; + const stream4 = blob.stream(); + const reader = stream4.getReader(); + const bytes = []; + let chunkPromise = reader.read(); + let isFirstChunk = true; + (async () => { + while (!fr2[kAborted]) { + try { + const { done, value } = await chunkPromise; + if (isFirstChunk && !fr2[kAborted]) { + queueMicrotask(() => { + fireAProgressEvent("loadstart", fr2); + }); + } + isFirstChunk = false; + if (!done && types.isUint8Array(value)) { + bytes.push(value); + if ((fr2[kLastProgressEventFired] === void 0 || Date.now() - fr2[kLastProgressEventFired] >= 50) && !fr2[kAborted]) { + fr2[kLastProgressEventFired] = Date.now(); + queueMicrotask(() => { + fireAProgressEvent("progress", fr2); + }); + } + chunkPromise = reader.read(); + } else if (done) { + queueMicrotask(() => { + fr2[kState] = "done"; + try { + const result = packageData(bytes, type, blob.type, encodingName); + if (fr2[kAborted]) { + return; + } + fr2[kResult] = result; + fireAProgressEvent("load", fr2); + } catch (error) { + fr2[kError] = error; + fireAProgressEvent("error", fr2); + } + if (fr2[kState] !== "loading") { + fireAProgressEvent("loadend", fr2); + } + }); + break; + } + } catch (error) { + if (fr2[kAborted]) { + return; + } + queueMicrotask(() => { + fr2[kState] = "done"; + fr2[kError] = error; + fireAProgressEvent("error", fr2); + if (fr2[kState] !== "loading") { + fireAProgressEvent("loadend", fr2); + } + }); + break; + } + } + })(); + } + function fireAProgressEvent(e3, reader) { + const event = new ProgressEvent(e3, { + bubbles: false, + cancelable: false + }); + reader.dispatchEvent(event); + } + function packageData(bytes, type, mimeType, encodingName) { + switch (type) { + case "DataURL": { + let dataURL = "data:"; + const parsed = parseMIMEType(mimeType || "application/octet-stream"); + if (parsed !== "failure") { + dataURL += serializeAMimeType(parsed); + } + dataURL += ";base64,"; + const decoder = new StringDecoder("latin1"); + for (const chunk of bytes) { + dataURL += btoa2(decoder.write(chunk)); + } + dataURL += btoa2(decoder.end()); + return dataURL; + } + case "Text": { + let encoding = "failure"; + if (encodingName) { + encoding = getEncoding(encodingName); + } + if (encoding === "failure" && mimeType) { + const type2 = parseMIMEType(mimeType); + if (type2 !== "failure") { + encoding = getEncoding(type2.parameters.get("charset")); + } + } + if (encoding === "failure") { + encoding = "UTF-8"; + } + return decode(bytes, encoding); + } + case "ArrayBuffer": { + const sequence = combineByteSequences(bytes); + return sequence.buffer; + } + case "BinaryString": { + let binaryString = ""; + const decoder = new StringDecoder("latin1"); + for (const chunk of bytes) { + binaryString += decoder.write(chunk); + } + binaryString += decoder.end(); + return binaryString; + } + } + } + function decode(ioQueue, encoding) { + const bytes = combineByteSequences(ioQueue); + const BOMEncoding = BOMSniffing(bytes); + let slice = 0; + if (BOMEncoding !== null) { + encoding = BOMEncoding; + slice = BOMEncoding === "UTF-8" ? 3 : 2; + } + const sliced = bytes.slice(slice); + return new TextDecoder(encoding).decode(sliced); + } + function BOMSniffing(ioQueue) { + const [a3, b3, c2] = ioQueue; + if (a3 === 239 && b3 === 187 && c2 === 191) { + return "UTF-8"; + } else if (a3 === 254 && b3 === 255) { + return "UTF-16BE"; + } else if (a3 === 255 && b3 === 254) { + return "UTF-16LE"; + } + return null; + } + function combineByteSequences(sequences) { + const size = sequences.reduce((a3, b3) => { + return a3 + b3.byteLength; + }, 0); + let offset = 0; + return sequences.reduce((a3, b3) => { + a3.set(b3, offset); + offset += b3.byteLength; + return a3; + }, new Uint8Array(size)); + } + module2.exports = { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + }; + } +}); + +// node_modules/undici/lib/fileapi/filereader.js +var require_filereader = __commonJS({ + "node_modules/undici/lib/fileapi/filereader.js"(exports, module2) { + "use strict"; + var { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + } = require_util4(); + var { + kState, + kError, + kResult, + kEvents, + kAborted + } = require_symbols3(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var FileReader = class extends EventTarget { + constructor() { + super(); + this[kState] = "empty"; + this[kResult] = null; + this[kError] = null; + this[kEvents] = { + loadend: null, + error: null, + abort: null, + load: null, + progress: null, + loadstart: null + }; + } + readAsArrayBuffer(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "ArrayBuffer"); + } + readAsBinaryString(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "BinaryString"); + } + readAsText(blob, encoding = void 0) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); + blob = webidl.converters.Blob(blob, { strict: false }); + if (encoding !== void 0) { + encoding = webidl.converters.DOMString(encoding); + } + readOperation(this, blob, "Text", encoding); + } + readAsDataURL(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "DataURL"); + } + abort() { + if (this[kState] === "empty" || this[kState] === "done") { + this[kResult] = null; + return; + } + if (this[kState] === "loading") { + this[kState] = "done"; + this[kResult] = null; + } + this[kAborted] = true; + fireAProgressEvent("abort", this); + if (this[kState] !== "loading") { + fireAProgressEvent("loadend", this); + } + } + get readyState() { + webidl.brandCheck(this, FileReader); + switch (this[kState]) { + case "empty": + return this.EMPTY; + case "loading": + return this.LOADING; + case "done": + return this.DONE; + } + } + get result() { + webidl.brandCheck(this, FileReader); + return this[kResult]; + } + get error() { + webidl.brandCheck(this, FileReader); + return this[kError]; + } + get onloadend() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadend; + } + set onloadend(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadend) { + this.removeEventListener("loadend", this[kEvents].loadend); + } + if (typeof fn === "function") { + this[kEvents].loadend = fn; + this.addEventListener("loadend", fn); + } else { + this[kEvents].loadend = null; + } + } + get onerror() { + webidl.brandCheck(this, FileReader); + return this[kEvents].error; + } + set onerror(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].error) { + this.removeEventListener("error", this[kEvents].error); + } + if (typeof fn === "function") { + this[kEvents].error = fn; + this.addEventListener("error", fn); + } else { + this[kEvents].error = null; + } + } + get onloadstart() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadstart; + } + set onloadstart(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadstart) { + this.removeEventListener("loadstart", this[kEvents].loadstart); + } + if (typeof fn === "function") { + this[kEvents].loadstart = fn; + this.addEventListener("loadstart", fn); + } else { + this[kEvents].loadstart = null; + } + } + get onprogress() { + webidl.brandCheck(this, FileReader); + return this[kEvents].progress; + } + set onprogress(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].progress) { + this.removeEventListener("progress", this[kEvents].progress); + } + if (typeof fn === "function") { + this[kEvents].progress = fn; + this.addEventListener("progress", fn); + } else { + this[kEvents].progress = null; + } + } + get onload() { + webidl.brandCheck(this, FileReader); + return this[kEvents].load; + } + set onload(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].load) { + this.removeEventListener("load", this[kEvents].load); + } + if (typeof fn === "function") { + this[kEvents].load = fn; + this.addEventListener("load", fn); + } else { + this[kEvents].load = null; + } + } + get onabort() { + webidl.brandCheck(this, FileReader); + return this[kEvents].abort; + } + set onabort(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].abort) { + this.removeEventListener("abort", this[kEvents].abort); + } + if (typeof fn === "function") { + this[kEvents].abort = fn; + this.addEventListener("abort", fn); + } else { + this[kEvents].abort = null; + } + } + }; + FileReader.EMPTY = FileReader.prototype.EMPTY = 0; + FileReader.LOADING = FileReader.prototype.LOADING = 1; + FileReader.DONE = FileReader.prototype.DONE = 2; + Object.defineProperties(FileReader.prototype, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors, + readAsArrayBuffer: kEnumerableProperty, + readAsBinaryString: kEnumerableProperty, + readAsText: kEnumerableProperty, + readAsDataURL: kEnumerableProperty, + abort: kEnumerableProperty, + readyState: kEnumerableProperty, + result: kEnumerableProperty, + error: kEnumerableProperty, + onloadstart: kEnumerableProperty, + onprogress: kEnumerableProperty, + onload: kEnumerableProperty, + onabort: kEnumerableProperty, + onerror: kEnumerableProperty, + onloadend: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "FileReader", + writable: false, + enumerable: false, + configurable: true + } + }); + Object.defineProperties(FileReader, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors + }); + module2.exports = { + FileReader + }; + } +}); + +// node_modules/undici/lib/cache/symbols.js +var require_symbols4 = __commonJS({ + "node_modules/undici/lib/cache/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kConstruct: require_symbols().kConstruct + }; + } +}); + +// node_modules/undici/lib/cache/util.js +var require_util5 = __commonJS({ + "node_modules/undici/lib/cache/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { URLSerializer } = require_dataURL(); + var { isValidHeaderName: isValidHeaderName2 } = require_util2(); + function urlEquals(A3, B2, excludeFragment = false) { + const serializedA = URLSerializer(A3, excludeFragment); + const serializedB = URLSerializer(B2, excludeFragment); + return serializedA === serializedB; + } + function fieldValues(header) { + assert(header !== null); + const values = []; + for (let value of header.split(",")) { + value = value.trim(); + if (!value.length) { + continue; + } else if (!isValidHeaderName2(value)) { + continue; + } + values.push(value); + } + return values; + } + module2.exports = { + urlEquals, + fieldValues + }; + } +}); + +// node_modules/undici/lib/cache/cache.js +var require_cache = __commonJS({ + "node_modules/undici/lib/cache/cache.js"(exports, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { urlEquals, fieldValues: getFieldValues } = require_util5(); + var { kEnumerableProperty, isDisturbed } = require_util(); + var { kHeadersList } = require_symbols(); + var { webidl } = require_webidl(); + var { Response: Response3, cloneResponse } = require_response(); + var { Request: Request3 } = require_request2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { fetching } = require_fetch(); + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); + var assert = require("assert"); + var { getGlobalDispatcher } = require_global2(); + var Cache = class { + #relevantRequestResponseList; + constructor() { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); + } + this.#relevantRequestResponseList = arguments[1]; + } + async match(request, options = {}) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + const p3 = await this.matchAll(request, options); + if (p3.length === 0) { + return; + } + return p3[0]; + } + async matchAll(request = void 0, options = {}) { + webidl.brandCheck(this, Cache); + if (request !== void 0) + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request !== void 0) { + if (request instanceof Request3) { + r3 = request[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request === "string") { + r3 = new Request3(request)[kState]; + } + } + const responses = []; + if (request === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + responses.push(requestResponse[1]); + } + } else { + const requestResponses = this.#queryCache(r3, options); + for (const requestResponse of requestResponses) { + responses.push(requestResponse[1]); + } + } + const responseList = []; + for (const response of responses) { + const responseObject = new Response3(response.body?.source ?? null); + const body = responseObject[kState].body; + responseObject[kState] = response; + responseObject[kState].body = body; + responseObject[kHeaders][kHeadersList] = response.headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseList.push(responseObject); + } + return Object.freeze(responseList); + } + async add(request) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); + request = webidl.converters.RequestInfo(request); + const requests = [request]; + const responseArrayPromise = this.addAll(requests); + return await responseArrayPromise; + } + async addAll(requests) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); + requests = webidl.converters["sequence"](requests); + const responsePromises = []; + const requestList = []; + for (const request of requests) { + if (typeof request === "string") { + continue; + } + const r3 = request[kState]; + if (!urlIsHttpHttpsScheme(r3.url) || r3.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.addAll", + message: "Expected http/s scheme when method is not GET." + }); + } + } + const fetchControllers = []; + for (const request of requests) { + const r3 = new Request3(request)[kState]; + if (!urlIsHttpHttpsScheme(r3.url)) { + throw webidl.errors.exception({ + header: "Cache.addAll", + message: "Expected http/s scheme." + }); + } + r3.initiator = "fetch"; + r3.destination = "subresource"; + requestList.push(r3); + const responsePromise = createDeferredPromise(); + fetchControllers.push(fetching({ + request: r3, + dispatcher: getGlobalDispatcher(), + processResponse(response) { + if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { + responsePromise.reject(webidl.errors.exception({ + header: "Cache.addAll", + message: "Received an invalid status code or the request failed." + })); + } else if (response.headersList.contains("vary")) { + const fieldValues = getFieldValues(response.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + responsePromise.reject(webidl.errors.exception({ + header: "Cache.addAll", + message: "invalid vary field value" + })); + for (const controller of fetchControllers) { + controller.abort(); + } + return; + } + } + } + }, + processResponseEndOfBody(response) { + if (response.aborted) { + responsePromise.reject(new DOMException("aborted", "AbortError")); + return; + } + responsePromise.resolve(response); + } + })); + responsePromises.push(responsePromise.promise); + } + const p3 = Promise.all(responsePromises); + const responses = await p3; + const operations = []; + let index = 0; + for (const response of responses) { + const operation = { + type: "put", + request: requestList[index], + response + }; + operations.push(operation); + index++; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(void 0); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async put(request, response) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); + request = webidl.converters.RequestInfo(request); + response = webidl.converters.Response(response); + let innerRequest = null; + if (request instanceof Request3) { + innerRequest = request[kState]; + } else { + innerRequest = new Request3(request)[kState]; + } + if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Expected an http/s scheme when method is not GET" + }); + } + const innerResponse = response[kState]; + if (innerResponse.status === 206) { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Got 206 status" + }); + } + if (innerResponse.headersList.contains("vary")) { + const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Got * vary field value" + }); + } + } + } + if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Response body is locked or disturbed" + }); + } + const clonedResponse = cloneResponse(innerResponse); + const bodyReadPromise = createDeferredPromise(); + if (innerResponse.body != null) { + const stream4 = innerResponse.body.stream; + const reader = stream4.getReader(); + readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); + } else { + bodyReadPromise.resolve(void 0); + } + const operations = []; + const operation = { + type: "put", + request: innerRequest, + response: clonedResponse + }; + operations.push(operation); + const bytes = await bodyReadPromise.promise; + if (clonedResponse.body != null) { + clonedResponse.body.source = bytes; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async delete(request, options = {}) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request instanceof Request3) { + r3 = request[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return false; + } + } else { + assert(typeof request === "string"); + r3 = new Request3(request)[kState]; + } + const operations = []; + const operation = { + type: "delete", + request: r3, + options + }; + operations.push(operation); + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + let requestResponses; + try { + requestResponses = this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(!!requestResponses?.length); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async keys(request = void 0, options = {}) { + webidl.brandCheck(this, Cache); + if (request !== void 0) + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request !== void 0) { + if (request instanceof Request3) { + r3 = request[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request === "string") { + r3 = new Request3(request)[kState]; + } + } + const promise = createDeferredPromise(); + const requests = []; + if (request === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + requests.push(requestResponse[0]); + } + } else { + const requestResponses = this.#queryCache(r3, options); + for (const requestResponse of requestResponses) { + requests.push(requestResponse[0]); + } + } + queueMicrotask(() => { + const requestList = []; + for (const request2 of requests) { + const requestObject = new Request3("https://a"); + requestObject[kState] = request2; + requestObject[kHeaders][kHeadersList] = request2.headersList; + requestObject[kHeaders][kGuard] = "immutable"; + requestObject[kRealm] = request2.client; + requestList.push(requestObject); + } + promise.resolve(Object.freeze(requestList)); + }); + return promise.promise; + } + #batchCacheOperations(operations) { + const cache = this.#relevantRequestResponseList; + const backupCache = [...cache]; + const addedItems = []; + const resultList = []; + try { + for (const operation of operations) { + if (operation.type !== "delete" && operation.type !== "put") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: 'operation type does not match "delete" or "put"' + }); + } + if (operation.type === "delete" && operation.response != null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "delete operation should not have an associated response" + }); + } + if (this.#queryCache(operation.request, operation.options, addedItems).length) { + throw new DOMException("???", "InvalidStateError"); + } + let requestResponses; + if (operation.type === "delete") { + requestResponses = this.#queryCache(operation.request, operation.options); + if (requestResponses.length === 0) { + return []; + } + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + } else if (operation.type === "put") { + if (operation.response == null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "put operation should have an associated response" + }); + } + const r3 = operation.request; + if (!urlIsHttpHttpsScheme(r3.url)) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "expected http or https scheme" + }); + } + if (r3.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "not get method" + }); + } + if (operation.options != null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "options must not be defined" + }); + } + requestResponses = this.#queryCache(operation.request); + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + cache.push([operation.request, operation.response]); + addedItems.push([operation.request, operation.response]); + } + resultList.push([operation.request, operation.response]); + } + return resultList; + } catch (e3) { + this.#relevantRequestResponseList.length = 0; + this.#relevantRequestResponseList = backupCache; + throw e3; + } + } + #queryCache(requestQuery, options, targetStorage) { + const resultList = []; + const storage = targetStorage ?? this.#relevantRequestResponseList; + for (const requestResponse of storage) { + const [cachedRequest, cachedResponse] = requestResponse; + if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { + resultList.push(requestResponse); + } + } + return resultList; + } + #requestMatchesCachedItem(requestQuery, request, response = null, options) { + const queryURL = new URL(requestQuery.url); + const cachedURL = new URL(request.url); + if (options?.ignoreSearch) { + cachedURL.search = ""; + queryURL.search = ""; + } + if (!urlEquals(queryURL, cachedURL, true)) { + return false; + } + if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { + return true; + } + const fieldValues = getFieldValues(response.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + return false; + } + const requestValue = request.headersList.get(fieldValue); + const queryValue = requestQuery.headersList.get(fieldValue); + if (requestValue !== queryValue) { + return false; + } + } + return true; + } + }; + Object.defineProperties(Cache.prototype, { + [Symbol.toStringTag]: { + value: "Cache", + configurable: true + }, + match: kEnumerableProperty, + matchAll: kEnumerableProperty, + add: kEnumerableProperty, + addAll: kEnumerableProperty, + put: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + var cacheQueryOptionConverters = [ + { + key: "ignoreSearch", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "ignoreMethod", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "ignoreVary", + converter: webidl.converters.boolean, + defaultValue: false + } + ]; + webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); + webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ + ...cacheQueryOptionConverters, + { + key: "cacheName", + converter: webidl.converters.DOMString + } + ]); + webidl.converters.Response = webidl.interfaceConverter(Response3); + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.RequestInfo + ); + module2.exports = { + Cache + }; + } +}); + +// node_modules/undici/lib/cache/cachestorage.js +var require_cachestorage = __commonJS({ + "node_modules/undici/lib/cache/cachestorage.js"(exports, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { Cache } = require_cache(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var CacheStorage = class { + #caches = /* @__PURE__ */ new Map(); + constructor() { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); + } + } + async match(request, options = {}) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.MultiCacheQueryOptions(options); + if (options.cacheName != null) { + if (this.#caches.has(options.cacheName)) { + const cacheList = this.#caches.get(options.cacheName); + const cache = new Cache(kConstruct, cacheList); + return await cache.match(request, options); + } + } else { + for (const cacheList of this.#caches.values()) { + const cache = new Cache(kConstruct, cacheList); + const response = await cache.match(request, options); + if (response !== void 0) { + return response; + } + } + } + } + async has(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); + cacheName = webidl.converters.DOMString(cacheName); + return this.#caches.has(cacheName); + } + async open(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); + cacheName = webidl.converters.DOMString(cacheName); + if (this.#caches.has(cacheName)) { + const cache2 = this.#caches.get(cacheName); + return new Cache(kConstruct, cache2); + } + const cache = []; + this.#caches.set(cacheName, cache); + return new Cache(kConstruct, cache); + } + async delete(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); + cacheName = webidl.converters.DOMString(cacheName); + return this.#caches.delete(cacheName); + } + async keys() { + webidl.brandCheck(this, CacheStorage); + const keys = this.#caches.keys(); + return [...keys]; + } + }; + Object.defineProperties(CacheStorage.prototype, { + [Symbol.toStringTag]: { + value: "CacheStorage", + configurable: true + }, + match: kEnumerableProperty, + has: kEnumerableProperty, + open: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + module2.exports = { + CacheStorage + }; + } +}); + +// node_modules/undici/lib/cookies/constants.js +var require_constants4 = __commonJS({ + "node_modules/undici/lib/cookies/constants.js"(exports, module2) { + "use strict"; + var maxAttributeValueSize = 1024; + var maxNameValuePairSize = 4096; + module2.exports = { + maxAttributeValueSize, + maxNameValuePairSize + }; + } +}); + +// node_modules/undici/lib/cookies/util.js +var require_util6 = __commonJS({ + "node_modules/undici/lib/cookies/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { kHeadersList } = require_symbols(); + function isCTLExcludingHtab(value) { + if (value.length === 0) { + return false; + } + for (const char of value) { + const code = char.charCodeAt(0); + if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { + return false; + } + } + } + function validateCookieName(name) { + for (const char of name) { + const code = char.charCodeAt(0); + if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { + throw new Error("Invalid cookie name"); + } + } + } + function validateCookieValue(value) { + for (const char of value) { + const code = char.charCodeAt(0); + if (code < 33 || code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { + throw new Error("Invalid header value"); + } + } + } + function validateCookiePath(path2) { + for (const char of path2) { + const code = char.charCodeAt(0); + if (code < 33 || char === ";") { + throw new Error("Invalid cookie path"); + } + } + } + function validateCookieDomain(domain) { + if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { + throw new Error("Invalid cookie domain"); + } + } + function toIMFDate(date) { + if (typeof date === "number") { + date = new Date(date); + } + const days = [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ]; + const months = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ]; + const dayName = days[date.getUTCDay()]; + const day = date.getUTCDate().toString().padStart(2, "0"); + const month = months[date.getUTCMonth()]; + const year = date.getUTCFullYear(); + const hour = date.getUTCHours().toString().padStart(2, "0"); + const minute = date.getUTCMinutes().toString().padStart(2, "0"); + const second = date.getUTCSeconds().toString().padStart(2, "0"); + return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + } + function validateCookieMaxAge(maxAge) { + if (maxAge < 0) { + throw new Error("Invalid cookie max-age"); + } + } + function stringify(cookie) { + if (cookie.name.length === 0) { + return null; + } + validateCookieName(cookie.name); + validateCookieValue(cookie.value); + const out = [`${cookie.name}=${cookie.value}`]; + if (cookie.name.startsWith("__Secure-")) { + cookie.secure = true; + } + if (cookie.name.startsWith("__Host-")) { + cookie.secure = true; + cookie.domain = null; + cookie.path = "/"; + } + if (cookie.secure) { + out.push("Secure"); + } + if (cookie.httpOnly) { + out.push("HttpOnly"); + } + if (typeof cookie.maxAge === "number") { + validateCookieMaxAge(cookie.maxAge); + out.push(`Max-Age=${cookie.maxAge}`); + } + if (cookie.domain) { + validateCookieDomain(cookie.domain); + out.push(`Domain=${cookie.domain}`); + } + if (cookie.path) { + validateCookiePath(cookie.path); + out.push(`Path=${cookie.path}`); + } + if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { + out.push(`Expires=${toIMFDate(cookie.expires)}`); + } + if (cookie.sameSite) { + out.push(`SameSite=${cookie.sameSite}`); + } + for (const part of cookie.unparsed) { + if (!part.includes("=")) { + throw new Error("Invalid unparsed"); + } + const [key, ...value] = part.split("="); + out.push(`${key.trim()}=${value.join("=")}`); + } + return out.join("; "); + } + var kHeadersListNode; + function getHeadersList(headers) { + if (headers[kHeadersList]) { + return headers[kHeadersList]; + } + if (!kHeadersListNode) { + kHeadersListNode = Object.getOwnPropertySymbols(headers).find( + (symbol) => symbol.description === "headers list" + ); + assert(kHeadersListNode, "Headers cannot be parsed"); + } + const headersList = headers[kHeadersListNode]; + assert(headersList); + return headersList; + } + module2.exports = { + isCTLExcludingHtab, + stringify, + getHeadersList + }; + } +}); + +// node_modules/undici/lib/cookies/parse.js +var require_parse2 = __commonJS({ + "node_modules/undici/lib/cookies/parse.js"(exports, module2) { + "use strict"; + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); + var { isCTLExcludingHtab } = require_util6(); + var { collectASequenceOfCodePointsFast } = require_dataURL(); + var assert = require("assert"); + function parseSetCookie(header) { + if (isCTLExcludingHtab(header)) { + return null; + } + let nameValuePair = ""; + let unparsedAttributes = ""; + let name = ""; + let value = ""; + if (header.includes(";")) { + const position = { position: 0 }; + nameValuePair = collectASequenceOfCodePointsFast(";", header, position); + unparsedAttributes = header.slice(position.position); + } else { + nameValuePair = header; + } + if (!nameValuePair.includes("=")) { + value = nameValuePair; + } else { + const position = { position: 0 }; + name = collectASequenceOfCodePointsFast( + "=", + nameValuePair, + position + ); + value = nameValuePair.slice(position.position + 1); + } + name = name.trim(); + value = value.trim(); + if (name.length + value.length > maxNameValuePairSize) { + return null; + } + return { + name, + value, + ...parseUnparsedAttributes(unparsedAttributes) + }; + } + function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { + if (unparsedAttributes.length === 0) { + return cookieAttributeList; + } + assert(unparsedAttributes[0] === ";"); + unparsedAttributes = unparsedAttributes.slice(1); + let cookieAv = ""; + if (unparsedAttributes.includes(";")) { + cookieAv = collectASequenceOfCodePointsFast( + ";", + unparsedAttributes, + { position: 0 } + ); + unparsedAttributes = unparsedAttributes.slice(cookieAv.length); + } else { + cookieAv = unparsedAttributes; + unparsedAttributes = ""; + } + let attributeName = ""; + let attributeValue = ""; + if (cookieAv.includes("=")) { + const position = { position: 0 }; + attributeName = collectASequenceOfCodePointsFast( + "=", + cookieAv, + position + ); + attributeValue = cookieAv.slice(position.position + 1); + } else { + attributeName = cookieAv; + } + attributeName = attributeName.trim(); + attributeValue = attributeValue.trim(); + if (attributeValue.length > maxAttributeValueSize) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + const attributeNameLowercase = attributeName.toLowerCase(); + if (attributeNameLowercase === "expires") { + const expiryTime = new Date(attributeValue); + cookieAttributeList.expires = expiryTime; + } else if (attributeNameLowercase === "max-age") { + const charCode = attributeValue.charCodeAt(0); + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + if (!/^\d+$/.test(attributeValue)) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + const deltaSeconds = Number(attributeValue); + cookieAttributeList.maxAge = deltaSeconds; + } else if (attributeNameLowercase === "domain") { + let cookieDomain = attributeValue; + if (cookieDomain[0] === ".") { + cookieDomain = cookieDomain.slice(1); + } + cookieDomain = cookieDomain.toLowerCase(); + cookieAttributeList.domain = cookieDomain; + } else if (attributeNameLowercase === "path") { + let cookiePath = ""; + if (attributeValue.length === 0 || attributeValue[0] !== "/") { + cookiePath = "/"; + } else { + cookiePath = attributeValue; + } + cookieAttributeList.path = cookiePath; + } else if (attributeNameLowercase === "secure") { + cookieAttributeList.secure = true; + } else if (attributeNameLowercase === "httponly") { + cookieAttributeList.httpOnly = true; + } else if (attributeNameLowercase === "samesite") { + let enforcement = "Default"; + const attributeValueLowercase = attributeValue.toLowerCase(); + if (attributeValueLowercase.includes("none")) { + enforcement = "None"; + } + if (attributeValueLowercase.includes("strict")) { + enforcement = "Strict"; + } + if (attributeValueLowercase.includes("lax")) { + enforcement = "Lax"; + } + cookieAttributeList.sameSite = enforcement; + } else { + cookieAttributeList.unparsed ??= []; + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + } + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + module2.exports = { + parseSetCookie, + parseUnparsedAttributes + }; + } +}); + +// node_modules/undici/lib/cookies/index.js +var require_cookies = __commonJS({ + "node_modules/undici/lib/cookies/index.js"(exports, module2) { + "use strict"; + var { parseSetCookie } = require_parse2(); + var { stringify, getHeadersList } = require_util6(); + var { webidl } = require_webidl(); + var { Headers: Headers3 } = require_headers(); + function getCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + const cookie = headers.get("cookie"); + const out = {}; + if (!cookie) { + return out; + } + for (const piece of cookie.split(";")) { + const [name, ...value] = piece.split("="); + out[name.trim()] = value.join("="); + } + return out; + } + function deleteCookie(headers, name, attributes) { + webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + name = webidl.converters.DOMString(name); + attributes = webidl.converters.DeleteCookieAttributes(attributes); + setCookie(headers, { + name, + value: "", + expires: new Date(0), + ...attributes + }); + } + function getSetCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + const cookies = getHeadersList(headers).cookies; + if (!cookies) { + return []; + } + return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); + } + function setCookie(headers, cookie) { + webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + cookie = webidl.converters.Cookie(cookie); + const str = stringify(cookie); + if (str) { + headers.append("Set-Cookie", stringify(cookie)); + } + } + webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: null + } + ]); + webidl.converters.Cookie = webidl.dictionaryConverter([ + { + converter: webidl.converters.DOMString, + key: "name" + }, + { + converter: webidl.converters.DOMString, + key: "value" + }, + { + converter: webidl.nullableConverter((value) => { + if (typeof value === "number") { + return webidl.converters["unsigned long long"](value); + } + return new Date(value); + }), + key: "expires", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters["long long"]), + key: "maxAge", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "secure", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "httpOnly", + defaultValue: null + }, + { + converter: webidl.converters.USVString, + key: "sameSite", + allowedValues: ["Strict", "Lax", "None"] + }, + { + converter: webidl.sequenceConverter(webidl.converters.DOMString), + key: "unparsed", + defaultValue: [] + } + ]); + module2.exports = { + getCookies, + deleteCookie, + getSetCookies, + setCookie + }; + } +}); + +// node_modules/undici/lib/websocket/constants.js +var require_constants5 = __commonJS({ + "node_modules/undici/lib/websocket/constants.js"(exports, module2) { + "use strict"; + var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + var states = { + CONNECTING: 0, + OPEN: 1, + CLOSING: 2, + CLOSED: 3 + }; + var opcodes = { + CONTINUATION: 0, + TEXT: 1, + BINARY: 2, + CLOSE: 8, + PING: 9, + PONG: 10 + }; + var maxUnsigned16Bit = 2 ** 16 - 1; + var parserStates = { + INFO: 0, + PAYLOADLENGTH_16: 2, + PAYLOADLENGTH_64: 3, + READ_DATA: 4 + }; + var emptyBuffer = Buffer.allocUnsafe(0); + module2.exports = { + uid, + staticPropertyDescriptors, + states, + opcodes, + maxUnsigned16Bit, + parserStates, + emptyBuffer + }; + } +}); + +// node_modules/undici/lib/websocket/symbols.js +var require_symbols5 = __commonJS({ + "node_modules/undici/lib/websocket/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kWebSocketURL: Symbol("url"), + kReadyState: Symbol("ready state"), + kController: Symbol("controller"), + kResponse: Symbol("response"), + kBinaryType: Symbol("binary type"), + kSentClose: Symbol("sent close"), + kReceivedClose: Symbol("received close"), + kByteParser: Symbol("byte parser") + }; + } +}); + +// node_modules/undici/lib/websocket/events.js +var require_events = __commonJS({ + "node_modules/undici/lib/websocket/events.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var { MessagePort } = require("worker_threads"); + var MessageEvent = class extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict); + super(type, eventInitDict); + this.#eventInit = eventInitDict; + } + get data() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.data; + } + get origin() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.origin; + } + get lastEventId() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.lastEventId; + } + get source() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.source; + } + get ports() { + webidl.brandCheck(this, MessageEvent); + if (!Object.isFrozen(this.#eventInit.ports)) { + Object.freeze(this.#eventInit.ports); + } + return this.#eventInit.ports; + } + initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { + webidl.brandCheck(this, MessageEvent); + webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + return new MessageEvent(type, { + bubbles, + cancelable, + data, + origin, + lastEventId, + source, + ports + }); + } + }; + var CloseEvent = class extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.CloseEventInit(eventInitDict); + super(type, eventInitDict); + this.#eventInit = eventInitDict; + } + get wasClean() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.wasClean; + } + get code() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.code; + } + get reason() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.reason; + } + }; + var ErrorEvent = class extends Event { + #eventInit; + constructor(type, eventInitDict) { + webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + super(type, eventInitDict); + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); + this.#eventInit = eventInitDict; + } + get message() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.message; + } + get filename() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.filename; + } + get lineno() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.lineno; + } + get colno() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.colno; + } + get error() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.error; + } + }; + Object.defineProperties(MessageEvent.prototype, { + [Symbol.toStringTag]: { + value: "MessageEvent", + configurable: true + }, + data: kEnumerableProperty, + origin: kEnumerableProperty, + lastEventId: kEnumerableProperty, + source: kEnumerableProperty, + ports: kEnumerableProperty, + initMessageEvent: kEnumerableProperty + }); + Object.defineProperties(CloseEvent.prototype, { + [Symbol.toStringTag]: { + value: "CloseEvent", + configurable: true + }, + reason: kEnumerableProperty, + code: kEnumerableProperty, + wasClean: kEnumerableProperty + }); + Object.defineProperties(ErrorEvent.prototype, { + [Symbol.toStringTag]: { + value: "ErrorEvent", + configurable: true + }, + message: kEnumerableProperty, + filename: kEnumerableProperty, + lineno: kEnumerableProperty, + colno: kEnumerableProperty, + error: kEnumerableProperty + }); + webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.MessagePort + ); + var eventInit = [ + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: false + } + ]; + webidl.converters.MessageEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "data", + converter: webidl.converters.any, + defaultValue: null + }, + { + key: "origin", + converter: webidl.converters.USVString, + defaultValue: "" + }, + { + key: "lastEventId", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "source", + converter: webidl.nullableConverter(webidl.converters.MessagePort), + defaultValue: null + }, + { + key: "ports", + converter: webidl.converters["sequence"], + get defaultValue() { + return []; + } + } + ]); + webidl.converters.CloseEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "wasClean", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "code", + converter: webidl.converters["unsigned short"], + defaultValue: 0 + }, + { + key: "reason", + converter: webidl.converters.USVString, + defaultValue: "" + } + ]); + webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "message", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "filename", + converter: webidl.converters.USVString, + defaultValue: "" + }, + { + key: "lineno", + converter: webidl.converters["unsigned long"], + defaultValue: 0 + }, + { + key: "colno", + converter: webidl.converters["unsigned long"], + defaultValue: 0 + }, + { + key: "error", + converter: webidl.converters.any + } + ]); + module2.exports = { + MessageEvent, + CloseEvent, + ErrorEvent + }; + } +}); + +// node_modules/undici/lib/websocket/util.js +var require_util7 = __commonJS({ + "node_modules/undici/lib/websocket/util.js"(exports, module2) { + "use strict"; + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); + var { states, opcodes } = require_constants5(); + var { MessageEvent, ErrorEvent } = require_events(); + function isEstablished(ws) { + return ws[kReadyState] === states.OPEN; + } + function isClosing(ws) { + return ws[kReadyState] === states.CLOSING; + } + function isClosed(ws) { + return ws[kReadyState] === states.CLOSED; + } + function fireEvent(e3, target, eventConstructor = Event, eventInitDict) { + const event = new eventConstructor(e3, eventInitDict); + target.dispatchEvent(event); + } + function websocketMessageReceived(ws, type, data) { + if (ws[kReadyState] !== states.OPEN) { + return; + } + let dataForEvent; + if (type === opcodes.TEXT) { + try { + dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + } catch { + failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); + return; + } + } else if (type === opcodes.BINARY) { + if (ws[kBinaryType] === "blob") { + dataForEvent = new Blob([data]); + } else { + dataForEvent = new Uint8Array(data).buffer; + } + } + fireEvent("message", ws, MessageEvent, { + origin: ws[kWebSocketURL].origin, + data: dataForEvent + }); + } + function isValidSubprotocol(protocol) { + if (protocol.length === 0) { + return false; + } + for (const char of protocol) { + const code = char.charCodeAt(0); + if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || code === 9) { + return false; + } + } + return true; + } + function isValidStatusCode(code) { + if (code >= 1e3 && code < 1015) { + return code !== 1004 && code !== 1005 && code !== 1006; + } + return code >= 3e3 && code <= 4999; + } + function failWebsocketConnection(ws, reason) { + const { [kController]: controller, [kResponse]: response } = ws; + controller.abort(); + if (response?.socket && !response.socket.destroyed) { + response.socket.destroy(); + } + if (reason) { + fireEvent("error", ws, ErrorEvent, { + error: new Error(reason) + }); + } + } + module2.exports = { + isEstablished, + isClosing, + isClosed, + fireEvent, + isValidSubprotocol, + isValidStatusCode, + failWebsocketConnection, + websocketMessageReceived + }; + } +}); + +// node_modules/undici/lib/websocket/connection.js +var require_connection = __commonJS({ + "node_modules/undici/lib/websocket/connection.js"(exports, module2) { + "use strict"; + var diagnosticsChannel = require("diagnostics_channel"); + var { uid, states } = require_constants5(); + var { + kReadyState, + kSentClose, + kByteParser, + kReceivedClose + } = require_symbols5(); + var { fireEvent, failWebsocketConnection } = require_util7(); + var { CloseEvent } = require_events(); + var { makeRequest } = require_request2(); + var { fetching } = require_fetch(); + var { Headers: Headers3 } = require_headers(); + var { getGlobalDispatcher } = require_global2(); + var { kHeadersList } = require_symbols(); + var channels = {}; + channels.open = diagnosticsChannel.channel("undici:websocket:open"); + channels.close = diagnosticsChannel.channel("undici:websocket:close"); + channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); + var crypto2; + try { + crypto2 = require("crypto"); + } catch { + } + function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) { + const requestURL = url2; + requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:"; + const request = makeRequest({ + urlList: [requestURL], + serviceWorkers: "none", + referrer: "no-referrer", + mode: "websocket", + credentials: "include", + cache: "no-store", + redirect: "error" + }); + if (options.headers) { + const headersList = new Headers3(options.headers)[kHeadersList]; + request.headersList = headersList; + } + const keyValue = crypto2.randomBytes(16).toString("base64"); + request.headersList.append("sec-websocket-key", keyValue); + request.headersList.append("sec-websocket-version", "13"); + for (const protocol of protocols) { + request.headersList.append("sec-websocket-protocol", protocol); + } + const permessageDeflate = ""; + const controller = fetching({ + request, + useParallelQueue: true, + dispatcher: options.dispatcher ?? getGlobalDispatcher(), + processResponse(response) { + if (response.type === "error" || response.status !== 101) { + failWebsocketConnection(ws, "Received network error or non-101 status code."); + return; + } + if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { + failWebsocketConnection(ws, "Server did not respond with sent protocols."); + return; + } + if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { + failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); + return; + } + if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { + failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); + return; + } + const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); + const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64"); + if (secWSAccept !== digest) { + failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); + return; + } + const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); + if (secExtension !== null && secExtension !== permessageDeflate) { + failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); + return; + } + const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); + if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { + failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); + return; + } + response.socket.on("data", onSocketData); + response.socket.on("close", onSocketClose); + response.socket.on("error", onSocketError); + if (channels.open.hasSubscribers) { + channels.open.publish({ + address: response.socket.address(), + protocol: secProtocol, + extensions: secExtension + }); + } + onEstablish(response); + } + }); + return controller; + } + function onSocketData(chunk) { + if (!this.ws[kByteParser].write(chunk)) { + this.pause(); + } + } + function onSocketClose() { + const { ws } = this; + const wasClean = ws[kSentClose] && ws[kReceivedClose]; + let code = 1005; + let reason = ""; + const result = ws[kByteParser].closingInfo; + if (result) { + code = result.code ?? 1005; + reason = result.reason; + } else if (!ws[kSentClose]) { + code = 1006; + } + ws[kReadyState] = states.CLOSED; + fireEvent("close", ws, CloseEvent, { + wasClean, + code, + reason + }); + if (channels.close.hasSubscribers) { + channels.close.publish({ + websocket: ws, + code, + reason + }); + } + } + function onSocketError(error) { + const { ws } = this; + ws[kReadyState] = states.CLOSING; + if (channels.socketError.hasSubscribers) { + channels.socketError.publish(error); + } + this.destroy(); + } + module2.exports = { + establishWebSocketConnection + }; + } +}); + +// node_modules/undici/lib/websocket/frame.js +var require_frame = __commonJS({ + "node_modules/undici/lib/websocket/frame.js"(exports, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants5(); + var crypto2; + try { + crypto2 = require("crypto"); + } catch { + } + var WebsocketFrameSend = class { + constructor(data) { + this.frameData = data; + this.maskKey = crypto2.randomBytes(4); + } + createFrame(opcode) { + const bodyLength = this.frameData?.byteLength ?? 0; + let payloadLength = bodyLength; + let offset = 6; + if (bodyLength > maxUnsigned16Bit) { + offset += 8; + payloadLength = 127; + } else if (bodyLength > 125) { + offset += 2; + payloadLength = 126; + } + const buffer = Buffer.allocUnsafe(bodyLength + offset); + buffer[0] = buffer[1] = 0; + buffer[0] |= 128; + buffer[0] = (buffer[0] & 240) + opcode; + buffer[offset - 4] = this.maskKey[0]; + buffer[offset - 3] = this.maskKey[1]; + buffer[offset - 2] = this.maskKey[2]; + buffer[offset - 1] = this.maskKey[3]; + buffer[1] = payloadLength; + if (payloadLength === 126) { + buffer.writeUInt16BE(bodyLength, 2); + } else if (payloadLength === 127) { + buffer[2] = buffer[3] = 0; + buffer.writeUIntBE(bodyLength, 4, 6); + } + buffer[1] |= 128; + for (let i3 = 0; i3 < bodyLength; i3++) { + buffer[offset + i3] = this.frameData[i3] ^ this.maskKey[i3 % 4]; + } + return buffer; + } + }; + module2.exports = { + WebsocketFrameSend + }; + } +}); + +// node_modules/undici/lib/websocket/receiver.js +var require_receiver = __commonJS({ + "node_modules/undici/lib/websocket/receiver.js"(exports, module2) { + "use strict"; + var { Writable } = require("stream"); + var diagnosticsChannel = require("diagnostics_channel"); + var { parserStates, opcodes, states, emptyBuffer } = require_constants5(); + var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); + var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); + var { WebsocketFrameSend } = require_frame(); + var channels = {}; + channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); + channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + var ByteParser = class extends Writable { + #buffers = []; + #byteOffset = 0; + #state = parserStates.INFO; + #info = {}; + #fragments = []; + constructor(ws) { + super(); + this.ws = ws; + } + _write(chunk, _3, callback) { + this.#buffers.push(chunk); + this.#byteOffset += chunk.length; + this.run(callback); + } + run(callback) { + while (true) { + if (this.#state === parserStates.INFO) { + if (this.#byteOffset < 2) { + return callback(); + } + const buffer = this.consume(2); + this.#info.fin = (buffer[0] & 128) !== 0; + this.#info.opcode = buffer[0] & 15; + this.#info.originalOpcode ??= this.#info.opcode; + this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; + if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { + failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); + return; + } + const payloadLength = buffer[1] & 127; + if (payloadLength <= 125) { + this.#info.payloadLength = payloadLength; + this.#state = parserStates.READ_DATA; + } else if (payloadLength === 126) { + this.#state = parserStates.PAYLOADLENGTH_16; + } else if (payloadLength === 127) { + this.#state = parserStates.PAYLOADLENGTH_64; + } + if (this.#info.fragmented && payloadLength > 125) { + failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); + return; + } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { + failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); + return; + } else if (this.#info.opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + return; + } + const body = this.consume(payloadLength); + this.#info.closeInfo = this.parseCloseBody(false, body); + if (!this.ws[kSentClose]) { + const body2 = Buffer.allocUnsafe(2); + body2.writeUInt16BE(this.#info.closeInfo.code, 0); + const closeFrame = new WebsocketFrameSend(body2); + this.ws[kResponse].socket.write( + closeFrame.createFrame(opcodes.CLOSE), + (err) => { + if (!err) { + this.ws[kSentClose] = true; + } + } + ); + } + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + this.end(); + return; + } else if (this.#info.opcode === opcodes.PING) { + const body = this.consume(payloadLength); + if (!this.ws[kReceivedClose]) { + const frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + this.#state = parserStates.INFO; + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + return; + } + } else if (this.#info.opcode === opcodes.PONG) { + const body = this.consume(payloadLength); + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + return; + } + } + } else if (this.#state === parserStates.PAYLOADLENGTH_16) { + if (this.#byteOffset < 2) { + return callback(); + } + const buffer = this.consume(2); + this.#info.payloadLength = buffer.readUInt16BE(0); + this.#state = parserStates.READ_DATA; + } else if (this.#state === parserStates.PAYLOADLENGTH_64) { + if (this.#byteOffset < 8) { + return callback(); + } + const buffer = this.consume(8); + const upper = buffer.readUInt32BE(0); + if (upper > 2 ** 31 - 1) { + failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); + return; + } + const lower = buffer.readUInt32BE(4); + this.#info.payloadLength = (upper << 8) + lower; + this.#state = parserStates.READ_DATA; + } else if (this.#state === parserStates.READ_DATA) { + if (this.#byteOffset < this.#info.payloadLength) { + return callback(); + } else if (this.#byteOffset >= this.#info.payloadLength) { + const body = this.consume(this.#info.payloadLength); + this.#fragments.push(body); + if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { + const fullMessage = Buffer.concat(this.#fragments); + websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); + this.#info = {}; + this.#fragments.length = 0; + } + this.#state = parserStates.INFO; + } + } + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + break; + } + } + } + consume(n2) { + if (n2 > this.#byteOffset) { + return null; + } else if (n2 === 0) { + return emptyBuffer; + } + if (this.#buffers[0].length === n2) { + this.#byteOffset -= this.#buffers[0].length; + return this.#buffers.shift(); + } + const buffer = Buffer.allocUnsafe(n2); + let offset = 0; + while (offset !== n2) { + const next = this.#buffers[0]; + const { length } = next; + if (length + offset === n2) { + buffer.set(this.#buffers.shift(), offset); + break; + } else if (length + offset > n2) { + buffer.set(next.subarray(0, n2 - offset), offset); + this.#buffers[0] = next.subarray(n2 - offset); + break; + } else { + buffer.set(this.#buffers.shift(), offset); + offset += next.length; + } + } + this.#byteOffset -= n2; + return buffer; + } + parseCloseBody(onlyCode, data) { + let code; + if (data.length >= 2) { + code = data.readUInt16BE(0); + } + if (onlyCode) { + if (!isValidStatusCode(code)) { + return null; + } + return { code }; + } + let reason = data.subarray(2); + if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { + reason = reason.subarray(3); + } + if (code !== void 0 && !isValidStatusCode(code)) { + return null; + } + try { + reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + } catch { + return null; + } + return { code, reason }; + } + get closingInfo() { + return this.#info.closeInfo; + } + }; + module2.exports = { + ByteParser + }; + } +}); + +// node_modules/undici/lib/websocket/websocket.js +var require_websocket = __commonJS({ + "node_modules/undici/lib/websocket/websocket.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { DOMException: DOMException3 } = require_constants2(); + var { URLSerializer } = require_dataURL(); + var { getGlobalOrigin } = require_global(); + var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); + var { + kWebSocketURL, + kReadyState, + kController, + kBinaryType, + kResponse, + kSentClose, + kByteParser + } = require_symbols5(); + var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); + var { establishWebSocketConnection } = require_connection(); + var { WebsocketFrameSend } = require_frame(); + var { ByteParser } = require_receiver(); + var { kEnumerableProperty, isBlobLike: isBlobLike2 } = require_util(); + var { getGlobalDispatcher } = require_global2(); + var { types } = require("util"); + var experimentalWarned = false; + var WebSocket = class extends EventTarget { + #events = { + open: null, + error: null, + close: null, + message: null + }; + #bufferedAmount = 0; + #protocol = ""; + #extensions = ""; + constructor(url2, protocols = []) { + super(); + webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("WebSockets are experimental, expect them to change at any time.", { + code: "UNDICI-WS" + }); + } + const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); + url2 = webidl.converters.USVString(url2); + protocols = options.protocols; + const baseURL = getGlobalOrigin(); + let urlRecord; + try { + urlRecord = new URL(url2, baseURL); + } catch (e3) { + throw new DOMException3(e3, "SyntaxError"); + } + if (urlRecord.protocol === "http:") { + urlRecord.protocol = "ws:"; + } else if (urlRecord.protocol === "https:") { + urlRecord.protocol = "wss:"; + } + if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { + throw new DOMException3( + `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, + "SyntaxError" + ); + } + if (urlRecord.hash || urlRecord.href.endsWith("#")) { + throw new DOMException3("Got fragment", "SyntaxError"); + } + if (typeof protocols === "string") { + protocols = [protocols]; + } + if (protocols.length !== new Set(protocols.map((p3) => p3.toLowerCase())).size) { + throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + if (protocols.length > 0 && !protocols.every((p3) => isValidSubprotocol(p3))) { + throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + this[kWebSocketURL] = new URL(urlRecord.href); + this[kController] = establishWebSocketConnection( + urlRecord, + protocols, + this, + (response) => this.#onConnectionEstablished(response), + options + ); + this[kReadyState] = WebSocket.CONNECTING; + this[kBinaryType] = "blob"; + } + close(code = void 0, reason = void 0) { + webidl.brandCheck(this, WebSocket); + if (code !== void 0) { + code = webidl.converters["unsigned short"](code, { clamp: true }); + } + if (reason !== void 0) { + reason = webidl.converters.USVString(reason); + } + if (code !== void 0) { + if (code !== 1e3 && (code < 3e3 || code > 4999)) { + throw new DOMException3("invalid code", "InvalidAccessError"); + } + } + let reasonByteLength = 0; + if (reason !== void 0) { + reasonByteLength = Buffer.byteLength(reason); + if (reasonByteLength > 123) { + throw new DOMException3( + `Reason must be less than 123 bytes; received ${reasonByteLength}`, + "SyntaxError" + ); + } + } + if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) { + } else if (!isEstablished(this)) { + failWebsocketConnection(this, "Connection was closed before it was established."); + this[kReadyState] = WebSocket.CLOSING; + } else if (!isClosing(this)) { + const frame = new WebsocketFrameSend(); + if (code !== void 0 && reason === void 0) { + frame.frameData = Buffer.allocUnsafe(2); + frame.frameData.writeUInt16BE(code, 0); + } else if (code !== void 0 && reason !== void 0) { + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); + frame.frameData.writeUInt16BE(code, 0); + frame.frameData.write(reason, 2, "utf-8"); + } else { + frame.frameData = emptyBuffer; + } + const socket = this[kResponse].socket; + socket.write(frame.createFrame(opcodes.CLOSE), (err) => { + if (!err) { + this[kSentClose] = true; + } + }); + this[kReadyState] = states.CLOSING; + } else { + this[kReadyState] = WebSocket.CLOSING; + } + } + send(data) { + webidl.brandCheck(this, WebSocket); + webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); + data = webidl.converters.WebSocketSendData(data); + if (this[kReadyState] === WebSocket.CONNECTING) { + throw new DOMException3("Sent before connected.", "InvalidStateError"); + } + if (!isEstablished(this) || isClosing(this)) { + return; + } + const socket = this[kResponse].socket; + if (typeof data === "string") { + const value = Buffer.from(data); + const frame = new WebsocketFrameSend(value); + const buffer = frame.createFrame(opcodes.TEXT); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + } else if (types.isArrayBuffer(data)) { + const value = Buffer.from(data); + const frame = new WebsocketFrameSend(value); + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + } else if (ArrayBuffer.isView(data)) { + const ab = Buffer.from(data, data.byteOffset, data.byteLength); + const frame = new WebsocketFrameSend(ab); + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += ab.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= ab.byteLength; + }); + } else if (isBlobLike2(data)) { + const frame = new WebsocketFrameSend(); + data.arrayBuffer().then((ab) => { + const value = Buffer.from(ab); + frame.frameData = value; + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + }); + } + } + get readyState() { + webidl.brandCheck(this, WebSocket); + return this[kReadyState]; + } + get bufferedAmount() { + webidl.brandCheck(this, WebSocket); + return this.#bufferedAmount; + } + get url() { + webidl.brandCheck(this, WebSocket); + return URLSerializer(this[kWebSocketURL]); + } + get extensions() { + webidl.brandCheck(this, WebSocket); + return this.#extensions; + } + get protocol() { + webidl.brandCheck(this, WebSocket); + return this.#protocol; + } + get onopen() { + webidl.brandCheck(this, WebSocket); + return this.#events.open; + } + set onopen(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.open) { + this.removeEventListener("open", this.#events.open); + } + if (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + this.#events.open = null; + } + } + get onerror() { + webidl.brandCheck(this, WebSocket); + return this.#events.error; + } + set onerror(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.error) { + this.removeEventListener("error", this.#events.error); + } + if (typeof fn === "function") { + this.#events.error = fn; + this.addEventListener("error", fn); + } else { + this.#events.error = null; + } + } + get onclose() { + webidl.brandCheck(this, WebSocket); + return this.#events.close; + } + set onclose(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.close) { + this.removeEventListener("close", this.#events.close); + } + if (typeof fn === "function") { + this.#events.close = fn; + this.addEventListener("close", fn); + } else { + this.#events.close = null; + } + } + get onmessage() { + webidl.brandCheck(this, WebSocket); + return this.#events.message; + } + set onmessage(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.message) { + this.removeEventListener("message", this.#events.message); + } + if (typeof fn === "function") { + this.#events.message = fn; + this.addEventListener("message", fn); + } else { + this.#events.message = null; + } + } + get binaryType() { + webidl.brandCheck(this, WebSocket); + return this[kBinaryType]; + } + set binaryType(type) { + webidl.brandCheck(this, WebSocket); + if (type !== "blob" && type !== "arraybuffer") { + this[kBinaryType] = "blob"; + } else { + this[kBinaryType] = type; + } + } + #onConnectionEstablished(response) { + this[kResponse] = response; + const parser = new ByteParser(this); + parser.on("drain", function onParserDrain() { + this.ws[kResponse].socket.resume(); + }); + response.socket.ws = this; + this[kByteParser] = parser; + this[kReadyState] = states.OPEN; + const extensions = response.headersList.get("sec-websocket-extensions"); + if (extensions !== null) { + this.#extensions = extensions; + } + const protocol = response.headersList.get("sec-websocket-protocol"); + if (protocol !== null) { + this.#protocol = protocol; + } + fireEvent("open", this); + } + }; + WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; + WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; + WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; + WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; + Object.defineProperties(WebSocket.prototype, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors, + url: kEnumerableProperty, + readyState: kEnumerableProperty, + bufferedAmount: kEnumerableProperty, + onopen: kEnumerableProperty, + onerror: kEnumerableProperty, + onclose: kEnumerableProperty, + close: kEnumerableProperty, + onmessage: kEnumerableProperty, + binaryType: kEnumerableProperty, + send: kEnumerableProperty, + extensions: kEnumerableProperty, + protocol: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "WebSocket", + writable: false, + enumerable: false, + configurable: true + } + }); + Object.defineProperties(WebSocket, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors + }); + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.DOMString + ); + webidl.converters["DOMString or sequence"] = function(V4) { + if (webidl.util.Type(V4) === "Object" && Symbol.iterator in V4) { + return webidl.converters["sequence"](V4); + } + return webidl.converters.DOMString(V4); + }; + webidl.converters.WebSocketInit = webidl.dictionaryConverter([ + { + key: "protocols", + converter: webidl.converters["DOMString or sequence"], + get defaultValue() { + return []; + } + }, + { + key: "dispatcher", + converter: (V4) => V4, + get defaultValue() { + return getGlobalDispatcher(); + } + }, + { + key: "headers", + converter: webidl.nullableConverter(webidl.converters.HeadersInit) + } + ]); + webidl.converters["DOMString or sequence or WebSocketInit"] = function(V4) { + if (webidl.util.Type(V4) === "Object" && !(Symbol.iterator in V4)) { + return webidl.converters.WebSocketInit(V4); + } + return { protocols: webidl.converters["DOMString or sequence"](V4) }; + }; + webidl.converters.WebSocketSendData = function(V4) { + if (webidl.util.Type(V4) === "Object") { + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { + return webidl.converters.BufferSource(V4); + } + } + return webidl.converters.USVString(V4); + }; + module2.exports = { + WebSocket + }; + } +}); + +// node_modules/undici/index.js +var require_undici = __commonJS({ + "node_modules/undici/index.js"(exports, module2) { + "use strict"; + var Client = require_client(); + var Dispatcher = require_dispatcher(); + var errors = require_errors(); + var Pool = require_pool(); + var BalancedPool = require_balanced_pool(); + var Agent = require_agent(); + var util2 = require_util(); + var { InvalidArgumentError } = errors; + var api2 = require_api(); + var buildConnector = require_connect(); + var MockClient = require_mock_client(); + var MockAgent = require_mock_agent(); + var MockPool = require_mock_pool(); + var mockErrors = require_mock_errors(); + var ProxyAgent = require_proxy_agent(); + var RetryHandler = require_RetryHandler(); + var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); + var DecoratorHandler = require_DecoratorHandler(); + var RedirectHandler = require_RedirectHandler(); + var createRedirectInterceptor = require_redirectInterceptor(); + var hasCrypto; + try { + require("crypto"); + hasCrypto = true; + } catch { + hasCrypto = false; + } + Object.assign(Dispatcher.prototype, api2); + module2.exports.Dispatcher = Dispatcher; + module2.exports.Client = Client; + module2.exports.Pool = Pool; + module2.exports.BalancedPool = BalancedPool; + module2.exports.Agent = Agent; + module2.exports.ProxyAgent = ProxyAgent; + module2.exports.RetryHandler = RetryHandler; + module2.exports.DecoratorHandler = DecoratorHandler; + module2.exports.RedirectHandler = RedirectHandler; + module2.exports.createRedirectInterceptor = createRedirectInterceptor; + module2.exports.buildConnector = buildConnector; + module2.exports.errors = errors; + function makeDispatcher(fn) { + return (url2, opts, handler) => { + if (typeof opts === "function") { + handler = opts; + opts = null; + } + if (!url2 || typeof url2 !== "string" && typeof url2 !== "object" && !(url2 instanceof URL)) { + throw new InvalidArgumentError("invalid url"); + } + if (opts != null && typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (opts && opts.path != null) { + if (typeof opts.path !== "string") { + throw new InvalidArgumentError("invalid opts.path"); + } + let path2 = opts.path; + if (!opts.path.startsWith("/")) { + path2 = `/${path2}`; + } + url2 = new URL(util2.parseOrigin(url2).origin + path2); + } else { + if (!opts) { + opts = typeof url2 === "object" ? url2 : {}; + } + url2 = util2.parseURL(url2); + } + const { agent, dispatcher = getGlobalDispatcher() } = opts; + if (agent) { + throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); + } + return fn.call(dispatcher, { + ...opts, + origin: url2.origin, + path: url2.search ? `${url2.pathname}${url2.search}` : url2.pathname, + method: opts.method || (opts.body ? "PUT" : "GET") + }, handler); + }; + } + module2.exports.setGlobalDispatcher = setGlobalDispatcher; + module2.exports.getGlobalDispatcher = getGlobalDispatcher; + if (util2.nodeMajor > 16 || util2.nodeMajor === 16 && util2.nodeMinor >= 8) { + let fetchImpl = null; + module2.exports.fetch = async function fetch2(resource) { + if (!fetchImpl) { + fetchImpl = require_fetch().fetch; + } + try { + return await fetchImpl(...arguments); + } catch (err) { + if (typeof err === "object") { + Error.captureStackTrace(err, this); + } + throw err; + } + }; + module2.exports.Headers = require_headers().Headers; + module2.exports.Response = require_response().Response; + module2.exports.Request = require_request2().Request; + module2.exports.FormData = require_formdata().FormData; + module2.exports.File = require_file().File; + module2.exports.FileReader = require_filereader().FileReader; + const { setGlobalOrigin, getGlobalOrigin } = require_global(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + const { CacheStorage } = require_cachestorage(); + const { kConstruct } = require_symbols4(); + module2.exports.caches = new CacheStorage(kConstruct); + } + if (util2.nodeMajor >= 16) { + const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); + module2.exports.deleteCookie = deleteCookie; + module2.exports.getCookies = getCookies; + module2.exports.getSetCookies = getSetCookies; + module2.exports.setCookie = setCookie; + const { parseMIMEType, serializeAMimeType } = require_dataURL(); + module2.exports.parseMIMEType = parseMIMEType; + module2.exports.serializeAMimeType = serializeAMimeType; + } + if (util2.nodeMajor >= 18 && hasCrypto) { + const { WebSocket } = require_websocket(); + module2.exports.WebSocket = WebSocket; + } + module2.exports.request = makeDispatcher(api2.request); + module2.exports.stream = makeDispatcher(api2.stream); + module2.exports.pipeline = makeDispatcher(api2.pipeline); + module2.exports.connect = makeDispatcher(api2.connect); + module2.exports.upgrade = makeDispatcher(api2.upgrade); + module2.exports.MockClient = MockClient; + module2.exports.MockPool = MockPool; + module2.exports.MockAgent = MockAgent; + module2.exports.mockErrors = mockErrors; + } +}); + // node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ "node_modules/@actions/http-client/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; - } }); - } : function(o2, m3, k3, k22) { + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1063,6 +17511,7 @@ var require_lib = __commonJS({ var https2 = __importStar(require("https")); var pm = __importStar(require_proxy()); var tunnel = __importStar(require_tunnel2()); + var undici_1 = require_undici(); var HttpCodes; (function(HttpCodes2) { HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; @@ -1092,16 +17541,16 @@ var require_lib = __commonJS({ HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); - var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers = exports.Headers || (exports.Headers = {})); + })(HttpCodes || (exports.HttpCodes = HttpCodes = {})); + var Headers3; + (function(Headers4) { + Headers4["Accept"] = "accept"; + Headers4["ContentType"] = "content-type"; + })(Headers3 || (exports.Headers = Headers3 = {})); var MediaTypes; (function(MediaTypes2) { MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); + })(MediaTypes || (exports.MediaTypes = MediaTypes = {})); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); return proxyUrl ? proxyUrl.href : ""; @@ -1148,6 +17597,19 @@ var require_lib = __commonJS({ })); }); } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on("data", (chunk) => { + chunks.push(chunk); + }); + this.message.on("end", () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } }; exports.HttpClientResponse = HttpClientResponse; function isHttps2(requestUrl) { @@ -1235,7 +17697,7 @@ var require_lib = __commonJS({ } getJson(requestUrl, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); const res = yield this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -1243,8 +17705,8 @@ var require_lib = __commonJS({ postJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.post(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -1252,8 +17714,8 @@ var require_lib = __commonJS({ putJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.put(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -1261,8 +17723,8 @@ var require_lib = __commonJS({ patchJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.patch(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -1396,6 +17858,15 @@ var require_lib = __commonJS({ const parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + } _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; @@ -1439,7 +17910,7 @@ var require_lib = __commonJS({ if (this._keepAlive && useProxy) { agent = this._proxyAgent; } - if (this._keepAlive && !useProxy) { + if (!useProxy) { agent = this._agent; } if (agent) { @@ -1468,14 +17939,11 @@ var require_lib = __commonJS({ agent = tunnelAgent(agentOptions); this._proxyAgent = agent; } - if (this._keepAlive && !agent) { + if (!agent) { const options = { keepAlive: this._keepAlive, maxSockets }; agent = usingSsl ? new https2.Agent(options) : new http2.Agent(options); this._agent = agent; } - if (!agent) { - agent = usingSsl ? https2.globalAgent : http2.globalAgent; - } if (usingSsl && this._ignoreSslError) { agent.options = Object.assign(agent.options || {}, { rejectUnauthorized: false @@ -1483,6 +17951,26 @@ var require_lib = __commonJS({ } return agent; } + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; + } + if (proxyAgent) { + return proxyAgent; + } + const usingSsl = parsedUrl.protocol === "https:"; + proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { + token: `${proxyUrl.username}:${proxyUrl.password}` + })); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } _performExponentialBackoff(retryNumber) { return __awaiter(this, void 0, void 0, function* () { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); @@ -1504,9 +17992,9 @@ var require_lib = __commonJS({ } function dateTimeDeserializer(key, value) { if (typeof value === "string") { - const a2 = new Date(value); - if (!isNaN(a2.valueOf())) { - return a2; + const a3 = new Date(value); + if (!isNaN(a3.valueOf())) { + return a3; } } return value; @@ -1546,7 +18034,7 @@ var require_lib = __commonJS({ } }; exports.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k3) => (c[k3.toLowerCase()] = obj[k3], c), {}); + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c2, k4) => (c2[k4.toLowerCase()] = obj[k4], c2), {}); } }); @@ -1554,25 +18042,25 @@ var require_lib = __commonJS({ var require_auth = __commonJS({ "node_modules/@actions/http-client/lib/auth.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1651,25 +18139,25 @@ var require_auth = __commonJS({ var require_oidc_utils = __commonJS({ "node_modules/@actions/core/lib/oidc-utils.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1706,7 +18194,7 @@ var require_oidc_utils = __commonJS({ return runtimeUrl; } static getCall(id_token_url) { - var _a; + var _a2; return __awaiter(this, void 0, void 0, function* () { const httpclient = OidcClient.createHttpClient(); const res = yield httpclient.getJson(id_token_url).catch((error) => { @@ -1714,9 +18202,9 @@ var require_oidc_utils = __commonJS({ Error Code : ${error.statusCode} - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value; if (!id_token) { throw new Error("Response json body do not have ID Token field"); } @@ -1749,25 +18237,25 @@ var require_oidc_utils = __commonJS({ var require_summary = __commonJS({ "node_modules/@actions/core/lib/summary.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1798,7 +18286,7 @@ var require_summary = __commonJS({ } try { yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a) { + } catch (_a2) { throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); } this._filePath = pathFromEnv; @@ -1914,30 +18402,30 @@ var require_summary = __commonJS({ var require_path_utils = __commonJS({ "node_modules/@actions/core/lib/path-utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; @@ -1964,53 +18452,53 @@ var require_path_utils = __commonJS({ var require_core = __commonJS({ "node_modules/@actions/core/lib/core.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2109,10 +18597,10 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); return process.env["RUNNER_DEBUG"] === "1"; } exports.isDebug = isDebug; - function debug(message) { + function debug2(message) { command_1.issueCommand("debug", {}, message); } - exports.debug = debug; + exports.debug = debug2; function error(message, properties = {}) { command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } @@ -2193,53 +18681,53 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); var require_io_util = __commonJS({ "node_modules/@actions/io/lib/io-util.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2248,15 +18736,15 @@ var require_io_util = __commonJS({ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var _a; + var _a2; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; - var fs2 = __importStar(require("fs")); + var fs3 = __importStar(require("fs")); var path2 = __importStar(require("path")); - _a = fs2.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; + _a2 = fs3.promises, exports.chmod = _a2.chmod, exports.copyFile = _a2.copyFile, exports.lstat = _a2.lstat, exports.mkdir = _a2.mkdir, exports.open = _a2.open, exports.readdir = _a2.readdir, exports.readlink = _a2.readlink, exports.rename = _a2.rename, exports.rm = _a2.rm, exports.rmdir = _a2.rmdir, exports.stat = _a2.stat, exports.symlink = _a2.symlink, exports.unlink = _a2.unlink; exports.IS_WINDOWS = process.platform === "win32"; exports.UV_FS_O_EXLOCK = 268435456; - exports.READONLY = fs2.constants.O_RDONLY; + exports.READONLY = fs3.constants.O_RDONLY; function exists(fsPath) { return __awaiter(this, void 0, void 0, function* () { try { @@ -2278,15 +18766,15 @@ var require_io_util = __commonJS({ }); } exports.isDirectory = isDirectory; - function isRooted(p2) { - p2 = normalizeSeparators(p2); - if (!p2) { + function isRooted(p3) { + p3 = normalizeSeparators(p3); + if (!p3) { throw new Error('isRooted() parameter "p" cannot be empty'); } if (exports.IS_WINDOWS) { - return p2.startsWith("\\") || /^[A-Z]:/i.test(p2); + return p3.startsWith("\\") || /^[A-Z]:/i.test(p3); } - return p2.startsWith("/"); + return p3.startsWith("/"); } exports.isRooted = isRooted; function tryGetExecutablePath(filePath, extensions) { @@ -2348,20 +18836,20 @@ var require_io_util = __commonJS({ }); } exports.tryGetExecutablePath = tryGetExecutablePath; - function normalizeSeparators(p2) { - p2 = p2 || ""; + function normalizeSeparators(p3) { + p3 = p3 || ""; if (exports.IS_WINDOWS) { - p2 = p2.replace(/\//g, "\\"); - return p2.replace(/\\\\+/g, "\\"); + p3 = p3.replace(/\//g, "\\"); + return p3.replace(/\\\\+/g, "\\"); } - return p2.replace(/\/\/+/g, "/"); + return p3.replace(/\/\/+/g, "/"); } function isUnixExecutable(stats) { return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); } function getCmdPath() { - var _a2; - return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; + var _a3; + return (_a3 = process.env["COMSPEC"]) !== null && _a3 !== void 0 ? _a3 : `cmd.exe`; } exports.getCmdPath = getCmdPath; } @@ -2371,53 +18859,53 @@ var require_io_util = __commonJS({ var require_io = __commonJS({ "node_modules/@actions/io/lib/io.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2555,9 +19043,9 @@ var require_io = __commonJS({ } const directories = []; if (process.env.PATH) { - for (const p2 of process.env.PATH.split(path2.delimiter)) { - if (p2) { - directories.push(p2); + for (const p3 of process.env.PATH.split(path2.delimiter)) { + if (p3) { + directories.push(p3); } } } @@ -2604,8 +19092,8 @@ var require_io = __commonJS({ try { yield ioUtil.lstat(destFile); yield ioUtil.unlink(destFile); - } catch (e2) { - if (e2.code === "EPERM") { + } catch (e3) { + if (e3.code === "EPERM") { yield ioUtil.chmod(destFile, "0666"); yield ioUtil.unlink(destFile); } @@ -2624,53 +19112,53 @@ var require_io = __commonJS({ var require_toolrunner = __commonJS({ "node_modules/@actions/exec/lib/toolrunner.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2711,39 +19199,39 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { cmd += toolPath; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } else if (options.windowsVerbatimArguments) { cmd += `"${toolPath}"`; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } else { cmd += this._windowsQuoteCmdArg(toolPath); - for (const a2 of args) { - cmd += ` ${this._windowsQuoteCmdArg(a2)}`; + for (const a3 of args) { + cmd += ` ${this._windowsQuoteCmdArg(a3)}`; } } } else { cmd += toolPath; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } return cmd; } _processLineBuffer(data, strBuffer, onLine) { try { - let s = strBuffer + data.toString(); - let n = s.indexOf(os2.EOL); - while (n > -1) { - const line = s.substring(0, n); + let s2 = strBuffer + data.toString(); + let n2 = s2.indexOf(os2.EOL); + while (n2 > -1) { + const line = s2.substring(0, n2); onLine(line); - s = s.substring(n + os2.EOL.length); - n = s.indexOf(os2.EOL); + s2 = s2.substring(n2 + os2.EOL.length); + n2 = s2.indexOf(os2.EOL); } - return s; + return s2; } catch (err) { this._debug(`error processing line. Failed with error ${err}`); return ""; @@ -2761,9 +19249,9 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a2 of this.args) { + for (const a3 of this.args) { argline += " "; - argline += options.windowsVerbatimArguments ? a2 : this._windowsQuoteCmdArg(a2); + argline += options.windowsVerbatimArguments ? a3 : this._windowsQuoteCmdArg(a3); } argline += '"'; return [argline]; @@ -2821,11 +19309,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i2 = arg.length; i2 > 0; i2--) { - reverse += arg[i2 - 1]; - if (quoteHit && arg[i2 - 1] === "\\") { + for (let i3 = arg.length; i3 > 0; i3--) { + reverse += arg[i3 - 1]; + if (quoteHit && arg[i3 - 1] === "\\") { reverse += "\\"; - } else if (arg[i2 - 1] === '"') { + } else if (arg[i3 - 1] === '"') { quoteHit = true; reverse += '"'; } else { @@ -2847,11 +19335,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i2 = arg.length; i2 > 0; i2--) { - reverse += arg[i2 - 1]; - if (quoteHit && arg[i2 - 1] === "\\") { + for (let i3 = arg.length; i3 > 0; i3--) { + reverse += arg[i3 - 1]; + if (quoteHit && arg[i3 - 1] === "\\") { reverse += "\\"; - } else if (arg[i2 - 1] === '"') { + } else if (arg[i3 - 1] === '"') { quoteHit = true; reverse += "\\"; } else { @@ -2936,8 +19424,8 @@ var require_toolrunner = __commonJS({ this.options.listeners.stderr(data); } if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); + const s2 = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s2.write(data); } errbuffer = this._processLineBuffer(data, errbuffer, (line) => { if (this.options.listeners && this.options.listeners.errline) { @@ -2995,39 +19483,39 @@ var require_toolrunner = __commonJS({ let inQuotes = false; let escaped = false; let arg = ""; - function append2(c) { - if (escaped && c !== '"') { + function append2(c2) { + if (escaped && c2 !== '"') { arg += "\\"; } - arg += c; + arg += c2; escaped = false; } - for (let i2 = 0; i2 < argString.length; i2++) { - const c = argString.charAt(i2); - if (c === '"') { + for (let i3 = 0; i3 < argString.length; i3++) { + const c2 = argString.charAt(i3); + if (c2 === '"') { if (!escaped) { inQuotes = !inQuotes; } else { - append2(c); + append2(c2); } continue; } - if (c === "\\" && escaped) { - append2(c); + if (c2 === "\\" && escaped) { + append2(c2); continue; } - if (c === "\\" && inQuotes) { + if (c2 === "\\" && inQuotes) { escaped = true; continue; } - if (c === " " && !inQuotes) { + if (c2 === " " && !inQuotes) { if (arg.length > 0) { args.push(arg); arg = ""; } continue; } - append2(c); + append2(c2); } if (arg.length > 0) { args.push(arg.trim()); @@ -3104,53 +19592,53 @@ var require_toolrunner = __commonJS({ var require_exec = __commonJS({ "node_modules/@actions/exec/lib/exec.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3162,28 +19650,28 @@ var require_exec = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getExecOutput = exports.exec = void 0; var string_decoder_1 = require("string_decoder"); - var tr = __importStar(require_toolrunner()); + var tr2 = __importStar(require_toolrunner()); function exec2(commandLine, args, options) { return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr.argStringToArray(commandLine); + const commandArgs = tr2.argStringToArray(commandLine); if (commandArgs.length === 0) { throw new Error(`Parameter 'commandLine' cannot be null or empty.`); } const toolPath = commandArgs[0]; args = commandArgs.slice(1).concat(args || []); - const runner = new tr.ToolRunner(toolPath, args, options); + const runner = new tr2.ToolRunner(toolPath, args, options); return runner.exec(); }); } exports.exec = exec2; function getExecOutput(commandLine, args, options) { - var _a, _b; + var _a2, _b; return __awaiter(this, void 0, void 0, function* () { let stdout = ""; let stderr = ""; const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + const originalStdoutListener = (_a2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a2 === void 0 ? void 0 : _a2.stdout; const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; const stdErrListener = (data) => { stderr += stderrDecoder.write(data); @@ -3222,7 +19710,7 @@ var require_context = __commonJS({ var os_1 = require("os"); var Context = class { constructor() { - var _a, _b, _c; + var _a2, _b, _c; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { @@ -3241,7 +19729,7 @@ var require_context = __commonJS({ this.job = process.env.GITHUB_JOB; this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.apiUrl = (_a2 = process.env.GITHUB_API_URL) !== null && _a2 !== void 0 ? _a2 : `https://api.github.com`; this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; } @@ -3268,33 +19756,33 @@ var require_context = __commonJS({ }); // node_modules/@actions/github/lib/internal/utils.js -var require_utils2 = __commonJS({ +var require_utils3 = __commonJS({ "node_modules/@actions/github/lib/internal/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; @@ -3332,7 +19820,7 @@ var require_dist_node = __commonJS({ if (typeof navigator === "object" && "userAgent" in navigator) { return navigator.userAgent; } - if (typeof process === "object" && "version" in process) { + if (typeof process === "object" && process.version !== void 0) { return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } return ""; @@ -3373,17 +19861,17 @@ var require_register = __commonJS({ var require_add = __commonJS({ "node_modules/before-after-hook/lib/add.js"(exports, module2) { module2.exports = addHook; - function addHook(state, kind, name, hook) { + function addHook(state, kind2, name, hook) { var orig = hook; if (!state.registry[name]) { state.registry[name] = []; } - if (kind === "before") { + if (kind2 === "before") { hook = function(method, options) { return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); }; } - if (kind === "after") { + if (kind2 === "after") { hook = function(method, options) { var result; return Promise.resolve().then(method.bind(null, options)).then(function(result_) { @@ -3394,7 +19882,7 @@ var require_add = __commonJS({ }); }; } - if (kind === "error") { + if (kind2 === "error") { hook = function(method, options) { return Promise.resolve().then(method.bind(null, options)).catch(function(error) { return orig(error, options); @@ -3443,9 +19931,9 @@ var require_before_after_hook = __commonJS({ ); hook.api = { remove: removeHookRef }; hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function(kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + ["before", "error", "after", "wrap"].forEach(function(kind2) { + var args = name ? [state, kind2, name] : [state, kind2]; + hook[kind2] = hook.api[kind2] = bindable(addHook, null).apply(null, args); }); } function HookSingular() { @@ -3489,14 +19977,14 @@ var require_is_plain_object = __commonJS({ "node_modules/is-plain-object/dist/is-plain-object.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - function isObject2(o2) { - return Object.prototype.toString.call(o2) === "[object Object]"; + function isObject2(o3) { + return Object.prototype.toString.call(o3) === "[object Object]"; } - function isPlainObject2(o2) { + function isPlainObject4(o3) { var ctor, prot; - if (isObject2(o2) === false) + if (isObject2(o3) === false) return false; - ctor = o2.constructor; + ctor = o3.constructor; if (ctor === void 0) return true; prot = ctor.prototype; @@ -3507,16 +19995,16 @@ var require_is_plain_object = __commonJS({ } return true; } - exports.isPlainObject = isPlainObject2; + exports.isPlainObject = isPlainObject4; } }); -// node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js +// node_modules/@octokit/endpoint/dist-node/index.js var require_dist_node2 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js"(exports) { + "node_modules/@octokit/endpoint/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var isPlainObject2 = require_is_plain_object(); + var isPlainObject4 = require_is_plain_object(); var universalUserAgent = require_dist_node(); function lowercaseKeys(object) { if (!object) { @@ -3530,7 +20018,7 @@ var require_dist_node2 = __commonJS({ function mergeDeep(defaults2, options) { const result = Object.assign({}, defaults2); Object.keys(options).forEach((key) => { - if (isPlainObject2.isPlainObject(options[key])) { + if (isPlainObject4.isPlainObject(options[key])) { if (!(key in defaults2)) Object.assign(result, { [key]: options[key] @@ -3597,7 +20085,7 @@ var require_dist_node2 = __commonJS({ if (!matches) { return []; } - return matches.map(removeNonChars).reduce((a2, b2) => a2.concat(b2), []); + return matches.map(removeNonChars).reduce((a3, b3) => a3.concat(b3), []); } function omit(object, keysToOmit) { return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { @@ -3614,8 +20102,8 @@ var require_dist_node2 = __commonJS({ }).join(""); } function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + return encodeURIComponent(str).replace(/[!'()*]/g, function(c2) { + return "%" + c2.charCodeAt(0).toString(16).toUpperCase(); }); } function encodeValue(operator, value, key) { @@ -3648,9 +20136,9 @@ var require_dist_node2 = __commonJS({ result.push(encodeValue(operator, value2, isKeyOperator(operator) ? key : "")); }); } else { - Object.keys(value).forEach(function(k3) { - if (isDefined(value[k3])) { - result.push(encodeValue(operator, value[k3], k3)); + Object.keys(value).forEach(function(k4) { + if (isDefined(value[k4])) { + result.push(encodeValue(operator, value[k4], k4)); } }); } @@ -3661,10 +20149,10 @@ var require_dist_node2 = __commonJS({ tmp.push(encodeValue(operator, value2)); }); } else { - Object.keys(value).forEach(function(k3) { - if (isDefined(value[k3])) { - tmp.push(encodeUnreserved(k3)); - tmp.push(encodeValue(operator, value[k3].toString())); + Object.keys(value).forEach(function(k4) { + if (isDefined(value[k4])) { + tmp.push(encodeUnreserved(k4)); + tmp.push(encodeValue(operator, value[k4].toString())); } }); } @@ -3695,7 +20183,7 @@ var require_dist_node2 = __commonJS({ } function expand(template, context2) { var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_2, expression, literal) { + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_3, expression, literal) { if (expression) { let operator = ""; const values = []; @@ -3791,8 +20279,8 @@ var require_dist_node2 = __commonJS({ parse }); } - var VERSION3 = "6.0.12"; - var userAgent = `octokit-endpoint.js/${VERSION3} ${universalUserAgent.getUserAgent()}`; + var VERSION4 = "6.0.12"; + var userAgent = `octokit-endpoint.js/${VERSION4} ${universalUserAgent.getUserAgent()}`; var DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -3834,10 +20322,10 @@ var require_lib2 = __commonJS({ const upperBound = Math.pow(2, bitLength) - 1; const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function(V2, opts) { + return function(V4, opts) { if (!opts) opts = {}; - let x2 = +V2; + let x2 = +V4; if (opts.enforceRange) { if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite number"); @@ -3887,15 +20375,15 @@ var require_lib2 = __commonJS({ conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions["double"] = function(V2) { - const x2 = +V2; + conversions["double"] = function(V4) { + const x2 = +V4; if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite floating-point value"); } return x2; }; - conversions["unrestricted double"] = function(V2) { - const x2 = +V2; + conversions["unrestricted double"] = function(V4) { + const x2 = +V4; if (isNaN(x2)) { throw new TypeError("Argument is NaN"); } @@ -3903,44 +20391,44 @@ var require_lib2 = __commonJS({ }; conversions["float"] = conversions["double"]; conversions["unrestricted float"] = conversions["unrestricted double"]; - conversions["DOMString"] = function(V2, opts) { + conversions["DOMString"] = function(V4, opts) { if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V2 === null) { + if (opts.treatNullAsEmptyString && V4 === null) { return ""; } - return String(V2); + return String(V4); }; - conversions["ByteString"] = function(V2, opts) { - const x2 = String(V2); - let c = void 0; - for (let i2 = 0; (c = x2.codePointAt(i2)) !== void 0; ++i2) { - if (c > 255) { + conversions["ByteString"] = function(V4, opts) { + const x2 = String(V4); + let c2 = void 0; + for (let i3 = 0; (c2 = x2.codePointAt(i3)) !== void 0; ++i3) { + if (c2 > 255) { throw new TypeError("Argument is not a valid bytestring"); } } return x2; }; - conversions["USVString"] = function(V2) { - const S2 = String(V2); - const n = S2.length; + conversions["USVString"] = function(V4) { + const S3 = String(V4); + const n2 = S3.length; const U5 = []; - for (let i2 = 0; i2 < n; ++i2) { - const c = S2.charCodeAt(i2); - if (c < 55296 || c > 57343) { - U5.push(String.fromCodePoint(c)); - } else if (56320 <= c && c <= 57343) { + for (let i3 = 0; i3 < n2; ++i3) { + const c2 = S3.charCodeAt(i3); + if (c2 < 55296 || c2 > 57343) { + U5.push(String.fromCodePoint(c2)); + } else if (56320 <= c2 && c2 <= 57343) { U5.push(String.fromCodePoint(65533)); } else { - if (i2 === n - 1) { + if (i3 === n2 - 1) { U5.push(String.fromCodePoint(65533)); } else { - const d4 = S2.charCodeAt(i2 + 1); - if (56320 <= d4 && d4 <= 57343) { - const a2 = c & 1023; - const b2 = d4 & 1023; - U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a2 + b2)); - ++i2; + const d5 = S3.charCodeAt(i3 + 1); + if (56320 <= d5 && d5 <= 57343) { + const a3 = c2 & 1023; + const b3 = d5 & 1023; + U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a3 + b3)); + ++i3; } else { U5.push(String.fromCodePoint(65533)); } @@ -3949,32 +20437,32 @@ var require_lib2 = __commonJS({ } return U5.join(""); }; - conversions["Date"] = function(V2, opts) { - if (!(V2 instanceof Date)) { + conversions["Date"] = function(V4, opts) { + if (!(V4 instanceof Date)) { throw new TypeError("Argument is not a Date object"); } - if (isNaN(V2)) { + if (isNaN(V4)) { return void 0; } - return V2; + return V4; }; - conversions["RegExp"] = function(V2, opts) { - if (!(V2 instanceof RegExp)) { - V2 = new RegExp(V2); + conversions["RegExp"] = function(V4, opts) { + if (!(V4 instanceof RegExp)) { + V4 = new RegExp(V4); } - return V2; + return V4; }; } }); // node_modules/whatwg-url/lib/utils.js -var require_utils3 = __commonJS({ +var require_utils4 = __commonJS({ "node_modules/whatwg-url/lib/utils.js"(exports, module2) { "use strict"; module2.exports.mixin = function mixin(target, source) { const keys = Object.getOwnPropertyNames(source); - for (let i2 = 0; i2 < keys.length; ++i2) { - Object.defineProperty(target, keys[i2], Object.getOwnPropertyDescriptor(source, keys[i2])); + for (let i3 = 0; i3 < keys.length; ++i3) { + Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); } }; module2.exports.wrapperSymbol = Symbol("wrapper"); @@ -4006,8 +20494,8 @@ var require_tr46 = __commonJS({ NONTRANSITIONAL: 1 }; function normalize(str) { - return str.split("\0").map(function(s) { - return s.normalize("NFC"); + return str.split("\0").map(function(s2) { + return s2.normalize("NFC"); }).join("\0"); } function findStatus(val) { @@ -4034,8 +20522,8 @@ var require_tr46 = __commonJS({ var hasError = false; var processed = ""; var len = countSymbols(domain_name); - for (var i2 = 0; i2 < len; ++i2) { - var codePoint = domain_name.codePointAt(i2); + for (var i3 = 0; i3 < len; ++i3) { + var codePoint = domain_name.codePointAt(i3); var status = findStatus(codePoint); switch (status[1]) { case "disallowed": @@ -4089,8 +20577,8 @@ var require_tr46 = __commonJS({ error = true; } var len = countSymbols(label); - for (var i2 = 0; i2 < len; ++i2) { - var status = findStatus(label.codePointAt(i2)); + for (var i3 = 0; i3 < len; ++i3) { + var status = findStatus(label.codePointAt(i3)); if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { error = true; break; @@ -4105,12 +20593,12 @@ var require_tr46 = __commonJS({ var result = mapChars(domain_name, useSTD3, processing_option); result.string = normalize(result.string); var labels = result.string.split("."); - for (var i2 = 0; i2 < labels.length; ++i2) { + for (var i3 = 0; i3 < labels.length; ++i3) { try { - var validation = validateLabel(labels[i2]); - labels[i2] = validation.label; + var validation = validateLabel(labels[i3]); + labels[i3] = validation.label; result.error = result.error || validation.error; - } catch (e2) { + } catch (e3) { result.error = true; } } @@ -4122,12 +20610,12 @@ var require_tr46 = __commonJS({ module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { var result = processing(domain_name, useSTD3, processing_option); var labels = result.string.split("."); - labels = labels.map(function(l) { + labels = labels.map(function(l3) { try { - return punycode.toASCII(l); - } catch (e2) { + return punycode.toASCII(l3); + } catch (e3) { result.error = true; - return l; + return l3; } }); if (verifyDnsLength) { @@ -4135,7 +20623,7 @@ var require_tr46 = __commonJS({ if (total.length > 253 || total.length === 0) { result.error = true; } - for (var i2 = 0; i2 < labels.length; ++i2) { + for (var i3 = 0; i3 < labels.length; ++i3) { if (labels.length > 63 || labels.length === 0) { result.error = true; break; @@ -4176,21 +20664,21 @@ var require_url_state_machine = __commonJS({ function countSymbols(str) { return punycode.ucs2.decode(str).length; } - function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? void 0 : String.fromCodePoint(c); + function at2(input, idx) { + const c2 = input[idx]; + return isNaN(c2) ? void 0 : String.fromCodePoint(c2); } - function isASCIIDigit(c) { - return c >= 48 && c <= 57; + function isASCIIDigit(c2) { + return c2 >= 48 && c2 <= 57; } - function isASCIIAlpha(c) { - return c >= 65 && c <= 90 || c >= 97 && c <= 122; + function isASCIIAlpha(c2) { + return c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122; } - function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); + function isASCIIAlphanumeric(c2) { + return isASCIIAlpha(c2) || isASCIIDigit(c2); } - function isASCIIHex(c) { - return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; + function isASCIIHex(c2) { + return isASCIIDigit(c2) || c2 >= 65 && c2 <= 70 || c2 >= 97 && c2 <= 102; } function isSingleDot(buffer) { return buffer === "." || buffer.toLowerCase() === "%2e"; @@ -4223,50 +20711,50 @@ var require_url_state_machine = __commonJS({ function defaultPort(scheme) { return specialSchemes[scheme]; } - function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); + function percentEncode(c2) { + let hex = c2.toString(16).toUpperCase(); if (hex.length === 1) { hex = "0" + hex; } return "%" + hex; } - function utf8PercentEncode(c) { - const buf = new Buffer(c); + function utf8PercentEncode(c2) { + const buf = new Buffer(c2); let str = ""; - for (let i2 = 0; i2 < buf.length; ++i2) { - str += percentEncode(buf[i2]); + for (let i3 = 0; i3 < buf.length; ++i3) { + str += percentEncode(buf[i3]); } return str; } function utf8PercentDecode(str) { const input = new Buffer(str); const output = []; - for (let i2 = 0; i2 < input.length; ++i2) { - if (input[i2] !== 37) { - output.push(input[i2]); - } else if (input[i2] === 37 && isASCIIHex(input[i2 + 1]) && isASCIIHex(input[i2 + 2])) { - output.push(parseInt(input.slice(i2 + 1, i2 + 3).toString(), 16)); - i2 += 2; + for (let i3 = 0; i3 < input.length; ++i3) { + if (input[i3] !== 37) { + output.push(input[i3]); + } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { + output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); + i3 += 2; } else { - output.push(input[i2]); + output.push(input[i3]); } } return new Buffer(output).toString(); } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; + function isC0ControlPercentEncode(c2) { + return c2 <= 31 || c2 > 126; } var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + function isPathPercentEncode(c2) { + return isC0ControlPercentEncode(c2) || extraPathPercentEncodeSet.has(c2); } var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); + function isUserinfoPercentEncode(c2) { + return isPathPercentEncode(c2) || extraUserinfoPercentEncodeSet.has(c2); } - function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - if (encodeSetPredicate(c)) { + function percentEncodeChar(c2, encodeSetPredicate) { + const cStr = String.fromCodePoint(c2); + if (encodeSetPredicate(c2)) { return utf8PercentEncode(cStr); } return cStr; @@ -4304,14 +20792,14 @@ var require_url_state_machine = __commonJS({ if (part === "") { return input; } - const n = parseIPv4Number(part); - if (n === failure) { + const n2 = parseIPv4Number(part); + if (n2 === failure) { return input; } - numbers.push(n); + numbers.push(n2); } - for (let i2 = 0; i2 < numbers.length - 1; ++i2) { - if (numbers[i2] > 255) { + for (let i3 = 0; i3 < numbers.length - 1; ++i3) { + if (numbers[i3] > 255) { return failure; } } @@ -4320,21 +20808,21 @@ var require_url_state_machine = __commonJS({ } let ipv4 = numbers.pop(); let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); + for (const n2 of numbers) { + ipv4 += n2 * Math.pow(256, 3 - counter); ++counter; } return ipv4; } function serializeIPv4(address) { let output = ""; - let n = address; - for (let i2 = 1; i2 <= 4; ++i2) { - output = String(n % 256) + output; - if (i2 !== 4) { + let n2 = address; + for (let i3 = 1; i3 <= 4; ++i3) { + output = String(n2 % 256) + output; + if (i3 !== 4) { output = "." + output; } - n = Math.floor(n / 256); + n2 = Math.floor(n2 / 256); } return output; } @@ -4368,7 +20856,7 @@ var require_url_state_machine = __commonJS({ let value = 0; let length = 0; while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at(input, pointer), 16); + value = value * 16 + parseInt(at2(input, pointer), 16); ++pointer; ++length; } @@ -4394,7 +20882,7 @@ var require_url_state_machine = __commonJS({ return failure; } while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); + const number = parseInt(at2(input, pointer)); if (ipv4Piece === null) { ipv4Piece = number; } else if (ipv4Piece === 0) { @@ -4497,8 +20985,8 @@ var require_url_state_machine = __commonJS({ } let output = ""; const decoded = punycode.ucs2.decode(input); - for (let i2 = 0; i2 < decoded.length; ++i2) { - output += percentEncodeChar(decoded[i2], isC0ControlPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); } return output; } @@ -4507,8 +20995,8 @@ var require_url_state_machine = __commonJS({ let maxLen = 1; let currStart = null; let currLen = 0; - for (let i2 = 0; i2 < arr.length; ++i2) { - if (arr[i2] !== 0) { + for (let i3 = 0; i3 < arr.length; ++i3) { + if (arr[i3] !== 0) { if (currLen > maxLen) { maxIdx = currStart; maxLen = currLen; @@ -4517,7 +21005,7 @@ var require_url_state_machine = __commonJS({ currLen = 0; } else { if (currStart === null) { - currStart = i2; + currStart = i3; } ++currLen; } @@ -4604,9 +21092,9 @@ var require_url_state_machine = __commonJS({ this.passwordTokenSeenFlag = false; this.input = punycode.ucs2.decode(this.input); for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); - const ret = this["parse " + this.state](c, cStr); + const c2 = this.input[this.pointer]; + const cStr = isNaN(c2) ? void 0 : String.fromCodePoint(c2); + const ret = this["parse " + this.state](c2, cStr); if (!ret) { break; } else if (ret === failure) { @@ -4615,8 +21103,8 @@ var require_url_state_machine = __commonJS({ } } } - URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c2, cStr) { + if (isASCIIAlpha(c2)) { this.buffer += cStr.toLowerCase(); this.state = "scheme"; } else if (!this.stateOverride) { @@ -4628,10 +21116,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + URLStateMachine.prototype["parse scheme"] = function parseScheme(c2, cStr) { + if (isASCIIAlphanumeric(c2) || c2 === 43 || c2 === 45 || c2 === 46) { this.buffer += cStr.toLowerCase(); - } else if (c === 58) { + } else if (c2 === 58) { if (this.stateOverride) { if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { return false; @@ -4678,10 +21166,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { - if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c2) { + if (this.base === null || this.base.cannotBeABaseURL && c2 !== 35) { return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { + } else if (this.base.cannotBeABaseURL && c2 === 35) { this.url.scheme = this.base.scheme; this.url.path = this.base.path.slice(); this.url.query = this.base.query; @@ -4697,8 +21185,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c2) { + if (c2 === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -4708,8 +21196,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { - if (c === 47) { + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c2) { + if (c2 === 47) { this.state = "authority"; } else { this.state = "path"; @@ -4717,18 +21205,18 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + URLStateMachine.prototype["parse relative"] = function parseRelative(c2) { this.url.scheme = this.base.scheme; - if (isNaN(c)) { + if (isNaN(c2)) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; this.url.port = this.base.port; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c === 47) { + } else if (c2 === 47) { this.state = "relative slash"; - } else if (c === 63) { + } else if (c2 === 63) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -4736,7 +21224,7 @@ var require_url_state_machine = __commonJS({ this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -4745,7 +21233,7 @@ var require_url_state_machine = __commonJS({ this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; - } else if (isSpecial(this.url) && c === 92) { + } else if (isSpecial(this.url) && c2 === 92) { this.parseError = true; this.state = "relative slash"; } else { @@ -4759,13 +21247,13 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c2) { + if (isSpecial(this.url) && (c2 === 47 || c2 === 92)) { + if (c2 === 92) { this.parseError = true; } this.state = "special authority ignore slashes"; - } else if (c === 47) { + } else if (c2 === 47) { this.state = "authority"; } else { this.url.username = this.base.username; @@ -4777,8 +21265,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c2) { + if (c2 === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -4788,8 +21276,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c2) { + if (c2 !== 47 && c2 !== 92) { this.state = "authority"; --this.pointer; } else { @@ -4797,8 +21285,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { - if (c === 64) { + URLStateMachine.prototype["parse authority"] = function parseAuthority(c2, cStr) { + if (c2 === 64) { this.parseError = true; if (this.atFlag) { this.buffer = "%40" + this.buffer; @@ -4819,7 +21307,7 @@ var require_url_state_machine = __commonJS({ } } this.buffer = ""; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { if (this.atFlag && this.buffer === "") { this.parseError = true; return failure; @@ -4832,11 +21320,11 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c2, cStr) { if (this.stateOverride && this.url.scheme === "file") { --this.pointer; this.state = "file host"; - } else if (c === 58 && !this.arrFlag) { + } else if (c2 === 58 && !this.arrFlag) { if (this.buffer === "") { this.parseError = true; return failure; @@ -4851,7 +21339,7 @@ var require_url_state_machine = __commonJS({ if (this.stateOverride === "hostname") { return false; } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { --this.pointer; if (isSpecial(this.url) && this.buffer === "") { this.parseError = true; @@ -4871,19 +21359,19 @@ var require_url_state_machine = __commonJS({ return false; } } else { - if (c === 91) { + if (c2 === 91) { this.arrFlag = true; - } else if (c === 93) { + } else if (c2 === 93) { this.arrFlag = false; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { + URLStateMachine.prototype["parse port"] = function parsePort(c2, cStr) { + if (isASCIIDigit(c2)) { this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92 || this.stateOverride) { if (this.buffer !== "") { const port = parseInt(this.buffer); if (port > Math.pow(2, 16) - 1) { @@ -4905,31 +21393,31 @@ var require_url_state_machine = __commonJS({ return true; }; var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype["parse file"] = function parseFile(c) { + URLStateMachine.prototype["parse file"] = function parseFile(c2) { this.url.scheme = "file"; - if (c === 47 || c === 92) { - if (c === 92) { + if (c2 === 47 || c2 === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "file slash"; } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c)) { + if (isNaN(c2)) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c === 63) { + } else if (c2 === 63) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; } else { - if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c2, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); shortenPath(this.url); @@ -4945,9 +21433,9 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c2) { + if (c2 === 47 || c2 === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "file host"; @@ -4964,8 +21452,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + URLStateMachine.prototype["parse file host"] = function parseFileHost(c2, cStr) { + if (isNaN(c2) || c2 === 47 || c2 === 92 || c2 === 63 || c2 === 35) { --this.pointer; if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { this.parseError = true; @@ -4996,40 +21484,40 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + URLStateMachine.prototype["parse path start"] = function parsePathStart(c2) { if (isSpecial(this.url)) { - if (c === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "path"; - if (c !== 47 && c !== 92) { + if (c2 !== 47 && c2 !== 92) { --this.pointer; } - } else if (!this.stateOverride && c === 63) { + } else if (!this.stateOverride && c2 === 63) { this.url.query = ""; this.state = "query"; - } else if (!this.stateOverride && c === 35) { + } else if (!this.stateOverride && c2 === 35) { this.url.fragment = ""; this.state = "fragment"; - } else if (c !== void 0) { + } else if (c2 !== void 0) { this.state = "path"; - if (c !== 47) { + if (c2 !== 47) { --this.pointer; } } return true; }; - URLStateMachine.prototype["parse path"] = function parsePath(c) { - if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { - if (isSpecial(this.url) && c === 92) { + URLStateMachine.prototype["parse path"] = function parsePath(c2) { + if (isNaN(c2) || c2 === 47 || isSpecial(this.url) && c2 === 92 || !this.stateOverride && (c2 === 63 || c2 === 35)) { + if (isSpecial(this.url) && c2 === 92) { this.parseError = true; } if (isDoubleDot(this.buffer)) { shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + if (c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { this.url.path.push(""); } - } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { + } else if (isSingleDot(this.buffer) && c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { this.url.path.push(""); } else if (!isSingleDot(this.buffer)) { if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { @@ -5042,83 +21530,83 @@ var require_url_state_machine = __commonJS({ this.url.path.push(this.buffer); } this.buffer = ""; - if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { + if (this.url.scheme === "file" && (c2 === void 0 || c2 === 63 || c2 === 35)) { while (this.url.path.length > 1 && this.url.path[0] === "") { this.parseError = true; this.url.path.shift(); } } - if (c === 63) { + if (c2 === 63) { this.url.query = ""; this.state = "query"; } - if (c === 35) { + if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.buffer += percentEncodeChar(c, isPathPercentEncode); + this.buffer += percentEncodeChar(c2, isPathPercentEncode); } return true; }; - URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c2) { + if (c2 === 63) { this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } else { - if (!isNaN(c) && c !== 37) { + if (!isNaN(c2) && c2 !== 37) { this.parseError = true; } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + if (!isNaN(c2)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c2, isC0ControlPercentEncode); } } return true; }; - URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { - if (isNaN(c) || !this.stateOverride && c === 35) { + URLStateMachine.prototype["parse query"] = function parseQuery(c2, cStr) { + if (isNaN(c2) || !this.stateOverride && c2 === 35) { if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { this.encodingOverride = "utf-8"; } const buffer = new Buffer(this.buffer); - for (let i2 = 0; i2 < buffer.length; ++i2) { - if (buffer[i2] < 33 || buffer[i2] > 126 || buffer[i2] === 34 || buffer[i2] === 35 || buffer[i2] === 60 || buffer[i2] === 62) { - this.url.query += percentEncode(buffer[i2]); + for (let i3 = 0; i3 < buffer.length; ++i3) { + if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { + this.url.query += percentEncode(buffer[i3]); } else { - this.url.query += String.fromCodePoint(buffer[i2]); + this.url.query += String.fromCodePoint(buffer[i3]); } } this.buffer = ""; - if (c === 35) { + if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { - if (isNaN(c)) { - } else if (c === 0) { + URLStateMachine.prototype["parse fragment"] = function parseFragment(c2) { + if (isNaN(c2)) { + } else if (c2 === 0) { this.parseError = true; } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + this.url.fragment += percentEncodeChar(c2, isC0ControlPercentEncode); } return true; }; @@ -5169,7 +21657,7 @@ var require_url_state_machine = __commonJS({ case "blob": try { return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); - } catch (e2) { + } catch (e3) { return "null"; } case "ftp": @@ -5202,15 +21690,15 @@ var require_url_state_machine = __commonJS({ module2.exports.setTheUsername = function(url2, username) { url2.username = ""; const decoded = punycode.ucs2.decode(username); - for (let i2 = 0; i2 < decoded.length; ++i2) { - url2.username += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); } }; module2.exports.setThePassword = function(url2, password) { url2.password = ""; const decoded = punycode.ucs2.decode(password); - for (let i2 = 0; i2 < decoded.length; ++i2) { - url2.password += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); } }; module2.exports.serializeHost = serializeHost; @@ -5389,7 +21877,7 @@ var require_URL = __commonJS({ "node_modules/whatwg-url/lib/URL.js"(exports, module2) { "use strict"; var conversions = require_lib2(); - var utils = require_utils3(); + var utils = require_utils4(); var Impl = require_URL_impl(); var impl = utils.implSymbol; function URL2(url2) { @@ -5400,8 +21888,8 @@ var require_URL = __commonJS({ throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); } const args = []; - for (let i2 = 0; i2 < arguments.length && i2 < 2; ++i2) { - args[i2] = arguments[i2]; + for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { + args[i3] = arguments[i3]; } args[0] = conversions["USVString"](args[0]); if (args[1] !== void 0) { @@ -5414,8 +21902,8 @@ var require_URL = __commonJS({ throw new TypeError("Illegal invocation"); } const args = []; - for (let i2 = 0; i2 < arguments.length && i2 < 0; ++i2) { - args[i2] = arguments[i2]; + for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { + args[i3] = arguments[i3]; } return this[impl].toJSON.apply(this[impl], args); }; @@ -5423,9 +21911,9 @@ var require_URL = __commonJS({ get() { return this[impl].href; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].href = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].href = V4; }, enumerable: true, configurable: true @@ -5447,9 +21935,9 @@ var require_URL = __commonJS({ get() { return this[impl].protocol; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].protocol = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].protocol = V4; }, enumerable: true, configurable: true @@ -5458,9 +21946,9 @@ var require_URL = __commonJS({ get() { return this[impl].username; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].username = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].username = V4; }, enumerable: true, configurable: true @@ -5469,9 +21957,9 @@ var require_URL = __commonJS({ get() { return this[impl].password; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].password = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].password = V4; }, enumerable: true, configurable: true @@ -5480,9 +21968,9 @@ var require_URL = __commonJS({ get() { return this[impl].host; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].host = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].host = V4; }, enumerable: true, configurable: true @@ -5491,9 +21979,9 @@ var require_URL = __commonJS({ get() { return this[impl].hostname; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].hostname = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].hostname = V4; }, enumerable: true, configurable: true @@ -5502,9 +21990,9 @@ var require_URL = __commonJS({ get() { return this[impl].port; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].port = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].port = V4; }, enumerable: true, configurable: true @@ -5513,9 +22001,9 @@ var require_URL = __commonJS({ get() { return this[impl].pathname; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].pathname = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].pathname = V4; }, enumerable: true, configurable: true @@ -5524,9 +22012,9 @@ var require_URL = __commonJS({ get() { return this[impl].search; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].search = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].search = V4; }, enumerable: true, configurable: true @@ -5535,9 +22023,9 @@ var require_URL = __commonJS({ get() { return this[impl].hash; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].hash = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].hash = V4; }, enumerable: true, configurable: true @@ -5591,16 +22079,16 @@ var require_lib3 = __commonJS({ function _interopDefault(ex) { return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; } - var Stream = _interopDefault(require("stream")); + var Stream2 = _interopDefault(require("stream")); var http2 = _interopDefault(require("http")); var Url = _interopDefault(require("url")); var whatwgUrl = _interopDefault(require_public_api()); var https2 = _interopDefault(require("https")); var zlib2 = _interopDefault(require("zlib")); - var Readable2 = Stream.Readable; + var Readable3 = Stream2.Readable; var BUFFER = Symbol("buffer"); var TYPE = Symbol("type"); - var Blob2 = class { + var Blob4 = class { constructor() { this[TYPE] = ""; const blobParts = arguments[0]; @@ -5608,10 +22096,10 @@ var require_lib3 = __commonJS({ const buffers = []; let size = 0; if (blobParts) { - const a2 = blobParts; - const length = Number(a2.length); - for (let i2 = 0; i2 < length; i2++) { - const element = a2[i2]; + const a3 = blobParts; + const length = Number(a3.length); + for (let i3 = 0; i3 < length; i3++) { + const element = a3[i3]; let buffer; if (element instanceof Buffer) { buffer = element; @@ -5619,7 +22107,7 @@ var require_lib3 = __commonJS({ buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); } else if (element instanceof ArrayBuffer) { buffer = Buffer.from(element); - } else if (element instanceof Blob2) { + } else if (element instanceof Blob4) { buffer = element[BUFFER]; } else { buffer = Buffer.from(typeof element === "string" ? element : String(element)); @@ -5649,7 +22137,7 @@ var require_lib3 = __commonJS({ return Promise.resolve(ab); } stream() { - const readable = new Readable2(); + const readable = new Readable3(); readable._read = function() { }; readable.push(this[BUFFER]); @@ -5681,17 +22169,17 @@ var require_lib3 = __commonJS({ const span = Math.max(relativeEnd - relativeStart, 0); const buffer = this[BUFFER]; const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob2([], { type: arguments[2] }); + const blob = new Blob4([], { type: arguments[2] }); blob[BUFFER] = slicedBuffer; return blob; } }; - Object.defineProperties(Blob2.prototype, { + Object.defineProperties(Blob4.prototype, { size: { enumerable: true }, type: { enumerable: true }, slice: { enumerable: true } }); - Object.defineProperty(Blob2.prototype, Symbol.toStringTag, { + Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { value: "Blob", writable: false, enumerable: false, @@ -5712,10 +22200,10 @@ var require_lib3 = __commonJS({ var convert; try { convert = require("encoding").convert; - } catch (e2) { + } catch (e3) { } var INTERNALS = Symbol("Body internals"); - var PassThrough = Stream.PassThrough; + var PassThrough = Stream2.PassThrough; function Body(body) { var _this = this; var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; @@ -5726,7 +22214,7 @@ var require_lib3 = __commonJS({ body = null; } else if (isURLSearchParams2(body)) { body = Buffer.from(body.toString()); - } else if (isBlob2(body)) + } else if (isBlob3(body)) ; else if (Buffer.isBuffer(body)) ; @@ -5734,7 +22222,7 @@ var require_lib3 = __commonJS({ body = Buffer.from(body); } else if (ArrayBuffer.isView(body)) { body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) + } else if (body instanceof Stream2) ; else { body = Buffer.from(String(body)); @@ -5746,7 +22234,7 @@ var require_lib3 = __commonJS({ }; this.size = size; this.timeout = timeout; - if (body instanceof Stream) { + if (body instanceof Stream2) { body.on("error", function(err) { const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); _this[INTERNALS].error = error; @@ -5766,11 +22254,11 @@ var require_lib3 = __commonJS({ }); }, blob() { - let ct = this.headers && this.headers.get("content-type") || ""; + let ct2 = this.headers && this.headers.get("content-type") || ""; return consumeBody.call(this).then(function(buf) { return Object.assign( - new Blob2([], { - type: ct.toLowerCase() + new Blob4([], { + type: ct2.toLowerCase() }), { [BUFFER]: buf @@ -5832,13 +22320,13 @@ var require_lib3 = __commonJS({ if (body === null) { return Body.Promise.resolve(Buffer.alloc(0)); } - if (isBlob2(body)) { + if (isBlob3(body)) { body = body.stream(); } if (Buffer.isBuffer(body)) { return Body.Promise.resolve(body); } - if (!(body instanceof Stream)) { + if (!(body instanceof Stream2)) { return Body.Promise.resolve(Buffer.alloc(0)); } let accum = []; @@ -5889,11 +22377,11 @@ var require_lib3 = __commonJS({ if (typeof convert !== "function") { throw new Error("The package `encoding` must be installed to use the textConverted() function"); } - const ct = headers.get("content-type"); + const ct2 = headers.get("content-type"); let charset = "utf-8"; let res, str; - if (ct) { - res = /charset=([^;]*)/i.exec(ct); + if (ct2) { + res = /charset=([^;]*)/i.exec(ct2); } str = buffer.slice(0, 1024).toString(); if (!res && str) { @@ -5928,22 +22416,22 @@ var require_lib3 = __commonJS({ } return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; } - function isBlob2(obj) { + function isBlob3(obj) { return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); } function clone(instance) { - let p1, p2; + let p1, p22; let body = instance.body; if (instance.bodyUsed) { throw new Error("cannot clone body after it is used"); } - if (body instanceof Stream && typeof body.getBoundary !== "function") { + if (body instanceof Stream2 && typeof body.getBoundary !== "function") { p1 = new PassThrough(); - p2 = new PassThrough(); + p22 = new PassThrough(); body.pipe(p1); - body.pipe(p2); + body.pipe(p22); instance[INTERNALS].body = p1; - body = p2; + body = p22; } return body; } @@ -5954,7 +22442,7 @@ var require_lib3 = __commonJS({ return "text/plain;charset=UTF-8"; } else if (isURLSearchParams2(body)) { return "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isBlob2(body)) { + } else if (isBlob3(body)) { return body.type || null; } else if (Buffer.isBuffer(body)) { return null; @@ -5964,7 +22452,7 @@ var require_lib3 = __commonJS({ return null; } else if (typeof body.getBoundary === "function") { return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream) { + } else if (body instanceof Stream2) { return null; } else { return "text/plain;charset=UTF-8"; @@ -5974,7 +22462,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { return 0; - } else if (isBlob2(body)) { + } else if (isBlob3(body)) { return body.size; } else if (Buffer.isBuffer(body)) { return body.length; @@ -5991,7 +22479,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { dest.end(); - } else if (isBlob2(body)) { + } else if (isBlob3(body)) { body.stream().pipe(dest); } else if (Buffer.isBuffer(body)) { dest.write(body); @@ -6025,11 +22513,11 @@ var require_lib3 = __commonJS({ return void 0; } var MAP = Symbol("map"); - var Headers = class { + var Headers3 = class { constructor() { let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof Headers) { + if (init instanceof Headers3) { const rawHeaders = init.raw(); const headerNames = Object.keys(rawHeaders); for (const headerName of headerNames) { @@ -6082,13 +22570,13 @@ var require_lib3 = __commonJS({ forEach(callback) { let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; let pairs = getHeaders(this); - let i2 = 0; - while (i2 < pairs.length) { - var _pairs$i = pairs[i2]; + let i3 = 0; + while (i3 < pairs.length) { + var _pairs$i = pairs[i3]; const name = _pairs$i[0], value = _pairs$i[1]; callback.call(thisArg, value, name, this); pairs = getHeaders(this); - i2++; + i3++; } } set(name, value) { @@ -6137,14 +22625,14 @@ var require_lib3 = __commonJS({ return createHeadersIterator(this, "key+value"); } }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; + Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { value: "Headers", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Headers.prototype, { + Object.defineProperties(Headers3.prototype, { get: { enumerable: true }, forEach: { enumerable: true }, set: { enumerable: true }, @@ -6156,22 +22644,22 @@ var require_lib3 = __commonJS({ entries: { enumerable: true } }); function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === "key" ? function(k3) { - return k3.toLowerCase(); - } : kind === "value" ? function(k3) { - return headers[MAP][k3].join(", "); - } : function(k3) { - return [k3.toLowerCase(), headers[MAP][k3].join(", ")]; + return keys.map(kind2 === "key" ? function(k4) { + return k4.toLowerCase(); + } : kind2 === "value" ? function(k4) { + return headers[MAP][k4].join(", "); + } : function(k4) { + return [k4.toLowerCase(), headers[MAP][k4].join(", ")]; }); } var INTERNAL = Symbol("internal"); - function createHeadersIterator(target, kind) { + function createHeadersIterator(target, kind2) { const iterator = Object.create(HeadersIteratorPrototype); iterator[INTERNAL] = { target, - kind, + kind: kind2, index: 0 }; return iterator; @@ -6182,8 +22670,8 @@ var require_lib3 = __commonJS({ throw new TypeError("Value of `this` is not a HeadersIterator"); } var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; - const values = getHeaders(target, kind); + const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind2); const len = values.length; if (index >= len) { return { @@ -6213,7 +22701,7 @@ var require_lib3 = __commonJS({ return obj; } function createHeadersLenient(obj) { - const headers = new Headers(); + const headers = new Headers3(); for (const name of Object.keys(obj)) { if (invalidTokenRegex.test(name)) { continue; @@ -6237,13 +22725,13 @@ var require_lib3 = __commonJS({ } var INTERNALS$1 = Symbol("Response internals"); var STATUS_CODES = http2.STATUS_CODES; - var Response = class { + var Response3 = class { constructor() { let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; Body.call(this, body, opts); const status = opts.status || 200; - const headers = new Headers(opts.headers); + const headers = new Headers3(opts.headers); if (body != null && !headers.has("Content-Type")) { const contentType = extractContentType(body); if (contentType) { @@ -6277,7 +22765,7 @@ var require_lib3 = __commonJS({ return this[INTERNALS$1].headers; } clone() { - return new Response(clone(this), { + return new Response3(clone(this), { url: this.url, status: this.status, statusText: this.statusText, @@ -6287,8 +22775,8 @@ var require_lib3 = __commonJS({ }); } }; - Body.mixIn(Response.prototype); - Object.defineProperties(Response.prototype, { + Body.mixIn(Response3.prototype); + Object.defineProperties(Response3.prototype, { url: { enumerable: true }, status: { enumerable: true }, ok: { enumerable: true }, @@ -6297,7 +22785,7 @@ var require_lib3 = __commonJS({ headers: { enumerable: true }, clone: { enumerable: true } }); - Object.defineProperty(Response.prototype, Symbol.toStringTag, { + Object.defineProperty(Response3.prototype, Symbol.toStringTag, { value: "Response", writable: false, enumerable: false, @@ -6313,7 +22801,7 @@ var require_lib3 = __commonJS({ } return parse_url(urlStr); } - var streamDestructionSupported = "destroy" in Stream.Readable.prototype; + var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; function isRequest(input) { return typeof input === "object" && typeof input[INTERNALS$2] === "object"; } @@ -6321,7 +22809,7 @@ var require_lib3 = __commonJS({ const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); return !!(proto2 && proto2.constructor.name === "AbortSignal"); } - var Request = class { + var Request3 = class { constructor(input) { let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; let parsedURL; @@ -6345,7 +22833,7 @@ var require_lib3 = __commonJS({ timeout: init.timeout || input.timeout || 0, size: init.size || input.size || 0 }); - const headers = new Headers(init.headers || input.headers || {}); + const headers = new Headers3(init.headers || input.headers || {}); if (inputBody != null && !headers.has("Content-Type")) { const contentType = extractContentType(inputBody); if (contentType) { @@ -6386,17 +22874,17 @@ var require_lib3 = __commonJS({ return this[INTERNALS$2].signal; } clone() { - return new Request(this); + return new Request3(this); } }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { + Body.mixIn(Request3.prototype); + Object.defineProperty(Request3.prototype, Symbol.toStringTag, { value: "Request", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Request.prototype, { + Object.defineProperties(Request3.prototype, { method: { enumerable: true }, url: { enumerable: true }, headers: { enumerable: true }, @@ -6406,7 +22894,7 @@ var require_lib3 = __commonJS({ }); function getNodeRequestOptions(request) { const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); + const headers = new Headers3(request[INTERNALS$2].headers); if (!headers.has("Accept")) { headers.set("Accept", "*/*"); } @@ -6416,7 +22904,7 @@ var require_lib3 = __commonJS({ if (!/^https?:$/.test(parsedURL.protocol)) { throw new TypeError("Only HTTP(S) protocols are supported"); } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + if (request.signal && request.body instanceof Stream2.Readable && !streamDestructionSupported) { throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); } let contentLengthValue = null; @@ -6442,9 +22930,6 @@ var require_lib3 = __commonJS({ if (typeof agent === "function") { agent = agent(parsedURL); } - if (!headers.has("Connection") && !agent) { - headers.set("Connection", "close"); - } return Object.assign({}, parsedURL, { method: request.method, headers: exportNodeCompatibleHeaders(headers), @@ -6461,7 +22946,7 @@ var require_lib3 = __commonJS({ AbortError.prototype.constructor = AbortError; AbortError.prototype.name = "AbortError"; var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream.PassThrough; + var PassThrough$1 = Stream2.PassThrough; var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { const orig = new URL$1(original).hostname; const dest = new URL$1(destination).hostname; @@ -6472,13 +22957,13 @@ var require_lib3 = __commonJS({ const dest = new URL$1(destination).protocol; return orig === dest; }; - function fetch(url2, opts) { - if (!fetch.Promise) { + function fetch2(url2, opts) { + if (!fetch2.Promise) { throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); } - Body.Promise = fetch.Promise; - return new fetch.Promise(function(resolve, reject) { - const request = new Request(url2, opts); + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request = new Request3(url2, opts); const options = getNodeRequestOptions(request); const send = (options.protocol === "https:" ? https2 : http2).request; const signal = request.signal; @@ -6486,7 +22971,7 @@ var require_lib3 = __commonJS({ const abort = function abort2() { let error = new AbortError("The user aborted a request."); reject(error); - if (request.body && request.body instanceof Stream.Readable) { + if (request.body && request.body instanceof Stream2.Readable) { destroyStream(request.body, error); } if (!response || !response.body) @@ -6536,9 +23021,9 @@ var require_lib3 = __commonJS({ } }); if (parseInt(process.version.substring(1)) < 14) { - req.on("socket", function(s) { - s.addListener("close", function(hadError) { - const hasDataListener = s.listenerCount("data") > 0; + req.on("socket", function(s2) { + s2.addListener("close", function(hadError) { + const hasDataListener = s2.listenerCount("data") > 0; if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -6550,7 +23035,7 @@ var require_lib3 = __commonJS({ req.on("response", function(res) { clearTimeout(reqTimeout); const headers = createHeadersLenient(res.headers); - if (fetch.isRedirect(res.statusCode)) { + if (fetch2.isRedirect(res.statusCode)) { const location = headers.get("Location"); let locationURL = null; try { @@ -6586,7 +23071,7 @@ var require_lib3 = __commonJS({ return; } const requestOpts = { - headers: new Headers(request.headers), + headers: new Headers3(request.headers), follow: request.follow, counter: request.counter + 1, agent: request.agent, @@ -6612,7 +23097,7 @@ var require_lib3 = __commonJS({ requestOpts.body = void 0; requestOpts.headers.delete("content-length"); } - resolve(fetch(new Request(locationURL, requestOpts))); + resolve(fetch2(new Request3(locationURL, requestOpts))); finalize(); return; } @@ -6633,7 +23118,7 @@ var require_lib3 = __commonJS({ }; const codings = headers.get("Content-Encoding"); if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); return; } @@ -6643,7 +23128,7 @@ var require_lib3 = __commonJS({ }; if (codings == "gzip" || codings == "x-gzip") { body = body.pipe(zlib2.createGunzip(zlibOptions2)); - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); return; } @@ -6655,12 +23140,12 @@ var require_lib3 = __commonJS({ } else { body = body.pipe(zlib2.createInflateRaw()); } - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); }); raw.on("end", function() { if (!response) { - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); } }); @@ -6668,11 +23153,11 @@ var require_lib3 = __commonJS({ } if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") { body = body.pipe(zlib2.createBrotliDecompress()); - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); return; } - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); }); writeToStream(req, request); @@ -6680,14 +23165,14 @@ var require_lib3 = __commonJS({ } function fixResponseChunkedTransferBadEnding(request, errorCallback) { let socket; - request.on("socket", function(s) { - socket = s; + request.on("socket", function(s2) { + socket = s2; }); request.on("response", function(response) { const headers = response.headers; if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { response.once("close", function(hadError) { - const hasDataListener = socket.listenerCount("data") > 0; + const hasDataListener = socket && socket.listenerCount("data") > 0; if (hasDataListener && !hadError) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -6705,17 +23190,18 @@ var require_lib3 = __commonJS({ stream4.end(); } } - fetch.isRedirect = function(code) { + fetch2.isRedirect = function(code) { return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; }; - fetch.Promise = global.Promise; - module2.exports = exports = fetch; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports; - exports.Headers = Headers; - exports.Request = Request; - exports.Response = Response; + exports.Headers = Headers3; + exports.Request = Request3; + exports.Response = Response3; exports.FetchError = FetchError; + exports.AbortError = AbortError; } }); @@ -6746,20 +23232,20 @@ var require_wrappy = __commonJS({ return wrappy(fn)(cb); if (typeof fn !== "function") throw new TypeError("need wrapper function"); - Object.keys(fn).forEach(function(k3) { - wrapper[k3] = fn[k3]; + Object.keys(fn).forEach(function(k4) { + wrapper[k4] = fn[k4]; }); return wrapper; function wrapper() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } var ret = fn.apply(this, args); var cb2 = args[args.length - 1]; if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k3) { - ret[k3] = cb2[k3]; + Object.keys(cb2).forEach(function(k4) { + ret[k4] = cb2[k4]; }); } return ret; @@ -6789,33 +23275,33 @@ var require_once = __commonJS({ }); }); function once(fn) { - var f3 = function() { - if (f3.called) - return f3.value; - f3.called = true; - return f3.value = fn.apply(this, arguments); + var f4 = function() { + if (f4.called) + return f4.value; + f4.called = true; + return f4.value = fn.apply(this, arguments); }; - f3.called = false; - return f3; + f4.called = false; + return f4; } function onceStrict(fn) { - var f3 = function() { - if (f3.called) - throw new Error(f3.onceError); - f3.called = true; - return f3.value = fn.apply(this, arguments); + var f4 = function() { + if (f4.called) + throw new Error(f4.onceError); + f4.called = true; + return f4.value = fn.apply(this, arguments); }; var name = fn.name || "Function wrapped with `once`"; - f3.onceError = name + " shouldn't be called more than once"; - f3.called = false; - return f3; + f4.onceError = name + " shouldn't be called more than once"; + f4.called = false; + return f4; } } }); -// node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js +// node_modules/@octokit/request-error/dist-node/index.js var require_dist_node4 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js"(exports) { + "node_modules/@octokit/request-error/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -6867,9 +23353,9 @@ var require_dist_node4 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js +// node_modules/@octokit/request/dist-node/index.js var require_dist_node5 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js"(exports) { + "node_modules/@octokit/request/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -6877,23 +23363,23 @@ var require_dist_node5 = __commonJS({ } var endpoint = require_dist_node2(); var universalUserAgent = require_dist_node(); - var isPlainObject2 = require_is_plain_object(); + var isPlainObject4 = require_is_plain_object(); var nodeFetch = _interopDefault(require_lib3()); var requestError = require_dist_node4(); - var VERSION3 = "5.6.3"; + var VERSION4 = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject2.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + if (isPlainObject4.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } let headers = {}; let status; let url2; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign( + const fetch2 = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch2(requestOptions.url, Object.assign( { method: requestOptions.method, body: requestOptions.body, @@ -7013,24 +23499,24 @@ var require_dist_node5 = __commonJS({ } var request = withDefaults(endpoint.endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION3} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION4} ${universalUserAgent.getUserAgent()}` } }); exports.request = request; } }); -// node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js +// node_modules/@octokit/graphql/dist-node/index.js var require_dist_node6 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js"(exports) { + "node_modules/@octokit/graphql/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var request = require_dist_node5(); var universalUserAgent = require_dist_node(); - var VERSION3 = "4.8.0"; + var VERSION4 = "4.8.0"; function _buildMessageForResponseErrors(data) { return `Request failed due to following response errors: -` + data.errors.map((e2) => ` - ${e2.message}`).join("\n"); +` + data.errors.map((e3) => ` - ${e3.message}`).join("\n"); } var GraphqlResponseError = class extends Error { constructor(request2, headers, response) { @@ -7101,7 +23587,7 @@ var require_dist_node6 = __commonJS({ } var graphql$1 = withDefaults(request.request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION3} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION4} ${universalUserAgent.getUserAgent()}` }, method: "POST", url: "/graphql" @@ -7118,9 +23604,9 @@ var require_dist_node6 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js +// node_modules/@octokit/auth-token/dist-node/index.js var require_dist_node7 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js"(exports) { + "node_modules/@octokit/auth-token/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; @@ -7164,9 +23650,9 @@ var require_dist_node7 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js +// node_modules/@octokit/core/dist-node/index.js var require_dist_node8 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js"(exports) { + "node_modules/@octokit/core/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var universalUserAgent = require_dist_node(); @@ -7179,9 +23665,9 @@ var require_dist_node8 = __commonJS({ return {}; var target = {}; var sourceKeys = Object.keys(source); - var key, i2; - for (i2 = 0; i2 < sourceKeys.length; i2++) { - key = sourceKeys[i2]; + var key, i3; + for (i3 = 0; i3 < sourceKeys.length; i3++) { + key = sourceKeys[i3]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; @@ -7192,11 +23678,11 @@ var require_dist_node8 = __commonJS({ if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i2; + var key, i3; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) { - key = sourceSymbolKeys[i2]; + for (i3 = 0; i3 < sourceSymbolKeys.length; i3++) { + key = sourceSymbolKeys[i3]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) @@ -7206,7 +23692,7 @@ var require_dist_node8 = __commonJS({ } return target; } - var VERSION3 = "3.6.0"; + var VERSION4 = "3.6.0"; var _excluded = ["authStrategy"]; var Octokit = class { constructor(options = {}) { @@ -7222,7 +23708,7 @@ var require_dist_node8 = __commonJS({ format: "" } }; - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION3} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION4} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -7287,14 +23773,14 @@ var require_dist_node8 = __commonJS({ return OctokitWithDefaults; } static plugin(...newPlugins) { - var _a; + var _a2; const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this { - }, _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a); + const NewOctokit = (_a2 = class extends this { + }, _a2.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a2); return NewOctokit; } }; - Octokit.VERSION = VERSION3; + Octokit.VERSION = VERSION4; Octokit.plugins = []; exports.Octokit = Octokit; } @@ -7319,9 +23805,9 @@ var require_dist_node9 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i2 = 1; i2 < arguments.length; i2++) { - var source = arguments[i2] != null ? arguments[i2] : {}; - if (i2 % 2) { + for (var i3 = 1; i3 < arguments.length; i3++) { + var source = arguments[i3] != null ? arguments[i3] : {}; + if (i3 % 2) { ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }); @@ -8296,7 +24782,7 @@ var require_dist_node9 = __commonJS({ updateAuthenticated: ["PATCH /user"] } }; - var VERSION3 = "5.16.2"; + var VERSION4 = "5.16.2"; function endpointsToMethods(octokit2, endpointsMap) { const newMethods = {}; for (const [scope, endpoints] of Object.entries(endpointsMap)) { @@ -8361,14 +24847,14 @@ var require_dist_node9 = __commonJS({ rest: api2 }; } - restEndpointMethods.VERSION = VERSION3; + restEndpointMethods.VERSION = VERSION4; function legacyRestEndpointMethods(octokit2) { const api2 = endpointsToMethods(octokit2, Endpoints); return _objectSpread2(_objectSpread2({}, api2), {}, { rest: api2 }); } - legacyRestEndpointMethods.VERSION = VERSION3; + legacyRestEndpointMethods.VERSION = VERSION4; exports.legacyRestEndpointMethods = legacyRestEndpointMethods; exports.restEndpointMethods = restEndpointMethods; } @@ -8379,7 +24865,7 @@ var require_dist_node10 = __commonJS({ "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var VERSION3 = "2.21.3"; + var VERSION4 = "2.21.3"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -8391,9 +24877,9 @@ var require_dist_node10 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i2 = 1; i2 < arguments.length; i2++) { - var source = null != arguments[i2] ? arguments[i2] : {}; - i2 % 2 ? ownKeys(Object(source), true).forEach(function(key) { + for (var i3 = 1; i3 < arguments.length; i3++) { + var source = null != arguments[i3] ? arguments[i3] : {}; + i3 % 2 ? ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); @@ -8522,7 +25008,7 @@ var require_dist_node10 = __commonJS({ }) }; } - paginateRest.VERSION = VERSION3; + paginateRest.VERSION = VERSION4; exports.composePaginateRest = composePaginateRest; exports.isPaginatingEndpoint = isPaginatingEndpoint; exports.paginateRest = paginateRest; @@ -8531,33 +25017,33 @@ var require_dist_node10 = __commonJS({ }); // node_modules/@actions/github/lib/utils.js -var require_utils4 = __commonJS({ +var require_utils5 = __commonJS({ "node_modules/@actions/github/lib/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; @@ -8565,7 +25051,7 @@ var require_utils4 = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; var Context = __importStar(require_context()); - var Utils = __importStar(require_utils2()); + var Utils = __importStar(require_utils3()); var core_1 = require_dist_node8(); var plugin_rest_endpoint_methods_1 = require_dist_node9(); var plugin_paginate_rest_1 = require_dist_node10(); @@ -8594,30 +25080,30 @@ var require_utils4 = __commonJS({ var require_github = __commonJS({ "node_modules/@actions/github/lib/github.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding(result, mod, k4); } __setModuleDefault(result, mod); return result; @@ -8625,7 +25111,7 @@ var require_github = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokit = exports.context = void 0; var Context = __importStar(require_context()); - var utils_1 = require_utils4(); + var utils_1 = require_utils5(); exports.context = new Context.Context(); function getOctokit(token, options, ...additionalPlugins) { const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); @@ -8685,8 +25171,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i2 = 0; i2 < count; i2++) - clear += this.line + (i2 < count - 1 ? cursor.up() : ""); + for (let i3 = 0; i3 < count; i3++) + clear += this.line + (i3 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -8714,7 +25200,7 @@ var require_picocolors = __commonJS({ }; var createColors = (enabled = isColorSupported) => ({ isColorSupported: enabled, - reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, + reset: enabled ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, @@ -8752,8 +25238,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } return fn.apply(thisArg, args); }; @@ -8762,7 +25248,7 @@ var require_bind = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/utils.js -var require_utils5 = __commonJS({ +var require_utils6 = __commonJS({ "node_modules/openai/node_modules/axios/lib/utils.js"(exports, module2) { "use strict"; var bind2 = require_bind(); @@ -8779,7 +25265,7 @@ var require_utils5 = __commonJS({ function isArrayBuffer2(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData2(val) { + function isFormData3(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -8800,7 +25286,7 @@ var require_utils5 = __commonJS({ function isObject2(val) { return val !== null && typeof val === "object"; } - function isPlainObject2(val) { + function isPlainObject4(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -8810,17 +25296,17 @@ var require_utils5 = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile2(val) { + function isFile3(val) { return toString3.call(val) === "[object File]"; } - function isBlob2(val) { + function isBlob3(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction2(val) { + function isFunction4(val) { return toString3.call(val) === "[object Function]"; } function isStream2(val) { - return isObject2(val) && isFunction2(val.pipe); + return isObject2(val) && isFunction4(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -8842,8 +25328,8 @@ var require_utils5 = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { for (var key in obj) { @@ -8856,9 +25342,9 @@ var require_utils5 = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject2(result[key]) && isPlainObject2(val)) { + if (isPlainObject4(result[key]) && isPlainObject4(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject2(val)) { + } else if (isPlainObject4(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -8866,20 +25352,20 @@ var require_utils5 = __commonJS({ result[key] = val; } } - for (var i2 = 0, l = arguments.length; i2 < l; i2++) { - forEach2(arguments[i2], assignValue); + for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + forEach2(arguments[i3], assignValue); } return result; } - function extend2(a2, b2, thisArg) { - forEach2(b2, function assignValue(val, key) { + function extend2(a3, b3, thisArg) { + forEach2(b3, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a2[key] = bind2(val, thisArg); + a3[key] = bind2(val, thisArg); } else { - a2[key] = val; + a3[key] = val; } }); - return a2; + return a3; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -8891,17 +25377,17 @@ var require_utils5 = __commonJS({ isArray: isArray2, isArrayBuffer: isArrayBuffer2, isBuffer: isBuffer2, - isFormData: isFormData2, + isFormData: isFormData3, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, isObject: isObject2, - isPlainObject: isPlainObject2, + isPlainObject: isPlainObject4, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile2, - isBlob: isBlob2, - isFunction: isFunction2, + isFile: isFile3, + isBlob: isBlob3, + isFunction: isFunction4, isStream: isStream2, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, @@ -8918,7 +25404,7 @@ var require_utils5 = __commonJS({ var require_buildURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/buildURL.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } @@ -8969,7 +25455,7 @@ var require_buildURL = __commonJS({ var require_InterceptorManager = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/InterceptorManager.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); function InterceptorManager2() { this.handlers = []; } @@ -8988,9 +25474,9 @@ var require_InterceptorManager = __commonJS({ } }; InterceptorManager2.prototype.forEach = function forEach2(fn) { - utils.forEach(this.handlers, function forEachHandler(h2) { - if (h2 !== null) { - fn(h2); + utils.forEach(this.handlers, function forEachHandler(h3) { + if (h3 !== null) { + fn(h3); } }); }; @@ -9002,7 +25488,7 @@ var require_InterceptorManager = __commonJS({ var require_normalizeHeaderName = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/normalizeHeaderName.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { @@ -9018,8 +25504,8 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config7, code, request, response) { - error.config = config7; + module2.exports = function enhanceError(error, config8, code, request, response) { + error.config = config8; if (code) { error.code = code; } @@ -9063,9 +25549,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config7, code, request, response) { + module2.exports = function createError(message, config8, code, request, response) { var error = new Error(message); - return enhanceError(error, config7, code, request, response); + return enhanceError(error, config8, code, request, response); }; } }); @@ -9093,11 +25579,11 @@ var require_settle = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/helpers/cookies.js -var require_cookies = __commonJS({ +var require_cookies2 = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; - var utils = require_utils5(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + var utils = require_utils6(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { return { write: function write(name, value, expires, path2, domain, secure) { var cookie = []; @@ -9124,7 +25610,7 @@ var require_cookies = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return { write: function write() { }, @@ -9142,7 +25628,7 @@ var require_cookies = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL2(url2) { + module2.exports = function isAbsoluteURL3(url2) { return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); }; } @@ -9162,10 +25648,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL2 = require_isAbsoluteURL(); + var isAbsoluteURL3 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL2(requestedURL)) { + if (baseURL && !isAbsoluteURL3(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -9177,7 +25663,7 @@ var require_buildFullPath = __commonJS({ var require_parseHeaders = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/parseHeaders.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var ignoreDuplicateOf2 = [ "age", "authorization", @@ -9201,14 +25687,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i2; + var i3; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i2 = line.indexOf(":"); - key = utils.trim(line.substr(0, i2)).toLowerCase(); - val = utils.trim(line.substr(i2 + 1)); + i3 = line.indexOf(":"); + key = utils.trim(line.substr(0, i3)).toLowerCase(); + val = utils.trim(line.substr(i3 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -9229,8 +25715,8 @@ var require_parseHeaders = __commonJS({ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; - var utils = require_utils5(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + var utils = require_utils6(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; @@ -9257,7 +25743,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -9284,9 +25770,9 @@ var require_Cancel = __commonJS({ var require_xhr = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/xhr.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var settle2 = require_settle(); - var cookies = require_cookies(); + var cookies = require_cookies2(); var buildURL2 = require_buildURL(); var buildFullPath2 = require_buildFullPath(); var parseHeaders = require_parseHeaders(); @@ -9294,32 +25780,32 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config7) { + module2.exports = function xhrAdapter(config8) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config7.data; - var requestHeaders = config7.headers; - var responseType = config7.responseType; + var requestData = config8.data; + var requestHeaders = config8.headers; + var responseType = config8.responseType; var onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } var request = new XMLHttpRequest(); - if (config7.auth) { - var username = config7.auth.username || ""; - var password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; + if (config8.auth) { + var username = config8.auth.username || ""; + var password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config7.baseURL, config7.url); - request.open(config7.method.toUpperCase(), buildURL2(fullPath, config7.params, config7.paramsSerializer), true); - request.timeout = config7.timeout; + var fullPath = buildFullPath2(config8.baseURL, config8.url); + request.open(config8.method.toUpperCase(), buildURL2(fullPath, config8.params, config8.paramsSerializer), true); + request.timeout = config8.timeout; function onloadend() { if (!request) { return; @@ -9331,7 +25817,7 @@ var require_xhr = __commonJS({ status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config7, + config: config8, request }; settle2(function _resolve(value) { @@ -9360,31 +25846,31 @@ var require_xhr = __commonJS({ if (!request) { return; } - reject(createError("Request aborted", config7, "ECONNABORTED", request)); + reject(createError("Request aborted", config8, "ECONNABORTED", request)); request = null; }; request.onerror = function handleError() { - reject(createError("Network Error", config7, null, request)); + reject(createError("Network Error", config8, null, request)); request = null; }; request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config7.transitional || transitionalDefaults; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + var timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config8.transitional || transitionalDefaults; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config7, + config8, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", request )); request = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config7.withCredentials || isURLSameOrigin(fullPath)) && config7.xsrfCookieName ? cookies.read(config7.xsrfCookieName) : void 0; + var xsrfValue = (config8.withCredentials || isURLSameOrigin(fullPath)) && config8.xsrfCookieName ? cookies.read(config8.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config7.xsrfHeaderName] = xsrfValue; + requestHeaders[config8.xsrfHeaderName] = xsrfValue; } } if ("setRequestHeader" in request) { @@ -9396,19 +25882,19 @@ var require_xhr = __commonJS({ } }); } - if (!utils.isUndefined(config7.withCredentials)) { - request.withCredentials = !!config7.withCredentials; + if (!utils.isUndefined(config8.withCredentials)) { + request.withCredentials = !!config8.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config7.responseType; + request.responseType = config8.responseType; } - if (typeof config7.onDownloadProgress === "function") { - request.addEventListener("progress", config7.onDownloadProgress); + if (typeof config8.onDownloadProgress === "function") { + request.addEventListener("progress", config8.onDownloadProgress); } - if (typeof config7.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config7.onUploadProgress); + if (typeof config8.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", config8.onUploadProgress); } - if (config7.cancelToken || config7.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = function(cancel) { if (!request) { return; @@ -9417,9 +25903,9 @@ var require_xhr = __commonJS({ request.abort(); request = null; }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } if (!requestData) { @@ -9434,12 +25920,12 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s = 1e3; - var m3 = s * 60; - var h2 = m3 * 60; - var d4 = h2 * 24; - var w3 = d4 * 7; - var y4 = d4 * 365.25; + var s2 = 1e3; + var m4 = s2 * 60; + var h3 = m4 * 60; + var d5 = h3 * 24; + var w4 = d5 * 7; + var y4 = d5 * 365.25; module2.exports = function(val, options) { options = options || {}; var type = typeof val; @@ -9463,7 +25949,7 @@ var require_ms = __commonJS({ if (!match) { return; } - var n = parseFloat(match[1]); + var n2 = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": @@ -9471,78 +25957,78 @@ var require_ms = __commonJS({ case "yrs": case "yr": case "y": - return n * y4; + return n2 * y4; case "weeks": case "week": case "w": - return n * w3; + return n2 * w4; case "days": case "day": case "d": - return n * d4; + return n2 * d5; case "hours": case "hour": case "hrs": case "hr": case "h": - return n * h2; + return n2 * h3; case "minutes": case "minute": case "mins": case "min": case "m": - return n * m3; + return n2 * m4; case "seconds": case "second": case "secs": case "sec": case "s": - return n * s; + return n2 * s2; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n; + return n2; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d4) { - return Math.round(ms / d4) + "d"; + if (msAbs >= d5) { + return Math.round(ms / d5) + "d"; } - if (msAbs >= h2) { - return Math.round(ms / h2) + "h"; + if (msAbs >= h3) { + return Math.round(ms / h3) + "h"; } - if (msAbs >= m3) { - return Math.round(ms / m3) + "m"; + if (msAbs >= m4) { + return Math.round(ms / m4) + "m"; } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; + if (msAbs >= s2) { + return Math.round(ms / s2) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d4) { - return plural(ms, msAbs, d4, "day"); + if (msAbs >= d5) { + return plural(ms, msAbs, d5, "day"); } - if (msAbs >= h2) { - return plural(ms, msAbs, h2, "hour"); + if (msAbs >= h3) { + return plural(ms, msAbs, h3, "hour"); } - if (msAbs >= m3) { - return plural(ms, msAbs, m3, "minute"); + if (msAbs >= m4) { + return plural(ms, msAbs, m4, "minute"); } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); + if (msAbs >= s2) { + return plural(ms, msAbs, s2, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n2, name) { + var isPlural = msAbs >= n2 * 1.5; + return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); } } }); @@ -9567,8 +26053,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i2 = 0; i2 < namespace.length; i2++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i2); + for (let i3 = 0; i3 < namespace.length; i3++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i3); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -9579,11 +26065,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug(...args) { - if (!debug.enabled) { + function debug2(...args) { + if (!debug2.enabled) { return; } - const self2 = debug; + const self2 = debug2; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -9613,12 +26099,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend2; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { enumerable: true, configurable: false, get: () => { @@ -9636,9 +26122,9 @@ var require_common = __commonJS({ } }); if (typeof createDebug.init === "function") { - createDebug.init(debug); + createDebug.init(debug2); } - return debug; + return debug2; } function extend2(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); @@ -9650,14 +26136,14 @@ var require_common = __commonJS({ createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i2; + let i3; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i2 = 0; i2 < len; i2++) { - if (!split[i2]) { + for (i3 = 0; i3 < len; i3++) { + if (!split[i3]) { continue; } - namespaces = split[i2].replace(/\*/g, ".*?"); + namespaces = split[i3].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -9677,15 +26163,15 @@ var require_common = __commonJS({ if (name[name.length - 1] === "*") { return true; } - let i2; + let i3; let len; - for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { - if (createDebug.skips[i2].test(name)) { + for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { + if (createDebug.skips[i3].test(name)) { return false; } } - for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { - if (createDebug.names[i2].test(name)) { + for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { + if (createDebug.names[i3].test(name)) { return true; } } @@ -9819,8 +26305,8 @@ var require_browser = __commonJS({ if (!this.useColors) { return; } - const c = "color: " + this.color; - args.splice(1, 0, c, "color: inherit"); + const c2 = "color: " + this.color; + args.splice(1, 0, c2, "color: inherit"); let index = 0; let lastC = 0; args[0].replace(/%[a-zA-Z%]/g, (match) => { @@ -9832,7 +26318,7 @@ var require_browser = __commonJS({ lastC = index; } }); - args.splice(lastC, 0, c); + args.splice(lastC, 0, c2); } exports.log = console.debug || console.log || (() => { }); @@ -9847,15 +26333,15 @@ var require_browser = __commonJS({ } } function load() { - let r2; + let r3; try { - r2 = exports.storage.getItem("debug"); + r3 = exports.storage.getItem("debug"); } catch (error) { } - if (!r2 && typeof process !== "undefined" && "env" in process) { - r2 = process.env.DEBUG; + if (!r3 && typeof process !== "undefined" && "env" in process) { + r3 = process.env.DEBUG; } - return r2; + return r3; } function localstorage() { try { @@ -10094,8 +26580,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k3) => { - return k3.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_3, k4) => { + return k4.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -10116,8 +26602,8 @@ var require_node = __commonJS({ function formatArgs(args) { const { namespace: name, useColors: useColors2 } = this; if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const c2 = this.color; + const colorCode = "\x1B[3" + (c2 < 8 ? c2 : "8;5;" + c2); const prefix = ` ${colorCode};1m${name} \x1B[0m`; args[0] = prefix + args[0].split("\n").join("\n" + prefix); args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); @@ -10144,11 +26630,11 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug) { - debug.inspectOpts = {}; + function init(debug2) { + debug2.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i2 = 0; i2 < keys.length; i2++) { - debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; + for (let i3 = 0; i3 < keys.length; i3++) { + debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; } } module2.exports = require_common()(exports); @@ -10178,19 +26664,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug; + var debug2; module2.exports = function() { - if (!debug) { + if (!debug2) { try { - debug = require_src2()("follow-redirects"); + debug2 = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug !== "function") { - debug = function() { + if (typeof debug2 !== "function") { + debug2 = function() { }; } } - debug.apply(null, arguments); + debug2.apply(null, arguments); }; } }); @@ -10204,7 +26690,26 @@ var require_follow_redirects = __commonJS({ var https2 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug = require_debug(); + var debug2 = require_debug(); + var useNativeURL = false; + try { + assert(new URL2()); + } catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -10223,7 +26728,8 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded" + "Maximum number of redirects exceeded", + RedirectionError ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -10233,6 +26739,7 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); + var destroy = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -10248,15 +26755,25 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - self2._processResponse(response); + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); + } }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); + this._currentRequest.abort(); this.emit("abort"); }; + RedirectableRequest.prototype.destroy = function(error) { + destroyRequest(this._currentRequest, error); + destroy.call(this, error); + return this; + }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -10264,7 +26781,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction2(encoding)) { + if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -10284,10 +26801,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { + if (isFunction4(data)) { callback = data; data = encoding = null; - } else if (isFunction2(encoding)) { + } else if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -10337,6 +26854,7 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -10356,6 +26874,7 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); + this.on("close", clearTimer); return this; }; [ @@ -10364,8 +26883,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a2, b2) { - return this._currentRequest[method](a2, b2); + RedirectableRequest.prototype[method] = function(a3, b3) { + return this._currentRequest[method](a3, b3); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -10399,8 +26918,7 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - this.emit("error", new TypeError("Unsupported protocol " + protocol)); - return; + throw new TypeError("Unsupported protocol " + protocol); } if (this._options.agents) { var scheme = protocol.slice(0, -1); @@ -10413,15 +26931,15 @@ var require_follow_redirects = __commonJS({ } this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; if (this._isRedirect) { - var i2 = 0; + var i3 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { if (request === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i2 < buffers.length) { - var buffer = buffers[i2++]; + } else if (i3 < buffers.length) { + var buffer = buffers[i3++]; if (!request.finished) { request.write(buffer.data, buffer.encoding, writeNext); } @@ -10449,11 +26967,10 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; + throw new TooManyRedirectsError(); } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -10469,24 +26986,17 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = url2.parse(this._currentUrl); + var currentUrlParts = parseUrl(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl; - try { - redirectUrl = url2.resolve(currentUrl, location); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - return; - } - debug("redirecting to", redirectUrl); + var redirectUrl = resolveUrl(location, currentUrl); + debug2("redirecting to", redirectUrl.href); this._isRedirect = true; - var redirectUrlParts = url2.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { - removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); } - if (isFunction2(beforeRedirect)) { + if (isFunction4(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -10496,19 +27006,10 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - try { - beforeRedirect(this._options, responseDetails, requestDetails); - } catch (err) { - this.emit("error", err); - return; - } + beforeRedirect(this._options, responseDetails, requestDetails); this._sanitizeOptions(this._options); } - try { - this._performRequest(); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - } + this._performRequest(); }; function wrap(protocols) { var exports2 = { @@ -10521,25 +27022,16 @@ var require_follow_redirects = __commonJS({ var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); function request(input, options, callback) { - if (isString2(input)) { - var parsed; - try { - parsed = urlToOptions(new URL2(input)); - } catch (err) { - parsed = url2.parse(input); - } - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - input = parsed; - } else if (URL2 && input instanceof URL2) { - input = urlToOptions(input); + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString2(input)) { + input = spreadUrlObject(parseUrl(input)); } else { callback = options; - options = input; + options = validateUrl(input); input = { protocol }; } - if (isFunction2(options)) { + if (isFunction4(options)) { callback = options; options = null; } @@ -10552,7 +27044,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); + debug2("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -10569,20 +27061,43 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function urlToOptions(urlObject) { - var options = { - protocol: urlObject.protocol, - hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, - hash: urlObject.hash, - search: urlObject.search, - pathname: urlObject.pathname, - path: urlObject.pathname + urlObject.search, - href: urlObject.href - }; - if (urlObject.port !== "") { - options.port = Number(urlObject.port); + function parseUrl(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url2.parse(input)); + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } } - return options; + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; + } + function spreadUrlObject(urlObject, target) { + var spread3 = target || {}; + for (var key of preservedUrlFields) { + spread3[key] = urlObject[key]; + } + if (spread3.hostname.startsWith("[")) { + spread3.hostname = spread3.hostname.slice(1, -1); + } + if (spread3.port !== "") { + spread3.port = Number(spread3.port); + } + spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; + return spread3; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -10602,16 +27117,24 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - CustomError.prototype.constructor = CustomError; - CustomError.prototype.name = "Error [" + code + "]"; + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false + } + }); return CustomError; } - function abortRequest(request) { + function destroyRequest(request, error) { for (var event of events) { request.removeListener(event, eventHandlers[event]); } request.on("error", noop2); - request.abort(); + request.destroy(error); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -10621,12 +27144,15 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction2(value) { + function isFunction4(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } + function isURL(value) { + return URL2 && value instanceof URL2; + } module2.exports = wrap({ http: http2, https: https2 }); module2.exports.wrap = wrap; } @@ -10645,7 +27171,7 @@ var require_data = __commonJS({ var require_http = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/http.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var settle2 = require_settle(); var buildFullPath2 = require_buildFullPath(); var buildURL2 = require_buildURL(); @@ -10655,7 +27181,7 @@ var require_http = __commonJS({ var httpsFollow2 = require_follow_redirects().https; var url2 = require("url"); var zlib2 = require("zlib"); - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -10675,15 +27201,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config7) { + module2.exports = function httpAdapter2(config8) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -10696,8 +27222,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config7.data; - var headers = config7.headers; + var data = config8.data; + var headers = config8.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -10707,7 +27233,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION3; + headers["User-Agent"] = "axios/" + VERSION4; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -10718,23 +27244,23 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config7 + config8 )); } - if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config7)); + if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config8)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config7.auth) { - var username = config7.auth.username || ""; - var password = config7.auth.password || ""; + if (config8.auth) { + var username = config8.auth.username || ""; + var password = config8.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config7.baseURL, config7.url); + var fullPath = buildFullPath2(config8.baseURL, config8.url); var parsed = url2.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { @@ -10747,31 +27273,31 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; + var agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; try { - buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config7; - customErr.url = config7.url; + customErr.config = config8; + customErr.url = config8.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""), - method: config7.method.toUpperCase(), + path: buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""), + method: config8.method.toUpperCase(), headers, agent, - agents: { http: config7.httpAgent, https: config7.httpsAgent }, + agents: { http: config8.httpAgent, https: config8.httpsAgent }, auth }; - if (config7.socketPath) { - options.socketPath = config7.socketPath; + if (config8.socketPath) { + options.socketPath = config8.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config7.proxy; + var proxy = config8.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; @@ -10780,8 +27306,8 @@ var require_http = __commonJS({ var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s) { - return s.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s2) { + return s2.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -10818,28 +27344,28 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config7.transport) { - transport = config7.transport; - } else if (config7.maxRedirects === 0) { + if (config8.transport) { + transport = config8.transport; + } else if (config8.maxRedirects === 0) { transport = isHttpsProxy ? https2 : http2; } else { - if (config7.maxRedirects) { - options.maxRedirects = config7.maxRedirects; + if (config8.maxRedirects) { + options.maxRedirects = config8.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config7.maxBodyLength > -1) { - options.maxBodyLength = config7.maxBodyLength; + if (config8.maxBodyLength > -1) { + options.maxBodyLength = config8.maxBodyLength; } - if (config7.insecureHTTPParser) { - options.insecureHTTPParser = config7.insecureHTTPParser; + if (config8.insecureHTTPParser) { + options.insecureHTTPParser = config8.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config7.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config8.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": @@ -10853,10 +27379,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config7, + config: config8, request: lastRequest }; - if (config7.responseType === "stream") { + if (config8.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -10865,12 +27391,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { + if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config7.maxContentLength + " exceeded", - config7, + "maxContentLength size of " + config8.maxContentLength + " exceeded", + config8, null, lastRequest )); @@ -10881,25 +27407,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config7, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config8, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config7, null, lastRequest)); + reject(enhanceError(err, config8, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config7.responseType !== "arraybuffer") { - responseData = responseData.toString(config7.responseEncoding); - if (!config7.responseEncoding || config7.responseEncoding === "utf8") { + if (config8.responseType !== "arraybuffer") { + responseData = responseData.toString(config8.responseEncoding); + if (!config8.responseEncoding || config8.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config7, err.code, response.request, response)); + reject(enhanceError(err, config8, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -10908,17 +27434,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config7, null, req)); + reject(enhanceError(err, config8, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config7.timeout) { - var timeout = parseInt(config7.timeout, 10); + if (config8.timeout) { + var timeout = parseInt(config8.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config7, + config8, "ERR_PARSE_TIMEOUT", req )); @@ -10927,35 +27453,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config7.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config8.timeout + "ms exceeded"; } - var transitional2 = config7.transitional || transitionalDefaults; + var transitional2 = config8.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config7, + config8, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config7.cancelToken || config7.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config7, null, req)); + reject(enhanceError(err, config8, null, req)); }).pipe(req); } else { req.end(data); @@ -10969,11 +27495,11 @@ var require_http = __commonJS({ var require_defaults = __commonJS({ "node_modules/openai/node_modules/axios/lib/defaults/index.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE2 = { + var DEFAULT_CONTENT_TYPE = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -10995,9 +27521,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -11033,12 +27559,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw enhanceError(e2, this, "E_JSON_PARSE"); + if (e3.name === "SyntaxError") { + throw enhanceError(e3, this, "E_JSON_PARSE"); } - throw e2; + throw e3; } } } @@ -11058,11 +27584,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); module2.exports = defaults2; } @@ -11072,7 +27598,7 @@ var require_defaults = __commonJS({ var require_transformData = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/transformData.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var defaults2 = require_defaults(); module2.exports = function transformData2(data, headers, fns) { var context2 = this || defaults2; @@ -11098,58 +27624,58 @@ var require_isCancel = __commonJS({ var require_dispatchRequest = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/dispatchRequest.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var transformData2 = require_transformData(); var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config7) { - if (config7.cancelToken) { - config7.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config8) { + if (config8.cancelToken) { + config8.cancelToken.throwIfRequested(); } - if (config7.signal && config7.signal.aborted) { + if (config8.signal && config8.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config7) { - throwIfCancellationRequested2(config7); - config7.headers = config7.headers || {}; - config7.data = transformData2.call( - config7, - config7.data, - config7.headers, - config7.transformRequest + module2.exports = function dispatchRequest2(config8) { + throwIfCancellationRequested2(config8); + config8.headers = config8.headers || {}; + config8.data = transformData2.call( + config8, + config8.data, + config8.headers, + config8.transformRequest ); - config7.headers = utils.merge( - config7.headers.common || {}, - config7.headers[config7.method] || {}, - config7.headers + config8.headers = utils.merge( + config8.headers.common || {}, + config8.headers[config8.method] || {}, + config8.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config7.headers[method]; + delete config8.headers[method]; } ); - var adapter = config7.adapter || defaults2.adapter; - return adapter(config7).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config7); + var adapter = config8.adapter || defaults2.adapter; + return adapter(config8).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config8); response.data = transformData2.call( - config7, + config8, response.data, response.headers, - config7.transformResponse + config8.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config7); + throwIfCancellationRequested2(config8); if (reason && reason.response) { reason.response.data = transformData2.call( - config7, + config8, reason.response.data, reason.response.headers, - config7.transformResponse + config8.transformResponse ); } } @@ -11163,10 +27689,10 @@ var require_dispatchRequest = __commonJS({ var require_mergeConfig = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/mergeConfig.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config7 = {}; + var config8 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -11234,9 +27760,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); }); - return config7; + return config8; }; } }); @@ -11245,17 +27771,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i3) { validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -11278,9 +27804,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i2 = keys.length; - while (i2-- > 0) { - var opt = keys[i2]; + var i3 = keys.length; + while (i3-- > 0) { + var opt = keys[i3]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -11306,7 +27832,7 @@ var require_validator = __commonJS({ var require_Axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/Axios.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var buildURL2 = require_buildURL(); var InterceptorManager2 = require_InterceptorManager(); var dispatchRequest2 = require_dispatchRequest(); @@ -11320,22 +27846,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config7) { + Axios3.prototype.request = function request(configOrUrl, config8) { if (typeof configOrUrl === "string") { - config7 = config7 || {}; - config7.url = configOrUrl; + config8 = config8 || {}; + config8.url = configOrUrl; } else { - config7 = configOrUrl || {}; + config8 = configOrUrl || {}; } - config7 = mergeConfig3(this.defaults, config7); - if (config7.method) { - config7.method = config7.method.toLowerCase(); + config8 = mergeConfig3(this.defaults, config8); + if (config8.method) { + config8.method = config8.method.toLowerCase(); } else if (this.defaults.method) { - config7.method = this.defaults.method.toLowerCase(); + config8.method = this.defaults.method.toLowerCase(); } else { - config7.method = "get"; + config8.method = "get"; } - var transitional2 = config7.transitional; + var transitional2 = config8.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -11346,7 +27872,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -11361,13 +27887,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config7); + promise = Promise.resolve(config8); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config7; + var newConfig = config8; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -11388,22 +27914,22 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config7) { - config7 = mergeConfig3(this.defaults, config7); - return buildURL2(config7.url, config7.params, config7.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config8) { + config8 = mergeConfig3(this.defaults, config8); + return buildURL2(config8.url, config8.params, config8.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { - Axios3.prototype[method] = function(url2, config7) { - return this.request(mergeConfig3(config7 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios3.prototype[method] = function(url2, config8) { + return this.request(mergeConfig3(config8 || {}, { method, url: url2, - data: (config7 || {}).data + data: (config8 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - Axios3.prototype[method] = function(url2, data, config7) { - return this.request(mergeConfig3(config7 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + Axios3.prototype[method] = function(url2, data, config8) { + return this.request(mergeConfig3(config8 || {}, { method, url: url2, data @@ -11431,10 +27957,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i2; - var l = token._listeners.length; - for (i2 = 0; i2 < l; i2++) { - token._listeners[i2](cancel); + var i3; + var l3 = token._listeners.length; + for (i3 = 0; i3 < l3; i3++) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -11484,8 +28010,8 @@ var require_CancelToken = __commonJS({ }; CancelToken3.source = function source() { var cancel; - var token = new CancelToken3(function executor(c) { - cancel = c; + var token = new CancelToken3(function executor(c2) { + cancel = c2; }); return { token, @@ -11512,7 +28038,7 @@ var require_spread = __commonJS({ var require_isAxiosError = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAxiosError.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function isAxiosError3(payload) { return utils.isObject(payload) && payload.isAxiosError === true; }; @@ -11523,7 +28049,7 @@ var require_isAxiosError = __commonJS({ var require_axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/axios.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var bind2 = require_bind(); var Axios3 = require_Axios(); var mergeConfig3 = require_mergeConfig(); @@ -11601,25 +28127,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -11706,28 +28232,28 @@ var require_common2 = __commonJS({ }); // node_modules/openai/dist/api.js -var require_api = __commonJS({ +var require_api2 = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -11744,12 +28270,14 @@ var require_api = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -11978,7 +28506,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -12000,8 +28528,8 @@ var require_api = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -12022,7 +28550,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12037,8 +28565,8 @@ var require_api = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -12473,15 +29001,15 @@ var require_api = __commonJS({ return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n, size, responseFormat, user, options) { + createImageVariation(image, n2, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, @@ -12616,11 +29144,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, createModeration(createModerationRequest, options) { return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); @@ -12703,11 +29231,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } - createImageVariation(image, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); @@ -12767,7 +29295,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.2.1", + version: "3.3.0", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -12802,7 +29330,7 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream = require("stream").Stream; + var Stream2 = require("stream").Stream; var util2 = require("util"); module2.exports = DelayedStream; function DelayedStream() { @@ -12814,7 +29342,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream); + util2.inherits(DelayedStream, Stream2); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -12861,9 +29389,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r2 = Stream.prototype.pipe.apply(this, arguments); + var r3 = Stream2.prototype.pipe.apply(this, arguments); this.resume(); - return r2; + return r3; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -12894,7 +29422,7 @@ var require_delayed_stream = __commonJS({ var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { var util2 = require("util"); - var Stream = require("stream").Stream; + var Stream2 = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -12909,7 +29437,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream); + util2.inherits(CombinedStream, Stream2); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -12941,7 +29469,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); + Stream2.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -21668,8 +38196,8 @@ var require_mime_types = __commonJS({ return; } extensions[type] = exts; - for (var i2 = 0; i2 < exts.length; i2++) { - var extension2 = exts[i2]; + for (var i3 = 0; i3 < exts.length; i3++) { + var extension2 = exts[i3]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -21784,8 +38312,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b2) { - return sortMethod(list[a2], list[b2]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a3, b3) { + return sortMethod(list[a3], list[b3]); }); } return initState; @@ -21862,11 +38390,11 @@ var require_serialOrdered = __commonJS({ }); return terminator.bind(state, callback); } - function ascending(a2, b2) { - return a2 < b2 ? -1 : a2 > b2 ? 1 : 0; + function ascending(a3, b3) { + return a3 < b3 ? -1 : a3 > b3 ? 1 : 0; } - function descending(a2, b2) { - return -1 * ascending(a2, b2); + function descending(a3, b3) { + return -1 * ascending(a3, b3); } } }); @@ -21914,16 +38442,16 @@ var require_form_data = __commonJS({ var http2 = require("http"); var https2 = require("https"); var parseUrl = require("url").parse; - var fs2 = require("fs"); - var Stream = require("stream").Stream; + var fs3 = require("fs"); + var Stream2 = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); + module2.exports = FormData5; + util2.inherits(FormData5, CombinedStream); + function FormData5(options) { + if (!(this instanceof FormData5)) { + return new FormData5(options); } this._overheadLength = 0; this._valueLength = 0; @@ -21934,9 +38462,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { + FormData5.LINE_BREAK = "\r\n"; + FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData5.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -21956,7 +38484,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData3.prototype._trackLength = function(header, value, options) { + FormData5.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -21966,20 +38494,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { + this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData3.prototype._lengthRetriever = function(value, callback) { + FormData5.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs2.stat(value.path, function(err, stat) { + fs3.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -22001,7 +38529,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData3.prototype._multiPartHeader = function(field, value, options) { + FormData5.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -22027,12 +38555,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; + return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; }; - FormData3.prototype._getContentDisposition = function(value, options) { + FormData5.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path2.normalize(options.filepath).replace(/\\/g, "/"); @@ -22046,7 +38574,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData3.prototype._getContentType = function(value, options) { + FormData5.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -22061,13 +38589,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; + contentType = FormData5.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData3.prototype._multiPartFooter = function() { + FormData5.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData3.LINE_BREAK; + var footer = FormData5.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -22075,10 +38603,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; + FormData5.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; }; - FormData3.prototype.getHeaders = function(userHeaders) { + FormData5.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -22090,40 +38618,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData3.prototype.setBoundary = function(boundary) { + FormData5.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData3.prototype.getBoundary = function() { + FormData5.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData3.prototype.getBuffer = function() { + FormData5.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { - if (typeof this._streams[i2] !== "function") { - if (Buffer.isBuffer(this._streams[i2])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); + for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { + if (typeof this._streams[i3] !== "function") { + if (Buffer.isBuffer(this._streams[i3])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); } - if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); + if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData3.prototype._generateBoundary = function() { + FormData5.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i2 = 0; i2 < 24; i2++) { + for (var i3 = 0; i3 < 24; i3++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData3.prototype.getLengthSync = function() { + FormData5.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -22133,14 +38661,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData3.prototype.hasKnownLength = function() { + FormData5.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData3.prototype.getLength = function(cb) { + FormData5.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -22160,7 +38688,7 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData3.prototype.submit = function(params, cb) { + FormData5.prototype.submit = function(params, cb) { var request, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); @@ -22205,14 +38733,14 @@ var require_form_data = __commonJS({ }.bind(this)); return request; }; - FormData3.prototype._error = function(err) { + FormData5.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData3.prototype.toString = function() { + FormData5.prototype.toString = function() { return "[object FormData]"; }; } @@ -22259,24 +38787,24 @@ var require_configuration = __commonJS({ var require_dist2 = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __exportStar = exports && exports.__exportStar || function(m3, exports2) { - for (var p2 in m3) - if (p2 !== "default" && !exports2.hasOwnProperty(p2)) - __createBinding(exports2, m3, p2); + var __exportStar = exports && exports.__exportStar || function(m4, exports2) { + for (var p3 in m4) + if (p3 !== "default" && !exports2.hasOwnProperty(p3)) + __createBinding(exports2, m4, p3); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_api(), exports); + __exportStar(require_api2(), exports); __exportStar(require_configuration(), exports); } }); @@ -22286,14 +38814,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.0.3", + version: "16.4.5", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - require: "./lib/main.js", types: "./lib/main.d.ts", + require: "./lib/main.js", default: "./lib/main.js" }, "./config": "./config.js", @@ -22310,6 +38838,7 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", + "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -22317,6 +38846,7 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, + funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -22329,30 +38859,34 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@types/node": "^17.0.9", + "@definitelytyped/dtslint": "^0.0.133", + "@types/node": "^18.11.3", decache: "^4.6.1", - dtslint: "^3.7.0", - sinon: "^12.0.1", - standard: "^16.0.4", + sinon: "^14.0.1", + standard: "^17.0.0", "standard-markdown": "^7.1.0", - "standard-version": "^9.3.2", - tap: "^15.1.6", + "standard-version": "^9.5.0", + tap: "^16.3.0", tar: "^6.1.11", - typescript: "^4.5.4" + typescript: "^4.8.4" }, engines: { node: ">=12" + }, + browser: { + fs: false } }; } }); // node_modules/dotenv/lib/main.js -var require_main = __commonJS({ +var require_main2 = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs2 = require("fs"); + var fs3 = require("fs"); var path2 = require("path"); var os2 = require("os"); + var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -22375,57 +38909,240 @@ var require_main = __commonJS({ } return obj; } + function _parseVault(options) { + const vaultPath = _vaultPath(options); + const result = DotenvModule.configDotenv({ path: vaultPath }); + if (!result.parsed) { + const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); + err.code = "MISSING_DATA"; + throw err; + } + const keys = _dotenvKey(options).split(","); + const length = keys.length; + let decrypted; + for (let i3 = 0; i3 < length; i3++) { + try { + const key = keys[i3].trim(); + const attrs = _instructions(result, key); + decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); + break; + } catch (error) { + if (i3 + 1 >= length) { + throw error; + } + } + } + return DotenvModule.parse(decrypted); + } function _log(message) { + console.log(`[dotenv@${version}][INFO] ${message}`); + } + function _warn(message) { + console.log(`[dotenv@${version}][WARN] ${message}`); + } + function _debug(message) { console.log(`[dotenv@${version}][DEBUG] ${message}`); } + function _dotenvKey(options) { + if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { + return options.DOTENV_KEY; + } + if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { + return process.env.DOTENV_KEY; + } + return ""; + } + function _instructions(result, dotenvKey) { + let uri; + try { + uri = new URL(dotenvKey); + } catch (error) { + if (error.code === "ERR_INVALID_URL") { + const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + throw error; + } + const key = uri.password; + if (!key) { + const err = new Error("INVALID_DOTENV_KEY: Missing key part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environment = uri.searchParams.get("environment"); + if (!environment) { + const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; + const ciphertext = result.parsed[environmentKey]; + if (!ciphertext) { + const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); + err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; + throw err; + } + return { ciphertext, key }; + } + function _vaultPath(options) { + let possibleVaultPath = null; + if (options && options.path && options.path.length > 0) { + if (Array.isArray(options.path)) { + for (const filepath of options.path) { + if (fs3.existsSync(filepath)) { + possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; + } + } + } else { + possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; + } + } else { + possibleVaultPath = path2.resolve(process.cwd(), ".env.vault"); + } + if (fs3.existsSync(possibleVaultPath)) { + return possibleVaultPath; + } + return null; + } function _resolveHome(envPath) { return envPath[0] === "~" ? path2.join(os2.homedir(), envPath.slice(1)) : envPath; } - function config7(options) { - let dotenvPath = path2.resolve(process.cwd(), ".env"); + function _configVault(options) { + _log("Loading env from encrypted .env.vault"); + const parsed = DotenvModule._parseVault(options); + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsed, options); + return { parsed }; + } + function configDotenv(options) { + const dotenvPath = path2.resolve(process.cwd(), ".env"); let encoding = "utf8"; - const debug = Boolean(options && options.debug); - const override = Boolean(options && options.override); - if (options) { - if (options.path != null) { - dotenvPath = _resolveHome(options.path); - } - if (options.encoding != null) { - encoding = options.encoding; + const debug2 = Boolean(options && options.debug); + if (options && options.encoding) { + encoding = options.encoding; + } else { + if (debug2) { + _debug("No encoding is specified. UTF-8 is used by default"); } } + let optionPaths = [dotenvPath]; + if (options && options.path) { + if (!Array.isArray(options.path)) { + optionPaths = [_resolveHome(options.path)]; + } else { + optionPaths = []; + for (const filepath of options.path) { + optionPaths.push(_resolveHome(filepath)); + } + } + } + let lastError; + const parsedAll = {}; + for (const path3 of optionPaths) { + try { + const parsed = DotenvModule.parse(fs3.readFileSync(path3, { encoding })); + DotenvModule.populate(parsedAll, parsed, options); + } catch (e3) { + if (debug2) { + _debug(`Failed to load ${path3} ${e3.message}`); + } + lastError = e3; + } + } + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsedAll, options); + if (lastError) { + return { parsed: parsedAll, error: lastError }; + } else { + return { parsed: parsedAll }; + } + } + function config8(options) { + if (_dotenvKey(options).length === 0) { + return DotenvModule.configDotenv(options); + } + const vaultPath = _vaultPath(options); + if (!vaultPath) { + _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); + return DotenvModule.configDotenv(options); + } + return DotenvModule._configVault(options); + } + function decrypt(encrypted, keyStr) { + const key = Buffer.from(keyStr.slice(-64), "hex"); + let ciphertext = Buffer.from(encrypted, "base64"); + const nonce = ciphertext.subarray(0, 12); + const authTag = ciphertext.subarray(-16); + ciphertext = ciphertext.subarray(12, -16); try { - const parsed = DotenvModule.parse(fs2.readFileSync(dotenvPath, { encoding })); - Object.keys(parsed).forEach(function(key) { - if (!Object.prototype.hasOwnProperty.call(process.env, key)) { - process.env[key] = parsed[key]; - } else { + const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); + aesgcm.setAuthTag(authTag); + return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; + } catch (error) { + const isRange = error instanceof RangeError; + const invalidKeyLength = error.message === "Invalid key length"; + const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; + if (isRange || invalidKeyLength) { + const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } else if (decryptionFailed) { + const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + err.code = "DECRYPTION_FAILED"; + throw err; + } else { + throw error; + } + } + } + function populate(processEnv, parsed, options = {}) { + const debug2 = Boolean(options && options.debug); + const override = Boolean(options && options.override); + if (typeof parsed !== "object") { + const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + err.code = "OBJECT_REQUIRED"; + throw err; + } + for (const key of Object.keys(parsed)) { + if (Object.prototype.hasOwnProperty.call(processEnv, key)) { + if (override === true) { + processEnv[key] = parsed[key]; + } + if (debug2) { if (override === true) { - process.env[key] = parsed[key]; - } - if (debug) { - if (override === true) { - _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); - } else { - _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); - } + _debug(`"${key}" is already defined and WAS overwritten`); + } else { + _debug(`"${key}" is already defined and was NOT overwritten`); } } - }); - return { parsed }; - } catch (e2) { - if (debug) { - _log(`Failed to load ${dotenvPath} ${e2.message}`); + } else { + processEnv[key] = parsed[key]; } - return { error: e2 }; } } var DotenvModule = { - config: config7, - parse + configDotenv, + _configVault, + _parseVault, + config: config8, + decrypt, + parse, + populate }; + module2.exports.configDotenv = DotenvModule.configDotenv; + module2.exports._configVault = DotenvModule._configVault; + module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; + module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; + module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -22448,26 +39165,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k3 of Object.keys(obj)) { - const val = obj[k3]; + for (const k4 of Object.keys(obj)) { + const val = obj[k4]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k3 + "[]") + separator + safe(item) + eol; + out += safe(k4 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k3); + children.push(k4); } else { - out += safe(k3) + separator + safe(val) + eol; + out += safe(k4) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k3 of children) { - const nk = dotSplit(k3).join("\\."); + for (const k4 of children) { + const nk = dotSplit(k4).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k3], { + const child = encode3(obj[k4], { section, whitespace }); @@ -22481,25 +39198,25 @@ var require_ini = __commonJS({ var dotSplit = (str) => str.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map((part) => part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "")); var decode = (str) => { const out = /* @__PURE__ */ Object.create(null); - let p2 = out; + let p3 = out; let section = null; - const re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re); + const match = line.match(re2); if (!match) { continue; } if (match[1] !== void 0) { section = unsafe(match[1]); if (section === "__proto__") { - p2 = /* @__PURE__ */ Object.create(null); + p3 = /* @__PURE__ */ Object.create(null); continue; } - p2 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); + p3 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); continue; } const keyRaw = unsafe(match[2]); @@ -22511,41 +39228,41 @@ var require_ini = __commonJS({ const valueRaw = match[3] ? unsafe(match[4]) : true; const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw; if (isArray2) { - if (!hasOwnProperty2.call(p2, key)) { - p2[key] = []; - } else if (!Array.isArray(p2[key])) { - p2[key] = [p2[key]]; + if (!hasOwnProperty2.call(p3, key)) { + p3[key] = []; + } else if (!Array.isArray(p3[key])) { + p3[key] = [p3[key]]; } } - if (Array.isArray(p2[key])) { - p2[key].push(value); + if (Array.isArray(p3[key])) { + p3[key].push(value); } else { - p2[key] = value; + p3[key] = value; } } const remove = []; - for (const k3 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k3) || typeof out[k3] !== "object" || Array.isArray(out[k3])) { + for (const k4 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k4) || typeof out[k4] !== "object" || Array.isArray(out[k4])) { continue; } - const parts = dotSplit(k3); - p2 = out; - const l = parts.pop(); - const nl = l.replace(/\\\./g, "."); + const parts = dotSplit(k4); + p3 = out; + const l3 = parts.pop(); + const nl = l3.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; } - if (!hasOwnProperty2.call(p2, part) || typeof p2[part] !== "object") { - p2[part] = /* @__PURE__ */ Object.create(null); + if (!hasOwnProperty2.call(p3, part) || typeof p3[part] !== "object") { + p3[part] = /* @__PURE__ */ Object.create(null); } - p2 = p2[part]; + p3 = p3[part]; } - if (p2 === out && nl === l) { + if (p3 === out && nl === l3) { continue; } - p2[nl] = out[k3]; - remove.push(k3); + p3[nl] = out[k4]; + remove.push(k4); } for (const del of remove) { delete out[del]; @@ -22574,21 +39291,21 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i2 = 0, l = val.length; i2 < l; i2++) { - const c = val.charAt(i2); + for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { + const c2 = val.charAt(i3); if (esc) { - if ("\\;#".indexOf(c) !== -1) { - unesc += c; + if ("\\;#".indexOf(c2) !== -1) { + unesc += c2; } else { - unesc += "\\" + c; + unesc += "\\" + c2; } esc = false; - } else if (";#".indexOf(c) !== -1) { + } else if (";#".indexOf(c2) !== -1) { break; - } else if (c === "\\") { + } else if (c2 === "\\") { esc = true; } else { - unesc += c; + unesc += c2; } } if (esc) { @@ -22650,7 +39367,7 @@ var require_load = __commonJS({ }); // node_modules/@commitlint/types/lib/parse.js -var require_parse2 = __commonJS({ +var require_parse3 = __commonJS({ "node_modules/@commitlint/types/lib/parse.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -22676,12 +39393,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); + })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); + })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); } }); @@ -22689,25 +39406,25 @@ var require_rules = __commonJS({ var require_lib4 = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - var desc = Object.getOwnPropertyDescriptor(m3, k3); - if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) { + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m3[k3]; + return m4[k4]; } }; } - Object.defineProperty(o2, k22, desc); - } : function(o2, m3, k3, k22) { + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __exportStar = exports && exports.__exportStar || function(m3, exports2) { - for (var p2 in m3) - if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) - __createBinding(exports2, m3, p2); + var __exportStar = exports && exports.__exportStar || function(m4, exports2) { + for (var p3 in m4) + if (p3 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p3)) + __createBinding(exports2, m4, p3); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_ensure(), exports); @@ -22715,7 +39432,7 @@ var require_lib4 = __commonJS({ __exportStar(require_is_ignored(), exports); __exportStar(require_lint(), exports); __exportStar(require_load(), exports); - __exportStar(require_parse2(), exports); + __exportStar(require_parse3(), exports); __exportStar(require_prompt(), exports); __exportStar(require_rules(), exports); } @@ -22734,8 +39451,8 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s2) { + return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; }; function getProxyForUrl2(url2) { var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; @@ -22838,13 +39555,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length); + const ptr2 = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -22857,7 +39574,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -22879,6 +39596,7 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -22897,124 +39615,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); + const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4); + const ptr = malloc(arg.length * 4, 4) >>> 0; getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f3, args) { + function handleError(f4, args) { try { - return f3.apply(this, args); - } catch (e2) { - wasm.__wbindgen_export_3(addHeapObject(e2)); + return f4.apply(this, args); + } catch (e3) { + wasm.__wbindgen_export_3(addHeapObject(e3)); } } + var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - return Tiktoken2.__wrap(ret); + this.__wbg_ptr = ret >>> 0; + return this; } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.ptr); + wasm.tiktoken_name(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v0; + let v1; if (r0 !== 0) { - v0 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); + v1 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); } - return v0; + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } - static __wrap(ptr) { - const obj = Object.create(Tiktoken2.prototype); - obj.ptr = ptr; - return obj; - } __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + TiktokenFinalization.unregister(this); return ptr; } free() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r22 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r2); + throw takeObject(r22); } - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v2 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v2 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { + var r22 = getInt32Memory0()[retptr / 4 + 2]; + if (r22) { throw takeObject(r1); } return takeObject(r0); @@ -23024,48 +39742,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v1; + var v2 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v0 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v0; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.ptr); + throw new Error("tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); return takeObject(ret); } }; @@ -23074,7 +39792,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { + module2.exports.__wbg_stringify_daa6661e90c04140 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -23085,19 +39803,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { + module2.exports.__wbg_parse_06816e879d29d4df = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -23116,15 +39834,14 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path2 = require("path"); - var fs2 = require("fs"); - var candidates = __dirname.split(path2.sep).reduce((memo, _2, index, array) => { + var fs3 = require("fs"); + var candidates = __dirname.split(path2.sep).reduce((memo, _3, index, array) => { const prefix = array.slice(0, index + 1).join(path2.sep) + path2.sep; if (!prefix.includes("node_modules" + path2.sep)) { memo.unshift( path2.join( prefix, "node_modules", - "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -23137,7 +39854,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs2.readFileSync(candidate); + bytes = fs3.readFileSync(candidate); break; } catch { } @@ -23151,9 +39868,7412 @@ var require_tiktoken = __commonJS({ } }); +// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs +function t() { +} +function r2(e3) { + return "object" == typeof e3 && null !== e3 || "function" == typeof e3; +} +function n(e3, t2) { + try { + Object.defineProperty(e3, "name", { value: t2, configurable: true }); + } catch (e4) { + } +} +function u2(e3) { + return new a2(e3); +} +function c(e3) { + return l2(e3); +} +function d4(e3) { + return s(e3); +} +function f3(e3, t2, r3) { + return i2.call(e3, t2, r3); +} +function b2(e3, t2, r3) { + f3(f3(e3, t2, r3), void 0, o2); +} +function h2(e3, t2) { + b2(e3, t2); +} +function _2(e3, t2) { + b2(e3, void 0, t2); +} +function p2(e3, t2, r3) { + return f3(e3, t2, r3); +} +function m3(e3) { + f3(e3, void 0, o2); +} +function g(e3, t2, r3) { + if ("function" != typeof e3) + throw new TypeError("Argument is not a function"); + return Function.prototype.apply.call(e3, t2, r3); +} +function w3(e3, t2, r3) { + try { + return c(g(e3, t2, r3)); + } catch (e4) { + return d4(e4); + } +} +function E2(e3, t2) { + e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O2(e3) : "closed" === t2._state ? function(e4) { + O2(e4), j3(e4); + }(e3) : B(e3, t2._storedError); +} +function P2(e3, t2) { + return Gt(e3._ownerReadableStream, t2); +} +function W3(e3) { + const t2 = e3._ownerReadableStream; + "readable" === t2._state ? A2(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { + B(e4, t3); + }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C2](), t2._reader = void 0, e3._ownerReadableStream = void 0; +} +function k3(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released reader"); +} +function O2(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; + }); +} +function B(e3, t2) { + O2(e3), A2(e3, t2); +} +function A2(e3, t2) { + void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function j3(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function F2(e3, t2) { + if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) + throw new TypeError(`${t2} is not an object.`); + var r3; +} +function I(e3, t2) { + if ("function" != typeof e3) + throw new TypeError(`${t2} is not a function.`); +} +function D3(e3, t2) { + if (!function(e4) { + return "object" == typeof e4 && null !== e4 || "function" == typeof e4; + }(e3)) + throw new TypeError(`${t2} is not an object.`); +} +function $3(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); +} +function M3(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`${t2} is required in '${r3}'.`); +} +function Y2(e3) { + return Number(e3); +} +function Q2(e3) { + return 0 === e3 ? 0 : e3; +} +function N3(e3, t2) { + const r3 = Number.MAX_SAFE_INTEGER; + let o3 = Number(e3); + if (o3 = Q2(o3), !z2(o3)) + throw new TypeError(`${t2} is not a finite number`); + if (o3 = function(e4) { + return Q2(L3(e4)); + }(o3), o3 < 0 || o3 > r3) + throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); + return z2(o3) && 0 !== o3 ? o3 : 0; +} +function H2(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getReader) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function x(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getWriter) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function V3(e3, t2) { + if (!Vt(e3)) + throw new TypeError(`${t2} is not a ReadableStream.`); +} +function U4(e3, t2) { + e3._reader._readRequests.push(t2); +} +function G3(e3, t2, r3) { + const o3 = e3._reader._readRequests.shift(); + r3 ? o3._closeSteps() : o3._chunkSteps(t2); +} +function X3(e3) { + return e3._reader._readRequests.length; +} +function J3(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!K2(t2); +} +function K2(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); +} +function Z2(e3, t2) { + const r3 = e3._readRequests; + e3._readRequests = new S2(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function ee(e3) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); +} +function oe(e3) { + if (!r2(e3)) + return false; + if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) + return false; + try { + return e3._asyncIteratorImpl instanceof te; + } catch (e4) { + return false; + } +} +function ne(e3) { + return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); +} +function ie2(e3, t2, r3, o3, n2) { + new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); +} +function le2(e3) { + const t2 = function(e4, t3, r3) { + if (e4.slice) + return e4.slice(t3, r3); + const o3 = r3 - t3, n2 = new ArrayBuffer(o3); + return ie2(n2, 0, e4, t3, o3), n2; + }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); + return new Uint8Array(t2); +} +function se(e3) { + const t2 = e3._queue.shift(); + return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; +} +function ue2(e3, t2, r3) { + if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + var o3; + e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; +} +function ce2(e3) { + e3._queue = new S2(), e3._queueTotalSize = 0; +} +function de(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); +} +function fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); +} +function be(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableByteStream; + if ("readable" !== t3._state) + return false; + if (e4._closeRequested) + return false; + if (!e4._started) + return false; + if (J3(t3) && X3(t3) > 0) + return true; + if (Le(t3) && ze(t3) > 0) + return true; + if (ke(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); +} +function he(e3) { + Re(e3), e3._pendingPullIntos = new S2(); +} +function _e(e3, t2) { + let r3 = false; + "closed" === e3._state && (r3 = true); + const o3 = pe(t2); + "default" === t2.readerType ? G3(e3, o3, r3) : function(e4, t3, r4) { + const o4 = e4._reader._readIntoRequests.shift(); + r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); + }(e3, o3, r3); +} +function pe(e3) { + const t2 = e3.bytesFilled, r3 = e3.elementSize; + return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); +} +function me(e3, t2, r3, o3) { + e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; +} +function ye(e3, t2, r3, o3) { + let n2; + try { + n2 = t2.slice(r3, r3 + o3); + } catch (t3) { + throw Pe(e3, t3), t3; + } + me(e3, n2, 0, o3); +} +function ge(e3, t2) { + t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); +} +function we(e3, t2) { + const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a3 = t2.bytesFilled + n2, i3 = a3 - a3 % r3; + let l3 = n2, s2 = false; + i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); + const u3 = e3._queue; + for (; l3 > 0; ) { + const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; + ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; + } + return s2; +} +function Se(e3, t2, r3) { + r3.bytesFilled += t2; +} +function ve(e3) { + 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); +} +function Re(e3) { + null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); +} +function Te(e3) { + for (; e3._pendingPullIntos.length > 0; ) { + if (0 === e3._queueTotalSize) + return; + const t2 = e3._pendingPullIntos.peek(); + we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); + } +} +function qe(e3, t2) { + const r3 = e3._pendingPullIntos.peek(); + Re(e3); + "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { + "none" === t3.readerType && Ce(e4); + const r4 = e4._controlledReadableByteStream; + if (Le(r4)) + for (; ze(r4) > 0; ) + _e(r4, Ce(e4)); + }(e3, r3) : function(e4, t3, r4) { + if (Se(0, t3, r4), "none" === r4.readerType) + return ge(e4, r4), void Te(e4); + if (r4.bytesFilled < r4.elementSize) + return; + Ce(e4); + const o3 = r4.bytesFilled % r4.elementSize; + if (o3 > 0) { + const t4 = r4.byteOffset + r4.bytesFilled; + ye(e4, r4.buffer, t4 - o3, o3); + } + r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); + }(e3, t2, r3), be(e3); +} +function Ce(e3) { + return e3._pendingPullIntos.shift(); +} +function Ee(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; +} +function Pe(e3, t2) { + const r3 = e3._controlledReadableByteStream; + "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); +} +function We(e3, t2) { + const r3 = e3._queue.shift(); + e3._queueTotalSize -= r3.byteLength, ve(e3); + const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); + t2._chunkSteps(o3); +} +function ke(e3) { + const t2 = e3._controlledReadableByteStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Oe(e3, t2, r3) { + const o3 = Object.create(ReadableByteStreamController.prototype); + let n2, a3, i3; + n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { + }, a3 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0); + const l3 = t2.autoAllocateChunkSize; + if (0 === l3) + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + !function(e4, t3, r4, o4, n3, a4, i4) { + t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S2(), e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); + }(e3, o3, n2, a3, i3, r3, l3); +} +function Be(e3) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); +} +function Ae(e3) { + return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); +} +function je(e3, t2) { + e3._reader._readIntoRequests.push(t2); +} +function ze(e3) { + return e3._reader._readIntoRequests.length; +} +function Le(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!Fe(t2); +} +function Fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); +} +function Ie(e3, t2) { + const r3 = e3._readIntoRequests; + e3._readIntoRequests = new S2(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function De(e3) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); +} +function $e(e3, t2) { + const { highWaterMark: r3 } = e3; + if (void 0 === r3) + return t2; + if (ae2(r3) || r3 < 0) + throw new RangeError("Invalid highWaterMark"); + return r3; +} +function Me(e3) { + const { size: t2 } = e3; + return t2 || (() => 1); +} +function Ye(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; + return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; +} +function Qe(e3, t2) { + return I(e3, t2), (t3) => Y2(e3(t3)); +} +function Ne(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function He(e3, t2, r3) { + return I(e3, r3), () => w3(e3, t2, []); +} +function xe(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function Ve(e3, t2, r3) { + return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); +} +function Ge(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); +} +function Xe(e3) { + return void 0 !== e3._writer; +} +function Je(e3, t2) { + var r3; + if ("closed" === e3._state || "errored" === e3._state) + return c(void 0); + e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); + const o3 = e3._state; + if ("closed" === o3 || "errored" === o3) + return c(void 0); + if (void 0 !== e3._pendingAbortRequest) + return e3._pendingAbortRequest._promise; + let n2 = false; + "erroring" === o3 && (n2 = true, t2 = void 0); + const a3 = u2((r4, o4) => { + e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; + }); + return e3._pendingAbortRequest._promise = a3, n2 || et(e3, t2), a3; +} +function Ke(e3) { + const t2 = e3._state; + if ("closed" === t2 || "errored" === t2) + return d4(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); + const r3 = u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e3._closeRequest = o4; + }), o3 = e3._writer; + var n2; + return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; +} +function Ze(e3, t2) { + "writable" !== e3._state ? tt(e3) : et(e3, t2); +} +function et(e3, t2) { + const r3 = e3._writableStreamController; + e3._state = "erroring", e3._storedError = t2; + const o3 = e3._writer; + void 0 !== o3 && it(o3, t2), !function(e4) { + if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) + return false; + return true; + }(e3) && r3._started && tt(e3); +} +function tt(e3) { + e3._state = "errored", e3._writableStreamController[R2](); + const t2 = e3._storedError; + if (e3._writeRequests.forEach((e4) => { + e4._reject(t2); + }), e3._writeRequests = new S2(), void 0 === e3._pendingAbortRequest) + return void ot(e3); + const r3 = e3._pendingAbortRequest; + if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) + return r3._reject(t2), void ot(e3); + b2(e3._writableStreamController[v](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); +} +function rt(e3) { + return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; +} +function ot(e3) { + void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); + const t2 = e3._writer; + void 0 !== t2 && St(t2, e3._storedError); +} +function nt(e3, t2) { + const r3 = e3._writer; + void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { + Rt(e4); + }(r3) : Et(r3)), e3._backpressure = t2; +} +function at(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); +} +function it(e3, t2) { + "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { + Tt(e4, t3); + }(e3, t2); +} +function st(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); +} +function ut(e3) { + e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function ct(e3) { + return e3._strategyHWM - e3._queueTotalSize; +} +function dt(e3) { + const t2 = e3._controlledWritableStream; + if (!e3._started) + return; + if (void 0 !== t2._inFlightWriteRequest) + return; + if ("erroring" === t2._state) + return void tt(t2); + if (0 === e3._queue.length) + return; + const r3 = e3._queue.peek().value; + r3 === lt ? function(e4) { + const t3 = e4._controlledWritableStream; + (function(e5) { + e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; + })(t3), se(e4); + const r4 = e4._closeAlgorithm(); + ut(e4), b2(r4, () => (function(e5) { + e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; + const t4 = e5._writer; + void 0 !== t4 && vt(t4); + }(t3), null), (e5) => (function(e6, t4) { + e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); + }(t3, e5), null)); + }(e3) : function(e4, t3) { + const r4 = e4._controlledWritableStream; + !function(e5) { + e5._inFlightWriteRequest = e5._writeRequests.shift(); + }(r4); + b2(e4._writeAlgorithm(t3), () => { + !function(e5) { + e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; + }(r4); + const t4 = r4._state; + if (se(e4), !rt(r4) && "writable" === t4) { + const t5 = bt(e4); + nt(r4, t5); + } + return dt(e4), null; + }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { + e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); + }(r4, t4), null)); + }(e3, r3); +} +function ft(e3, t2) { + "writable" === e3._controlledWritableStream._state && ht(e3, t2); +} +function bt(e3) { + return ct(e3) <= 0; +} +function ht(e3, t2) { + const r3 = e3._controlledWritableStream; + ut(e3), et(r3, t2); +} +function _t(e3) { + return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); +} +function pt(e3) { + return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); +} +function mt(e3) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); +} +function yt(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released writer"); +} +function gt(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; + }); +} +function wt(e3, t2) { + gt(e3), St(e3, t2); +} +function St(e3, t2) { + void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); +} +function vt(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); +} +function Rt(e3) { + e3._readyPromise = u2((t2, r3) => { + e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; + }), e3._readyPromiseState = "pending"; +} +function Tt(e3, t2) { + Rt(e3), Ct(e3, t2); +} +function qt(e3) { + Rt(e3), Et(e3); +} +function Ct(e3, t2) { + void 0 !== e3._readyPromise_reject && (m3(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); +} +function Et(e3) { + void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); +} +function kt(e3, t2, r3, o3, n2, a3) { + const i3 = e3.getReader(), l3 = t2.getWriter(); + Vt(e3) && (e3._disturbed = true); + let s2, _3, g2, w4 = false, S3 = false, v2 = "readable", R3 = "writable", T3 = false, q3 = false; + const C3 = u2((e4) => { + g2 = e4; + }); + let E3 = Promise.resolve(void 0); + return u2((P3, W4) => { + let k4; + function O3() { + if (w4) + return; + const e4 = u2((e5, t3) => { + !function r4(o4) { + o4 ? e5() : f3(function() { + if (w4) + return c(true); + return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E3 = l3.write(e6.value), m3(E3), false))); + }(), r4, t3); + }(false); + }); + m3(e4); + } + function B2() { + return v2 = "closed", r3 ? L4() : z3(() => (Ge(t2) && (T3 = rt(t2), R3 = t2._state), T3 || "closed" === R3 ? c(void 0) : "erroring" === R3 || "errored" === R3 ? d4(_3) : (T3 = true, l3.close())), false, void 0), null; + } + function A3(e4) { + return w4 || (v2 = "errored", s2 = e4, o3 ? L4(true, e4) : z3(() => l3.abort(e4), true, e4)), null; + } + function j4(e4) { + return S3 || (R3 = "errored", _3 = e4, n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4)), null; + } + if (void 0 !== a3 && (k4 = () => { + const e4 = void 0 !== a3.reason ? a3.reason : new Wt("Aborted", "AbortError"), t3 = []; + o3 || t3.push(() => "writable" === R3 ? l3.abort(e4) : c(void 0)), n2 || t3.push(() => "readable" === v2 ? i3.cancel(e4) : c(void 0)), z3(() => Promise.all(t3.map((e5) => e5())), true, e4); + }, a3.aborted ? k4() : a3.addEventListener("abort", k4)), Vt(e3) && (v2 = e3._state, s2 = e3._storedError), Ge(t2) && (R3 = t2._state, _3 = t2._storedError, T3 = rt(t2)), Vt(e3) && Ge(t2) && (q3 = true, g2()), "errored" === v2) + A3(s2); + else if ("erroring" === R3 || "errored" === R3) + j4(_3); + else if ("closed" === v2) + B2(); + else if (T3 || "closed" === R3) { + const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); + n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4); + } + function z3(e4, t3, r4) { + function o4() { + return "writable" !== R3 || T3 ? n3() : h2(function() { + let e5; + return c(function t4() { + if (e5 !== E3) + return e5 = E3, p2(E3, t4, t4); + }()); + }(), n3), null; + } + function n3() { + return e4 ? b2(e4(), () => F3(t3, r4), (e5) => F3(true, e5)) : F3(t3, r4), null; + } + w4 || (w4 = true, q3 ? o4() : h2(C3, o4)); + } + function L4(e4, t3) { + z3(void 0, e4, t3); + } + function F3(e4, t3) { + return S3 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a3 && a3.removeEventListener("abort", k4), e4 ? W4(t3) : P3(void 0), null; + } + w4 || (b2(i3.closed, B2, A3), b2(l3.closed, function() { + return S3 || (R3 = "closed"), null; + }, j4)), q3 ? O3() : y3(() => { + q3 = true, g2(), O3(); + }); + }); +} +function Ot(e3, t2) { + return function(e4) { + try { + return e4.getReader({ mode: "byob" }).releaseLock(), true; + } catch (e5) { + return false; + } + }(e3) ? function(e4) { + let t3, r3, o3, n2, a3, i3 = e4.getReader(), l3 = false, s2 = false, d5 = false, f4 = false, h3 = false, p3 = false; + const m4 = u2((e5) => { + a3 = e5; + }); + function y4(e5) { + _2(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h3 && p3 || a3(void 0)), null)); + } + function g2() { + l3 && (i3.releaseLock(), i3 = e4.getReader(), y4(i3), l3 = false), b2(i3.read(), (e5) => { + var t4, r4; + if (d5 = false, f4 = false, e5.done) + return h3 || o3.close(), p3 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h3 && p3 || a3(void 0), null; + const l4 = e5.value, u3 = l4; + let c2 = l4; + if (!h3 && !p3) + try { + c2 = le2(l4); + } catch (e6) { + return o3.error(e6), n2.error(e6), a3(i3.cancel(e6)), null; + } + return h3 || o3.enqueue(u3), p3 || n2.enqueue(c2), s2 = false, d5 ? S3() : f4 && v2(), null; + }, () => (s2 = false, null)); + } + function w4(t4, r4) { + l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y4(i3), l3 = true); + const u3 = r4 ? n2 : o3, c2 = r4 ? o3 : n2; + b2(i3.read(t4), (e5) => { + var t5; + d5 = false, f4 = false; + const o4 = r4 ? p3 : h3, n3 = r4 ? h3 : p3; + if (e5.done) { + o4 || u3.close(), n3 || c2.close(); + const r5 = e5.value; + return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c2.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a3(void 0), null; + } + const l4 = e5.value; + if (n3) + o4 || u3.byobRequest.respondWithNewView(l4); + else { + let e6; + try { + e6 = le2(l4); + } catch (e7) { + return u3.error(e7), c2.error(e7), a3(i3.cancel(e7)), null; + } + o4 || u3.byobRequest.respondWithNewView(l4), c2.enqueue(e6); + } + return s2 = false, d5 ? S3() : f4 && v2(), null; + }, () => (s2 = false, null)); + } + function S3() { + if (s2) + return d5 = true, c(void 0); + s2 = true; + const e5 = o3.byobRequest; + return null === e5 ? g2() : w4(e5.view, false), c(void 0); + } + function v2() { + if (s2) + return f4 = true, c(void 0); + s2 = true; + const e5 = n2.byobRequest; + return null === e5 ? g2() : w4(e5.view, true), c(void 0); + } + function R3(e5) { + if (h3 = true, t3 = e5, p3) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a3(o4); + } + return m4; + } + function T3(e5) { + if (p3 = true, r3 = e5, h3) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a3(o4); + } + return m4; + } + const q3 = new ReadableStream2({ type: "bytes", start(e5) { + o3 = e5; + }, pull: S3, cancel: R3 }), C3 = new ReadableStream2({ type: "bytes", start(e5) { + n2 = e5; + }, pull: v2, cancel: T3 }); + return y4(i3), [q3, C3]; + }(e3) : function(e4, t3) { + const r3 = e4.getReader(); + let o3, n2, a3, i3, l3, s2 = false, d5 = false, f4 = false, h3 = false; + const p3 = u2((e5) => { + l3 = e5; + }); + function m4() { + return s2 ? (d5 = true, c(void 0)) : (s2 = true, b2(r3.read(), (e5) => { + if (d5 = false, e5.done) + return f4 || a3.close(), h3 || i3.close(), f4 && h3 || l3(void 0), null; + const t4 = e5.value, r4 = t4, o4 = t4; + return f4 || a3.enqueue(r4), h3 || i3.enqueue(o4), s2 = false, d5 && m4(), null; + }, () => (s2 = false, null)), c(void 0)); + } + function y4(e5) { + if (f4 = true, o3 = e5, h3) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p3; + } + function g2(e5) { + if (h3 = true, n2 = e5, f4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p3; + } + const w4 = new ReadableStream2({ start(e5) { + a3 = e5; + }, pull: m4, cancel: y4 }), S3 = new ReadableStream2({ start(e5) { + i3 = e5; + }, pull: m4, cancel: g2 }); + return _2(r3.closed, (e5) => (a3.error(e5), i3.error(e5), f4 && h3 || l3(void 0), null)), [w4, S3]; + }(e3); +} +function Bt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); +} +function At(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableStream; + if (!Ft(e4)) + return false; + if (!e4._started) + return false; + if (Ut(t3) && X3(t3) > 0) + return true; + if (Lt(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); +} +function jt(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function zt(e3, t2) { + const r3 = e3._controlledReadableStream; + "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); +} +function Lt(e3) { + const t2 = e3._controlledReadableStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Ft(e3) { + return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; +} +function It(e3, t2, r3, o3) { + const n2 = Object.create(ReadableStreamDefaultController.prototype); + let a3, i3, l3; + a3 = void 0 !== t2.start ? () => t2.start(n2) : () => { + }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0), function(e4, t3, r4, o4, n3, a4, i4) { + t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); + }(e3, n2, a3, i3, l3, r3, o3); +} +function Dt(e3) { + return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); +} +function $t(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function Mt(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function Yt(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function Qt(e3, t2) { + if ("bytes" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); + return e3; +} +function Nt(e3, t2) { + if ("byob" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); + return e3; +} +function Ht(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a3 = null == e3 ? void 0 : e3.signal; + return void 0 !== a3 && function(e4, t3) { + if (!function(e5) { + if ("object" != typeof e5 || null === e5) + return false; + try { + return "boolean" == typeof e5.aborted; + } catch (e6) { + return false; + } + }(e4)) + throw new TypeError(`${t3} is not an AbortSignal.`); + }(a3, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a3 }; +} +function xt(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.readable; + M3(r3, "readable", "ReadableWritablePair"), function(e4, t3) { + if (!H2(e4)) + throw new TypeError(`${t3} is not a ReadableStream.`); + }(r3, `${t2} has member 'readable' that`); + const o3 = null == e3 ? void 0 : e3.writable; + return M3(o3, "writable", "ReadableWritablePair"), function(e4, t3) { + if (!x(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; +} +function Vt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream2); +} +function Ut(e3) { + return void 0 !== e3._reader; +} +function Gt(e3, r3) { + if (e3._disturbed = true, "closed" === e3._state) + return c(void 0); + if ("errored" === e3._state) + return d4(e3._storedError); + Xt(e3); + const o3 = e3._reader; + if (void 0 !== o3 && Fe(o3)) { + const e4 = o3._readIntoRequests; + o3._readIntoRequests = new S2(), e4.forEach((e5) => { + e5._closeSteps(void 0); + }); + } + return p2(e3._readableStreamController[T2](r3), t); +} +function Xt(e3) { + e3._state = "closed"; + const t2 = e3._reader; + if (void 0 !== t2 && (j3(t2), K2(t2))) { + const e4 = t2._readRequests; + t2._readRequests = new S2(), e4.forEach((e5) => { + e5._closeSteps(); + }); + } +} +function Jt(e3, t2) { + e3._state = "errored", e3._storedError = t2; + const r3 = e3._reader; + void 0 !== r3 && (A2(r3, t2), K2(r3) ? Z2(r3, t2) : Ie(r3, t2)); +} +function Kt(e3) { + return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); +} +function Zt(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark; + return M3(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; +} +function tr(e3) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); +} +function rr(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); +} +function nr(e3) { + return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); +} +function ar(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); +} +function ir(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function lr(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function sr(e3, t2, r3) { + return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); +} +function ur(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream); +} +function cr(e3, t2) { + Sr(e3, t2), dr(e3, t2); +} +function dr(e3, t2) { + hr(e3._transformStreamController), function(e4, t3) { + e4._writableController.error(t3); + "writable" === e4._writableState && Tr(e4, t3); + }(e3, t2), e3._backpressure && fr(e3, false); +} +function fr(e3, t2) { + void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { + e3._backpressureChangePromise_resolve = t3; + }), e3._backpressure = t2; +} +function br(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); +} +function hr(e3) { + e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; +} +function _r(e3, t2) { + const r3 = e3._controlledTransformStream; + if (!gr(r3)) + throw new TypeError("Readable side is not in a state that permits enqueue"); + try { + !function(e4, t3) { + e4._readablePulling = false; + try { + e4._readableController.enqueue(t3); + } catch (t4) { + throw Sr(e4, t4), t4; + } + }(r3, t2); + } catch (e4) { + throw dr(r3, e4), r3._readableStoredError; + } + const o3 = function(e4) { + return !function(e5) { + if (!gr(e5)) + return false; + if (e5._readablePulling) + return true; + if (vr(e5) > 0) + return true; + return false; + }(e4); + }(r3); + o3 !== r3._backpressure && fr(r3, true); +} +function pr(e3, t2) { + return p2(e3._transformAlgorithm(t2), void 0, (t3) => { + throw cr(e3._controlledTransformStream, t3), t3; + }); +} +function mr(e3) { + return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); +} +function yr(e3) { + return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); +} +function gr(e3) { + return !e3._readableCloseRequested && "readable" === e3._readableState; +} +function wr(e3) { + e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); +} +function Sr(e3, t2) { + "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); +} +function vr(e3) { + return e3._readableController.desiredSize; +} +function Rr(e3, t2) { + "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); +} +function Tr(e3, t2) { + e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { + return e4._writableHasInFlightOperation; + }(e3) && e3._writableStarted && qr(e3); +} +function qr(e3) { + e3._writableState = "errored"; +} +function Cr(e3) { + "erroring" === e3._writableState && qr(e3); +} +var e2, o2, a2, i2, l2, s, y3, S2, v, R2, T2, q2, C2, z2, L3, ReadableStreamDefaultReader, te, re, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream2, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream, TransformStreamDefaultController; +var init_ponyfill = __esm({ + "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { + e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; + o2 = t; + a2 = Promise; + i2 = Promise.prototype.then; + l2 = Promise.resolve.bind(a2); + s = Promise.reject.bind(a2); + y3 = (e3) => { + if ("function" == typeof queueMicrotask) + y3 = queueMicrotask; + else { + const e4 = c(void 0); + y3 = (t2) => f3(e4, t2); + } + return y3(e3); + }; + S2 = class { + constructor() { + this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; + } + get length() { + return this._size; + } + push(e3) { + const t2 = this._back; + let r3 = t2; + 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; + } + shift() { + const e3 = this._front; + let t2 = e3; + const r3 = this._cursor; + let o3 = r3 + 1; + const n2 = e3._elements, a3 = n2[r3]; + return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a3; + } + forEach(e3) { + let t2 = this._cursor, r3 = this._front, o3 = r3._elements; + for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) + e3(o3[t2]), ++t2; + } + peek() { + const e3 = this._front, t2 = this._cursor; + return e3._elements[t2]; + } + }; + v = e2("[[AbortSteps]]"); + R2 = e2("[[ErrorSteps]]"); + T2 = e2("[[CancelSteps]]"); + q2 = e2("[[PullSteps]]"); + C2 = e2("[[ReleaseSteps]]"); + z2 = Number.isFinite || function(e3) { + return "number" == typeof e3 && isFinite(e3); + }; + L3 = Math.trunc || function(e3) { + return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); + }; + ReadableStreamDefaultReader = class { + constructor(e3) { + if ($3(e3, 1, "ReadableStreamDefaultReader"), V3(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + E2(this, e3), this._readRequests = new S2(); + } + get closed() { + return K2(this) ? this._closedPromise : d4(ee("closed")); + } + cancel(e3) { + return K2(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(ee("cancel")); + } + read() { + if (!K2(this)) + return d4(ee("read")); + if (void 0 === this._ownerReadableStream) + return d4(k3("read from")); + let e3, t2; + const r3 = u2((r4, o3) => { + e3 = r4, t2 = o3; + }); + return function(e4, t3) { + const r4 = e4._ownerReadableStream; + r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q2](t3); + }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; + } + releaseLock() { + if (!K2(this)) + throw ee("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W3(e3); + const t2 = new TypeError("Reader was released"); + Z2(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); + te = class { + constructor(e3, t2) { + this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; + } + next() { + const e3 = () => this._nextSteps(); + return this._ongoingPromise = this._ongoingPromise ? p2(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; + } + return(e3) { + const t2 = () => this._returnSteps(e3); + return this._ongoingPromise ? p2(this._ongoingPromise, t2, t2) : t2(); + } + _nextSteps() { + if (this._isFinished) + return Promise.resolve({ value: void 0, done: true }); + const e3 = this._reader; + return void 0 === e3 ? d4(k3("iterate")) : f3(e3.read(), (e4) => { + var t2; + return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; + }, (e4) => { + var t2; + throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; + }); + } + _returnSteps(e3) { + if (this._isFinished) + return Promise.resolve({ value: e3, done: true }); + this._isFinished = true; + const t2 = this._reader; + if (void 0 === t2) + return d4(k3("finish iterating")); + if (this._reader = void 0, !this._preventCancel) { + const r3 = t2.cancel(e3); + return t2.releaseLock(), p2(r3, () => ({ value: e3, done: true })); + } + return t2.releaseLock(), c({ value: e3, done: true }); + } + }; + re = { next() { + return oe(this) ? this._asyncIteratorImpl.next() : d4(ne("next")); + }, return(e3) { + return oe(this) ? this._asyncIteratorImpl.return(e3) : d4(ne("return")); + } }; + "symbol" == typeof e2.asyncIterator && Object.defineProperty(re, e2.asyncIterator, { value() { + return this; + }, writable: true, configurable: true }); + ae2 = Number.isNaN || function(e3) { + return e3 != e3; + }; + ReadableStreamBYOBRequest = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!fe(this)) + throw Be("view"); + return this._view; + } + respond(e3) { + if (!fe(this)) + throw Be("respond"); + if ($3(e3, 1, "respond"), e3 = N3(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + this._view.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2) + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } else { + if (0 === t2) + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + if (r3.bytesFilled + t2 > r3.byteLength) + throw new RangeError("bytesWritten out of range"); + } + r3.buffer = r3.buffer, qe(e4, t2); + }(this._associatedReadableByteStreamController, e3); + } + respondWithNewView(e3) { + if (!fe(this)) + throw Be("respondWithNewView"); + if ($3(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) + throw new TypeError("You can only respond with array buffer views"); + if (void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + e3.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2.byteLength) + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } else if (0 === t2.byteLength) + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) + throw new RangeError("The region specified by view does not match byobRequest"); + if (r3.bufferByteLength !== t2.buffer.byteLength) + throw new RangeError("The buffer of view has different capacity than byobRequest"); + if (r3.bytesFilled + t2.byteLength > r3.byteLength) + throw new RangeError("The region specified by view is larger than byobRequest"); + const o3 = t2.byteLength; + r3.buffer = t2.buffer, qe(e4, o3); + }(this._associatedReadableByteStreamController, e3); + } + }; + Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); + ReadableByteStreamController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!de(this)) + throw Ae("byobRequest"); + return function(e3) { + if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { + const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); + !function(e4, t3, r4) { + e4._associatedReadableByteStreamController = t3, e4._view = r4; + }(o3, e3, r3), e3._byobRequest = o3; + } + return e3._byobRequest; + }(this); + } + get desiredSize() { + if (!de(this)) + throw Ae("desiredSize"); + return ke(this); + } + close() { + if (!de(this)) + throw Ae("close"); + if (this._closeRequested) + throw new TypeError("The stream has already been closed; do not close it again!"); + const e3 = this._controlledReadableByteStream._state; + if ("readable" !== e3) + throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); + !function(e4) { + const t2 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== t2._state) + return; + if (e4._queueTotalSize > 0) + return void (e4._closeRequested = true); + if (e4._pendingPullIntos.length > 0) { + if (e4._pendingPullIntos.peek().bytesFilled > 0) { + const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + throw Pe(e4, t3), t3; + } + } + Ee(e4), Xt(t2); + }(this); + } + enqueue(e3) { + if (!de(this)) + throw Ae("enqueue"); + if ($3(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) + throw new TypeError("chunk must be an array buffer view"); + if (0 === e3.byteLength) + throw new TypeError("chunk must have non-zero byteLength"); + if (0 === e3.buffer.byteLength) + throw new TypeError("chunk's buffer must have non-zero byteLength"); + if (this._closeRequested) + throw new TypeError("stream is closed or draining"); + const t2 = this._controlledReadableByteStream._state; + if ("readable" !== t2) + throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); + !function(e4, t3) { + const r3 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== r3._state) + return; + const o3 = t3.buffer, n2 = t3.byteOffset, a3 = t3.byteLength, i3 = o3; + if (e4._pendingPullIntos.length > 0) { + const t4 = e4._pendingPullIntos.peek(); + t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); + } + if (J3(r3)) + if (function(e5) { + const t4 = e5._controlledReadableByteStream._reader; + for (; t4._readRequests.length > 0; ) { + if (0 === e5._queueTotalSize) + return; + We(e5, t4._readRequests.shift()); + } + }(e4), 0 === X3(r3)) + me(e4, i3, n2, a3); + else { + e4._pendingPullIntos.length > 0 && Ce(e4); + G3(r3, new Uint8Array(i3, n2, a3), false); + } + else + Le(r3) ? (me(e4, i3, n2, a3), Te(e4)) : me(e4, i3, n2, a3); + be(e4); + }(this, e3); + } + error(e3) { + if (!de(this)) + throw Ae("error"); + Pe(this, e3); + } + [T2](e3) { + he(this), ce2(this); + const t2 = this._cancelAlgorithm(e3); + return Ee(this), t2; + } + [q2](e3) { + const t2 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) + return void We(this, e3); + const r3 = this._autoAllocateChunkSize; + if (void 0 !== r3) { + let t3; + try { + t3 = new ArrayBuffer(r3); + } catch (t4) { + return void e3._errorSteps(t4); + } + const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; + this._pendingPullIntos.push(o3); + } + U4(t2, e3), be(this); + } + [C2]() { + if (this._pendingPullIntos.length > 0) { + const e3 = this._pendingPullIntos.peek(); + e3.readerType = "none", this._pendingPullIntos = new S2(), this._pendingPullIntos.push(e3); + } + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); + ReadableStreamBYOBReader = class { + constructor(e3) { + if ($3(e3, 1, "ReadableStreamBYOBReader"), V3(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + if (!de(e3._readableStreamController)) + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + E2(this, e3), this._readIntoRequests = new S2(); + } + get closed() { + return Fe(this) ? this._closedPromise : d4(De("closed")); + } + cancel(e3) { + return Fe(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(De("cancel")); + } + read(e3) { + if (!Fe(this)) + return d4(De("read")); + if (!ArrayBuffer.isView(e3)) + return d4(new TypeError("view must be an array buffer view")); + if (0 === e3.byteLength) + return d4(new TypeError("view must have non-zero byteLength")); + if (0 === e3.buffer.byteLength) + return d4(new TypeError("view's buffer must have non-zero byteLength")); + if (e3.buffer, void 0 === this._ownerReadableStream) + return d4(k3("read from")); + let t2, r3; + const o3 = u2((e4, o4) => { + t2 = e4, r3 = o4; + }); + return function(e4, t3, r4) { + const o4 = e4._ownerReadableStream; + o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { + const o5 = e5._controlledReadableByteStream; + let n2 = 1; + t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); + const a3 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a3, readerType: "byob" }; + if (e5._pendingPullIntos.length > 0) + return e5._pendingPullIntos.push(l3), void je(o5, r5); + if ("closed" !== o5._state) { + if (e5._queueTotalSize > 0) { + if (we(e5, l3)) { + const t5 = pe(l3); + return ve(e5), void r5._chunkSteps(t5); + } + if (e5._closeRequested) { + const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + return Pe(e5, t5), void r5._errorSteps(t5); + } + } + e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); + } else { + const e6 = new a3(l3.buffer, l3.byteOffset, 0); + r5._closeSteps(e6); + } + }(o4._readableStreamController, t3, r4); + }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; + } + releaseLock() { + if (!Fe(this)) + throw De("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W3(e3); + const t2 = new TypeError("Reader was released"); + Ie(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); + Ue = "function" == typeof AbortController; + WritableStream = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D3(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F2(e4, t3); + const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; + return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a4 }; + }(e3, "First parameter"); + var n2; + (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S2(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; + if (void 0 !== o3.type) + throw new RangeError("Invalid type is specified"); + const a3 = Me(r3); + !function(e4, t3, r4, o4) { + const n3 = Object.create(WritableStreamDefaultController.prototype); + let a4, i3, l3, s2; + a4 = void 0 !== t3.start ? () => t3.start(n3) : () => { + }; + i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c(void 0); + l3 = void 0 !== t3.close ? () => t3.close() : () => c(void 0); + s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c(void 0); + !function(e5, t4, r5, o5, n4, a5, i4, l4) { + t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { + if (Ue) + return new AbortController(); + }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a5; + const s3 = bt(t4); + nt(e5, s3); + const u3 = r5(); + b2(c(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); + }(e4, n3, a4, i3, l3, s2, r4, o4); + }(this, o3, $e(r3, 1), a3); + } + get locked() { + if (!Ge(this)) + throw _t("locked"); + return Xe(this); + } + abort(e3) { + return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d4(_t("abort")); + } + close() { + return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d4(_t("close")); + } + getWriter() { + if (!Ge(this)) + throw _t("getWriter"); + return new WritableStreamDefaultWriter(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); + WritableStreamDefaultWriter = class { + constructor(e3) { + if ($3(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { + if (!Ge(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(e3, "First parameter"), Xe(e3)) + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + this._ownerWritableStream = e3, e3._writer = this; + const t2 = e3._state; + if ("writable" === t2) + !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); + else if ("erroring" === t2) + Tt(this, e3._storedError), gt(this); + else if ("closed" === t2) + qt(this), gt(r3 = this), vt(r3); + else { + const t3 = e3._storedError; + Tt(this, t3), wt(this, t3); + } + var r3; + } + get closed() { + return at(this) ? this._closedPromise : d4(mt("closed")); + } + get desiredSize() { + if (!at(this)) + throw mt("desiredSize"); + if (void 0 === this._ownerWritableStream) + throw yt("desiredSize"); + return function(e3) { + const t2 = e3._ownerWritableStream, r3 = t2._state; + if ("errored" === r3 || "erroring" === r3) + return null; + if ("closed" === r3) + return 0; + return ct(t2._writableStreamController); + }(this); + } + get ready() { + return at(this) ? this._readyPromise : d4(mt("ready")); + } + abort(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("abort")) : function(e4, t2) { + return Je(e4._ownerWritableStream, t2); + }(this, e3) : d4(mt("abort")); + } + close() { + if (!at(this)) + return d4(mt("close")); + const e3 = this._ownerWritableStream; + return void 0 === e3 ? d4(yt("close")) : rt(e3) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); + } + releaseLock() { + if (!at(this)) + throw mt("releaseLock"); + void 0 !== this._ownerWritableStream && function(e3) { + const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); + it(e3, r3), function(e4, t3) { + "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { + wt(e5, t4); + }(e4, t3); + }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; + }(this); + } + write(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("write to")) : function(e4, t2) { + const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { + try { + return e5._strategySizeAlgorithm(t3); + } catch (t4) { + return ft(e5, t4), 1; + } + }(o3, t2); + if (r3 !== e4._ownerWritableStream) + return d4(yt("write to")); + const a3 = r3._state; + if ("errored" === a3) + return d4(r3._storedError); + if (rt(r3) || "closed" === a3) + return d4(new TypeError("The stream is closing or closed and cannot be written to")); + if ("erroring" === a3) + return d4(r3._storedError); + const i3 = function(e5) { + return u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e5._writeRequests.push(o4); + }); + }(r3); + return function(e5, t3, r4) { + try { + ue2(e5, t3, r4); + } catch (t4) { + return void ft(e5, t4); + } + const o4 = e5._controlledWritableStream; + if (!rt(o4) && "writable" === o4._state) { + nt(o4, bt(e5)); + } + dt(e5); + }(o3, t2, n2), i3; + }(this, e3) : d4(mt("write")); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); + lt = {}; + WritableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!st(this)) + throw pt("abortReason"); + return this._abortReason; + } + get signal() { + if (!st(this)) + throw pt("signal"); + if (void 0 === this._abortController) + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + return this._abortController.signal; + } + error(e3) { + if (!st(this)) + throw pt("error"); + "writable" === this._controlledWritableStream._state && ht(this, e3); + } + [v](e3) { + const t2 = this._abortAlgorithm(e3); + return ut(this), t2; + } + [R2]() { + ce2(this); + } + }; + Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); + Pt = "undefined" != typeof DOMException ? DOMException : void 0; + Wt = function(e3) { + if ("function" != typeof e3 && "object" != typeof e3) + return false; + try { + return new e3(), true; + } catch (e4) { + return false; + } + }(Pt) ? Pt : function() { + const e3 = function(e4, t2) { + this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + }; + return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; + }(); + ReadableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!Bt(this)) + throw Dt("desiredSize"); + return Lt(this); + } + close() { + if (!Bt(this)) + throw Dt("close"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits close"); + !function(e3) { + if (!Ft(e3)) + return; + const t2 = e3._controlledReadableStream; + e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); + }(this); + } + enqueue(e3) { + if (!Bt(this)) + throw Dt("enqueue"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits enqueue"); + return function(e4, t2) { + if (!Ft(e4)) + return; + const r3 = e4._controlledReadableStream; + if (Ut(r3) && X3(r3) > 0) + G3(r3, t2, false); + else { + let r4; + try { + r4 = e4._strategySizeAlgorithm(t2); + } catch (t3) { + throw zt(e4, t3), t3; + } + try { + ue2(e4, t2, r4); + } catch (t3) { + throw zt(e4, t3), t3; + } + } + At(e4); + }(this, e3); + } + error(e3) { + if (!Bt(this)) + throw Dt("error"); + zt(this, e3); + } + [T2](e3) { + ce2(this); + const t2 = this._cancelAlgorithm(e3); + return jt(this), t2; + } + [q2](e3) { + const t2 = this._controlledReadableStream; + if (this._queue.length > 0) { + const r3 = se(this); + this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); + } else + U4(t2, e3), At(this); + } + [C2]() { + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); + ReadableStream2 = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D3(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F2(e4, t3); + const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a3 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; + return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N3(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a3 ? void 0 : Mt(a3, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; + }(e3, "First parameter"); + var n2; + if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { + if (void 0 !== r3.size) + throw new RangeError("The strategy for a byte stream cannot have a size function"); + Oe(this, o3, $e(r3, 0)); + } else { + const e4 = Me(r3); + It(this, o3, $e(r3, 1), e4); + } + } + get locked() { + if (!Vt(this)) + throw Kt("locked"); + return Ut(this); + } + cancel(e3) { + return Vt(this) ? Ut(this) ? d4(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d4(Kt("cancel")); + } + getReader(e3) { + if (!Vt(this)) + throw Kt("getReader"); + return void 0 === function(e4, t2) { + F2(e4, t2); + const r3 = null == e4 ? void 0 : e4.mode; + return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; + }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { + return new ReadableStreamBYOBReader(e4); + }(this); + } + pipeThrough(e3, t2 = {}) { + if (!H2(this)) + throw Kt("pipeThrough"); + $3(e3, 1, "pipeThrough"); + const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); + if (this.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + if (r3.writable.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + return m3(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; + } + pipeTo(e3, t2 = {}) { + if (!H2(this)) + return d4(Kt("pipeTo")); + if (void 0 === e3) + return d4("Parameter 1 is required in 'pipeTo'."); + if (!x(e3)) + return d4(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); + let r3; + try { + r3 = Ht(t2, "Second parameter"); + } catch (e4) { + return d4(e4); + } + return this.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); + } + tee() { + if (!H2(this)) + throw Kt("tee"); + if (this.locked) + throw new TypeError("Cannot tee a stream that already has a reader"); + return Ot(this); + } + values(e3) { + if (!H2(this)) + throw Kt("values"); + return function(e4, t2) { + const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re); + return n2._asyncIteratorImpl = o3, n2; + }(this, function(e4, t2) { + F2(e4, t2); + const r3 = null == e4 ? void 0 : e4.preventCancel; + return { preventCancel: Boolean(r3) }; + }(e3, "First parameter").preventCancel); + } + }; + Object.defineProperties(ReadableStream2.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream2.prototype.cancel, "cancel"), n(ReadableStream2.prototype.getReader, "getReader"), n(ReadableStream2.prototype.pipeThrough, "pipeThrough"), n(ReadableStream2.prototype.pipeTo, "pipeTo"), n(ReadableStream2.prototype.tee, "tee"), n(ReadableStream2.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream2.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream2.prototype, e2.asyncIterator, { value: ReadableStream2.prototype.values, writable: true, configurable: true }); + er = (e3) => e3.byteLength; + n(er, "size"); + ByteLengthQueuingStrategy = class { + constructor(e3) { + $3(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!rr(this)) + throw tr("highWaterMark"); + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!rr(this)) + throw tr("size"); + return er; + } + }; + Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); + or = () => 1; + n(or, "size"); + CountQueuingStrategy = class { + constructor(e3) { + $3(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!ar(this)) + throw nr("highWaterMark"); + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!ar(this)) + throw nr("size"); + return or; + } + }; + Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); + TransformStream = class { + constructor(e3 = {}, t2 = {}, r3 = {}) { + void 0 === e3 && (e3 = null); + const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a3 = function(e4, t3) { + F2(e4, t3); + const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; + return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a4 ? void 0 : sr(a4, e4, `${t3} has member 'transform' that`), writableType: i4 }; + }(e3, "First parameter"); + if (void 0 !== a3.readableType) + throw new RangeError("Invalid readableType specified"); + if (void 0 !== a3.writableType) + throw new RangeError("Invalid writableType specified"); + const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); + let b3; + !function(e4, t3, r4, o4, n3, a4) { + function i4() { + return t3; + } + function l4(t4) { + return function(e5, t5) { + const r5 = e5._transformStreamController; + if (e5._backpressure) { + return p2(e5._backpressureChangePromise, () => { + if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) + throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; + return pr(r5, t5); + }); + } + return pr(r5, t5); + }(e4, t4); + } + function s3(t4) { + return function(e5, t5) { + return cr(e5, t5), c(void 0); + }(e4, t4); + } + function u3() { + return function(e5) { + const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); + return hr(t4), p2(r5, () => { + if ("errored" === e5._readableState) + throw e5._readableStoredError; + gr(e5) && wr(e5); + }, (t5) => { + throw cr(e5, t5), e5._readableStoredError; + }); + }(e4); + } + function d5() { + return function(e5) { + return fr(e5, false), e5._backpressureChangePromise; + }(e4); + } + function f5(t4) { + return dr(e4, t4), c(void 0); + } + e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a5, i5) { + return new WritableStream({ start(r6) { + e5._writableController = r6; + try { + const t5 = r6.signal; + void 0 !== t5 && t5.addEventListener("abort", () => { + "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); + }); + } catch (e6) { + } + return p2(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { + throw e5._writableStarted = true, Rr(e5, t5), t5; + }); + }, write: (t5) => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p2(r5(t5), () => (function(e6) { + e6._writableHasInFlightOperation = false; + }(e5), Cr(e5), null), (t6) => { + throw function(e6, t7) { + e6._writableHasInFlightOperation = false, Rr(e6, t7); + }(e5, t6), t6; + })), close: () => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p2(o5(), () => (function(e6) { + e6._writableHasInFlightOperation = false; + "erroring" === e6._writableState && (e6._writableStoredError = void 0); + e6._writableState = "closed"; + }(e5), null), (t5) => { + throw function(e6, t6) { + e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); + }(e5, t5), t5; + })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a5, size: i5 }); + }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a5) { + return new ReadableStream2({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { + Sr(e5, t5); + })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { + Sr(e5, t5); + })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a5 }); + }(e4, i4, d5, f5, n3, a4), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; + }(this, u2((e4) => { + b3 = e4; + }), s2, f4, i3, l3), function(e4, t3) { + const r4 = Object.create(TransformStreamDefaultController.prototype); + let o4, n3; + o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { + try { + return _r(r4, e5), c(void 0); + } catch (e6) { + return d4(e6); + } + }; + n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c(void 0); + !function(e5, t4, r5, o5) { + t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; + }(e4, r4, o4, n3); + }(this, a3), void 0 !== a3.start ? b3(a3.start(this._transformStreamController)) : b3(void 0); + } + get readable() { + if (!ur(this)) + throw yr("readable"); + return this._readable; + } + get writable() { + if (!ur(this)) + throw yr("writable"); + return this._writable; + } + }; + Object.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); + TransformStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!br(this)) + throw mr("desiredSize"); + return vr(this._controlledTransformStream); + } + enqueue(e3) { + if (!br(this)) + throw mr("enqueue"); + _r(this, e3); + } + error(e3) { + if (!br(this)) + throw mr("error"); + var t2; + t2 = e3, cr(this._controlledTransformStream, t2); + } + terminate() { + if (!br(this)) + throw mr("terminate"); + !function(e3) { + const t2 = e3._controlledTransformStream; + gr(t2) && wr(t2); + const r3 = new TypeError("TransformStream terminated"); + dr(t2, r3); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); + } +}); + +// node_modules/formdata-node/lib/esm/isFunction.js +var isFunction2; +var init_isFunction = __esm({ + "node_modules/formdata-node/lib/esm/isFunction.js"() { + isFunction2 = (value) => typeof value === "function"; + } +}); + +// node_modules/formdata-node/lib/esm/blobHelpers.js +async function* clonePart(part) { + const end = part.byteOffset + part.byteLength; + let position = part.byteOffset; + while (position !== end) { + const size = Math.min(end - position, CHUNK_SIZE); + const chunk = part.buffer.slice(position, position + size); + position += chunk.byteLength; + yield new Uint8Array(chunk); + } +} +async function* consumeNodeBlob(blob) { + let position = 0; + while (position !== blob.size) { + const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); + const buffer = await chunk.arrayBuffer(); + position += buffer.byteLength; + yield new Uint8Array(buffer); + } +} +async function* consumeBlobParts(parts, clone = false) { + for (const part of parts) { + if (ArrayBuffer.isView(part)) { + if (clone) { + yield* clonePart(part); + } else { + yield part; + } + } else if (isFunction2(part.stream)) { + yield* part.stream(); + } else { + yield* consumeNodeBlob(part); + } + } +} +function* sliceBlob(blobParts, blobSize, start = 0, end) { + end !== null && end !== void 0 ? end : end = blobSize; + let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); + let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); + const span = Math.max(relativeEnd - relativeStart, 0); + let added = 0; + for (const part of blobParts) { + if (added >= span) { + break; + } + const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; + if (relativeStart && partSize <= relativeStart) { + relativeStart -= partSize; + relativeEnd -= partSize; + } else { + let chunk; + if (ArrayBuffer.isView(part)) { + chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.byteLength; + } else { + chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.size; + } + relativeEnd -= partSize; + relativeStart = 0; + yield chunk; + } + } +} +var CHUNK_SIZE; +var init_blobHelpers = __esm({ + "node_modules/formdata-node/lib/esm/blobHelpers.js"() { + init_isFunction(); + CHUNK_SIZE = 65536; + } +}); + +// node_modules/formdata-node/lib/esm/Blob.js +var __classPrivateFieldGet, __classPrivateFieldSet, _Blob_parts, _Blob_type, _Blob_size, Blob3; +var init_Blob = __esm({ + "node_modules/formdata-node/lib/esm/Blob.js"() { + init_ponyfill(); + init_isFunction(); + init_blobHelpers(); + __classPrivateFieldGet = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + __classPrivateFieldSet = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + Blob3 = class { + constructor(blobParts = [], options = {}) { + _Blob_parts.set(this, []); + _Blob_type.set(this, ""); + _Blob_size.set(this, 0); + options !== null && options !== void 0 ? options : options = {}; + if (typeof blobParts !== "object" || blobParts === null) { + throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); + } + if (!isFunction2(blobParts[Symbol.iterator])) { + throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); + } + if (typeof options !== "object" && !isFunction2(options)) { + throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); + } + const encoder = new TextEncoder(); + for (const raw of blobParts) { + let part; + if (ArrayBuffer.isView(raw)) { + part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); + } else if (raw instanceof ArrayBuffer) { + part = new Uint8Array(raw.slice(0)); + } else if (raw instanceof Blob3) { + part = raw; + } else { + part = encoder.encode(String(raw)); + } + __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); + __classPrivateFieldGet(this, _Blob_parts, "f").push(part); + } + const type = options.type === void 0 ? "" : String(options.type); + __classPrivateFieldSet(this, _Blob_type, /^[\x20-\x7E]*$/.test(type) ? type : "", "f"); + } + static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); + } + get type() { + return __classPrivateFieldGet(this, _Blob_type, "f"); + } + get size() { + return __classPrivateFieldGet(this, _Blob_size, "f"); + } + slice(start, end, contentType) { + return new Blob3(sliceBlob(__classPrivateFieldGet(this, _Blob_parts, "f"), this.size, start, end), { + type: contentType + }); + } + async text() { + const decoder = new TextDecoder(); + let result = ""; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { + result += decoder.decode(chunk, { stream: true }); + } + result += decoder.decode(); + return result; + } + async arrayBuffer() { + const view = new Uint8Array(this.size); + let offset = 0; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { + view.set(chunk, offset); + offset += chunk.length; + } + return view.buffer; + } + stream() { + const iterator = consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"), true); + return new ReadableStream2({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + return queueMicrotask(() => controller.close()); + } + controller.enqueue(value); + }, + async cancel() { + await iterator.return(); + } + }); + } + get [Symbol.toStringTag]() { + return "Blob"; + } + }; + Object.defineProperties(Blob3.prototype, { + type: { enumerable: true }, + size: { enumerable: true }, + slice: { enumerable: true }, + stream: { enumerable: true }, + text: { enumerable: true }, + arrayBuffer: { enumerable: true } + }); + } +}); + +// node_modules/formdata-node/lib/esm/File.js +var __classPrivateFieldSet2, __classPrivateFieldGet2, _File_name, _File_lastModified, File2; +var init_File = __esm({ + "node_modules/formdata-node/lib/esm/File.js"() { + init_Blob(); + __classPrivateFieldSet2 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + __classPrivateFieldGet2 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + File2 = class extends Blob3 { + constructor(fileBits, name, options = {}) { + super(fileBits, options); + _File_name.set(this, void 0); + _File_lastModified.set(this, 0); + if (arguments.length < 2) { + throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); + } + __classPrivateFieldSet2(this, _File_name, String(name), "f"); + const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); + if (!Number.isNaN(lastModified)) { + __classPrivateFieldSet2(this, _File_lastModified, lastModified, "f"); + } + } + static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; + } + get name() { + return __classPrivateFieldGet2(this, _File_name, "f"); + } + get lastModified() { + return __classPrivateFieldGet2(this, _File_lastModified, "f"); + } + get webkitRelativePath() { + return ""; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + } +}); + +// node_modules/formdata-node/lib/esm/isFile.js +var isFile2; +var init_isFile = __esm({ + "node_modules/formdata-node/lib/esm/isFile.js"() { + init_File(); + isFile2 = (value) => value instanceof File2; + } +}); + +// node_modules/humanize-ms/index.js +var require_humanize_ms = __commonJS({ + "node_modules/humanize-ms/index.js"(exports, module2) { + "use strict"; + var util2 = require("util"); + var ms = require_ms(); + module2.exports = function(t2) { + if (typeof t2 === "number") + return t2; + var r3 = ms(t2); + if (r3 === void 0) { + var err = new Error(util2.format("humanize-ms(%j) result undefined", t2)); + console.warn(err.stack); + } + return r3; + }; + } +}); + +// node_modules/agentkeepalive/lib/constants.js +var require_constants6 = __commonJS({ + "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { + "use strict"; + module2.exports = { + CURRENT_ID: Symbol("agentkeepalive#currentId"), + CREATE_ID: Symbol("agentkeepalive#createId"), + INIT_SOCKET: Symbol("agentkeepalive#initSocket"), + CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), + SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), + SOCKET_NAME: Symbol("agentkeepalive#socketName"), + SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), + SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") + }; + } +}); + +// node_modules/agentkeepalive/lib/agent.js +var require_agent2 = __commonJS({ + "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { + "use strict"; + var OriginalAgent = require("http").Agent; + var ms = require_humanize_ms(); + var debug2 = require("util").debuglog("agentkeepalive"); + var { + INIT_SOCKET, + CURRENT_ID, + CREATE_ID, + SOCKET_CREATED_TIME, + SOCKET_NAME, + SOCKET_REQUEST_COUNT, + SOCKET_REQUEST_FINISHED_COUNT + } = require_constants6(); + var defaultTimeoutListenerCount = 1; + var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); + if (majorVersion >= 11 && majorVersion <= 12) { + defaultTimeoutListenerCount = 2; + } else if (majorVersion >= 13) { + defaultTimeoutListenerCount = 3; + } + function deprecate2(message) { + console.log("[agentkeepalive:deprecated] %s", message); + } + var Agent = class extends OriginalAgent { + constructor(options) { + options = options || {}; + options.keepAlive = options.keepAlive !== false; + if (options.freeSocketTimeout === void 0) { + options.freeSocketTimeout = 4e3; + } + if (options.keepAliveTimeout) { + deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.keepAliveTimeout; + delete options.keepAliveTimeout; + } + if (options.freeSocketKeepAliveTimeout) { + deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; + delete options.freeSocketKeepAliveTimeout; + } + if (options.timeout === void 0) { + options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); + } + options.timeout = ms(options.timeout); + options.freeSocketTimeout = ms(options.freeSocketTimeout); + options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; + super(options); + this[CURRENT_ID] = 0; + this.createSocketCount = 0; + this.createSocketCountLastCheck = 0; + this.createSocketErrorCount = 0; + this.createSocketErrorCountLastCheck = 0; + this.closeSocketCount = 0; + this.closeSocketCountLastCheck = 0; + this.errorSocketCount = 0; + this.errorSocketCountLastCheck = 0; + this.requestCount = 0; + this.requestCountLastCheck = 0; + this.timeoutSocketCount = 0; + this.timeoutSocketCountLastCheck = 0; + this.on("free", (socket) => { + const timeout = this.calcSocketTimeout(socket); + if (timeout > 0 && socket.timeout !== timeout) { + socket.setTimeout(timeout); + } + }); + } + get freeSocketKeepAliveTimeout() { + deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); + return this.options.freeSocketTimeout; + } + get timeout() { + deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); + return this.options.timeout; + } + get socketActiveTTL() { + deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); + return this.options.socketActiveTTL; + } + calcSocketTimeout(socket) { + let freeSocketTimeout = this.options.freeSocketTimeout; + const socketActiveTTL = this.options.socketActiveTTL; + if (socketActiveTTL) { + const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; + const diff = socketActiveTTL - aliveTime; + if (diff <= 0) { + return diff; + } + if (freeSocketTimeout && diff < freeSocketTimeout) { + freeSocketTimeout = diff; + } + } + if (freeSocketTimeout) { + const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; + return customFreeSocketTimeout || freeSocketTimeout; + } + } + keepSocketAlive(socket) { + const result = super.keepSocketAlive(socket); + if (!result) + return result; + const customTimeout = this.calcSocketTimeout(socket); + if (typeof customTimeout === "undefined") { + return true; + } + if (customTimeout <= 0) { + debug2( + "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + customTimeout + ); + return false; + } + if (socket.timeout !== customTimeout) { + socket.setTimeout(customTimeout); + } + return true; + } + reuseSocket(...args) { + super.reuseSocket(...args); + const socket = args[0]; + const req = args[1]; + req.reusedSocket = true; + const agentTimeout = this.options.timeout; + if (getSocketTimeout(socket) !== agentTimeout) { + socket.setTimeout(agentTimeout); + debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); + } + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + getSocketTimeout(socket) + ); + } + [CREATE_ID]() { + const id = this[CURRENT_ID]++; + if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) + this[CURRENT_ID] = 0; + return id; + } + [INIT_SOCKET](socket, options) { + if (options.timeout) { + const timeout = getSocketTimeout(socket); + if (!timeout) { + socket.setTimeout(options.timeout); + } + } + if (this.options.keepAlive) { + socket.setNoDelay(true); + } + this.createSocketCount++; + if (this.options.socketActiveTTL) { + socket[SOCKET_CREATED_TIME] = Date.now(); + } + socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; + socket[SOCKET_REQUEST_COUNT] = 1; + socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; + installListeners(this, socket, options); + } + createConnection(options, oncreate) { + let called = false; + const onNewCreate = (err, socket) => { + if (called) + return; + called = true; + if (err) { + this.createSocketErrorCount++; + return oncreate(err); + } + this[INIT_SOCKET](socket, options); + oncreate(err, socket); + }; + const newSocket = super.createConnection(options, onNewCreate); + if (newSocket) + onNewCreate(null, newSocket); + return newSocket; + } + get statusChanged() { + const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; + if (changed) { + this.createSocketCountLastCheck = this.createSocketCount; + this.createSocketErrorCountLastCheck = this.createSocketErrorCount; + this.closeSocketCountLastCheck = this.closeSocketCount; + this.errorSocketCountLastCheck = this.errorSocketCount; + this.timeoutSocketCountLastCheck = this.timeoutSocketCount; + this.requestCountLastCheck = this.requestCount; + } + return changed; + } + getCurrentStatus() { + return { + createSocketCount: this.createSocketCount, + createSocketErrorCount: this.createSocketErrorCount, + closeSocketCount: this.closeSocketCount, + errorSocketCount: this.errorSocketCount, + timeoutSocketCount: this.timeoutSocketCount, + requestCount: this.requestCount, + freeSockets: inspect2(this.freeSockets), + sockets: inspect2(this.sockets), + requests: inspect2(this.requests) + }; + } + }; + function getSocketTimeout(socket) { + return socket.timeout || socket._idleTimeout; + } + function installListeners(agent, socket, options) { + debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); + function onFree() { + if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) + return; + socket[SOCKET_REQUEST_FINISHED_COUNT]++; + agent.requestCount++; + debug2( + "%s(requests: %s, finished: %s) free", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + const name = agent.getName(options); + if (socket.writable && agent.requests[name] && agent.requests[name].length) { + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) will be reuse on agent free event", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + } + } + socket.on("free", onFree); + function onClose(isError) { + debug2( + "%s(requests: %s, finished: %s) close, isError: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + isError + ); + agent.closeSocketCount++; + } + socket.on("close", onClose); + function onTimeout() { + const listenerCount = socket.listeners("timeout").length; + const timeout = getSocketTimeout(socket); + const req = socket._httpMessage; + const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; + debug2( + "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + timeout, + listenerCount, + defaultTimeoutListenerCount, + !!req, + reqTimeoutListenerCount + ); + if (debug2.enabled) { + debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); + } + agent.timeoutSocketCount++; + const name = agent.getName(options); + if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { + socket.destroy(); + agent.removeSocket(socket, options); + debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); + } else { + if (reqTimeoutListenerCount === 0) { + const error = new Error("Socket timeout"); + error.code = "ERR_SOCKET_TIMEOUT"; + error.timeout = timeout; + socket.destroy(error); + agent.removeSocket(socket, options); + debug2("%s destroy with timeout error", socket[SOCKET_NAME]); + } + } + } + socket.on("timeout", onTimeout); + function onError(err) { + const listenerCount = socket.listeners("error").length; + debug2( + "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + err, + listenerCount + ); + agent.errorSocketCount++; + if (listenerCount === 1) { + debug2("%s emit uncaught error event", socket[SOCKET_NAME]); + socket.removeListener("error", onError); + socket.emit("error", err); + } + } + socket.on("error", onError); + function onRemove() { + debug2( + "%s(requests: %s, finished: %s) agentRemove", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + socket.removeListener("close", onClose); + socket.removeListener("error", onError); + socket.removeListener("free", onFree); + socket.removeListener("timeout", onTimeout); + socket.removeListener("agentRemove", onRemove); + } + socket.on("agentRemove", onRemove); + } + module2.exports = Agent; + function inspect2(obj) { + const res = {}; + for (const key in obj) { + res[key] = obj[key].length; + } + return res; + } + } +}); + +// node_modules/agentkeepalive/lib/https_agent.js +var require_https_agent = __commonJS({ + "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { + "use strict"; + var OriginalHttpsAgent = require("https").Agent; + var HttpAgent = require_agent2(); + var { + INIT_SOCKET, + CREATE_HTTPS_CONNECTION + } = require_constants6(); + var HttpsAgent = class extends HttpAgent { + constructor(options) { + super(options); + this.defaultPort = 443; + this.protocol = "https:"; + this.maxCachedSessions = this.options.maxCachedSessions; + if (this.maxCachedSessions === void 0) { + this.maxCachedSessions = 100; + } + this._sessionCache = { + map: {}, + list: [] + }; + } + createConnection(options, oncreate) { + const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); + this[INIT_SOCKET](socket, options); + return socket; + } + }; + HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; + [ + "getName", + "_getSession", + "_cacheSession", + "_evictSession" + ].forEach(function(method) { + if (typeof OriginalHttpsAgent.prototype[method] === "function") { + HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; + } + }); + module2.exports = HttpsAgent; + } +}); + +// node_modules/agentkeepalive/index.js +var require_agentkeepalive = __commonJS({ + "node_modules/agentkeepalive/index.js"(exports, module2) { + "use strict"; + module2.exports = require_agent2(); + module2.exports.HttpsAgent = require_https_agent(); + module2.exports.constants = require_constants6(); + } +}); + +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); + } + return; + } + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event2(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() + }); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } + } + } + Event2.prototype = { + get type() { + return pd(this).event.type; + }, + get target() { + return pd(this).eventTarget; + }, + get currentTarget() { + return pd(this).currentTarget; + }, + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; + } + return [currentTarget]; + }, + get NONE() { + return 0; + }, + get CAPTURING_PHASE() { + return 1; + }, + get AT_TARGET() { + return 2; + }, + get BUBBLING_PHASE() { + return 3; + }, + get eventPhase() { + return pd(this).eventPhase; + }, + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); + } + }, + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + preventDefault() { + setCancelFlag(pd(this)); + }, + get defaultPrevented() { + return pd(this).canceled; + }, + get composed() { + return Boolean(pd(this).event.composed); + }, + get timeStamp() { + return pd(this).timeStamp; + }, + get srcElement() { + return pd(this).eventTarget; + }, + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; + } + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; + } + }, + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + initEvent() { + } + }; + Object.defineProperty(Event2.prototype, "constructor", { + value: Event2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event2.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event2); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true + }; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true + }; + } + function defineWrapper(BaseEvent, proto2) { + const keys = Object.keys(proto2); + if (keys.length === 0) { + return BaseEvent; + } + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } + }); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto2, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } + } + return CustomEvent; + } + function getWrapper(proto2) { + if (proto2 == null || proto2 === Object.prototype) { + return Event2; + } + let wrapper = wrappers.get(proto2); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); + wrappers.set(proto2, wrapper); + } + return wrapper; + } + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); + } + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject2(x2) { + return x2 !== null && typeof x2 === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; + } + node = node.next; + } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject2(listener)) { + listener = null; + } + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; + } + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } + } + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget2.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget2.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true + } + }); + for (let i3 = 0; i3 < eventNames.length; ++i3) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); + } + return CustomEventTarget; + } + function EventTarget2() { + if (this instanceof EventTarget2) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i3 = 0; i3 < arguments.length; ++i3) { + types[i3] = arguments[i3]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget2.prototype = { + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject2(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject2(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + return; + } + prev = node; + node = node.next; + } + }, + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget2.prototype, "constructor", { + value: EventTarget2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype); + } + exports.defineEventAttribute = defineEventAttribute; + exports.EventTarget = EventTarget2; + exports.default = EventTarget2; + module2.exports = EventTarget2; + module2.exports.EventTarget = module2.exports["default"] = EventTarget2; + module2.exports.defineEventAttribute = defineEventAttribute; + } +}); + +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var eventTargetShim = require_event_target_shim(); + var AbortSignal2 = class extends eventTargetShim.EventTarget { + constructor() { + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); + } + get aborted() { + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); + } + return aborted; + } + }; + eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal2.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; + } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal2.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { + constructor() { + signals.set(this, createAbortSignal()); + } + get signal() { + return getSignal(this); + } + abort() { + abortSignal(getSignal(this)); + } + }; + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); + } + return signal; + } + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports.AbortController = AbortController2; + exports.AbortSignal = AbortSignal2; + exports.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal2; + } +}); + +// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +var require_ponyfill_es2018 = __commonJS({ + "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { + (function(global2, factory) { + typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); + })(exports, function(exports2) { + "use strict"; + function noop2() { + return void 0; + } + function typeIsObject(x2) { + return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; + } + const rethrowAssertionErrorRejection = noop2; + function setFunctionName(fn, name) { + try { + Object.defineProperty(fn, "name", { + value: name, + configurable: true + }); + } catch (_a3) { + } + } + const originalPromise = Promise; + const originalPromiseThen = Promise.prototype.then; + const originalPromiseReject = Promise.reject.bind(originalPromise); + function newPromise(executor) { + return new originalPromise(executor); + } + function promiseResolvedWith(value) { + return newPromise((resolve) => resolve(value)); + } + function promiseRejectedWith(reason) { + return originalPromiseReject(reason); + } + function PerformPromiseThen(promise, onFulfilled, onRejected) { + return originalPromiseThen.call(promise, onFulfilled, onRejected); + } + function uponPromise(promise, onFulfilled, onRejected) { + PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); + } + function uponFulfillment(promise, onFulfilled) { + uponPromise(promise, onFulfilled); + } + function uponRejection(promise, onRejected) { + uponPromise(promise, void 0, onRejected); + } + function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { + return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); + } + function setPromiseIsHandledToTrue(promise) { + PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); + } + let _queueMicrotask = (callback) => { + if (typeof queueMicrotask === "function") { + _queueMicrotask = queueMicrotask; + } else { + const resolvedPromise = promiseResolvedWith(void 0); + _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); + } + return _queueMicrotask(callback); + }; + function reflectCall(F3, V4, args) { + if (typeof F3 !== "function") { + throw new TypeError("Argument is not a function"); + } + return Function.prototype.apply.call(F3, V4, args); + } + function promiseCall(F3, V4, args) { + try { + return promiseResolvedWith(reflectCall(F3, V4, args)); + } catch (value) { + return promiseRejectedWith(value); + } + } + const QUEUE_MAX_ARRAY_SIZE = 16384; + class SimpleQueue { + constructor() { + this._cursor = 0; + this._size = 0; + this._front = { + _elements: [], + _next: void 0 + }; + this._back = this._front; + this._cursor = 0; + this._size = 0; + } + get length() { + return this._size; + } + push(element) { + const oldBack = this._back; + let newBack = oldBack; + if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { + newBack = { + _elements: [], + _next: void 0 + }; + } + oldBack._elements.push(element); + if (newBack !== oldBack) { + this._back = newBack; + oldBack._next = newBack; + } + ++this._size; + } + shift() { + const oldFront = this._front; + let newFront = oldFront; + const oldCursor = this._cursor; + let newCursor = oldCursor + 1; + const elements = oldFront._elements; + const element = elements[oldCursor]; + if (newCursor === QUEUE_MAX_ARRAY_SIZE) { + newFront = oldFront._next; + newCursor = 0; + } + --this._size; + this._cursor = newCursor; + if (oldFront !== newFront) { + this._front = newFront; + } + elements[oldCursor] = void 0; + return element; + } + forEach(callback) { + let i3 = this._cursor; + let node = this._front; + let elements = node._elements; + while (i3 !== elements.length || node._next !== void 0) { + if (i3 === elements.length) { + node = node._next; + elements = node._elements; + i3 = 0; + if (elements.length === 0) { + break; + } + } + callback(elements[i3]); + ++i3; + } + } + peek() { + const front = this._front; + const cursor = this._cursor; + return front._elements[cursor]; + } + } + const AbortSteps = Symbol("[[AbortSteps]]"); + const ErrorSteps = Symbol("[[ErrorSteps]]"); + const CancelSteps = Symbol("[[CancelSteps]]"); + const PullSteps = Symbol("[[PullSteps]]"); + const ReleaseSteps = Symbol("[[ReleaseSteps]]"); + function ReadableStreamReaderGenericInitialize(reader, stream4) { + reader._ownerReadableStream = stream4; + stream4._reader = reader; + if (stream4._state === "readable") { + defaultReaderClosedPromiseInitialize(reader); + } else if (stream4._state === "closed") { + defaultReaderClosedPromiseInitializeAsResolved(reader); + } else { + defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); + } + } + function ReadableStreamReaderGenericCancel(reader, reason) { + const stream4 = reader._ownerReadableStream; + return ReadableStreamCancel(stream4, reason); + } + function ReadableStreamReaderGenericRelease(reader) { + const stream4 = reader._ownerReadableStream; + if (stream4._state === "readable") { + defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } else { + defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } + stream4._readableStreamController[ReleaseSteps](); + stream4._reader = void 0; + reader._ownerReadableStream = void 0; + } + function readerLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released reader"); + } + function defaultReaderClosedPromiseInitialize(reader) { + reader._closedPromise = newPromise((resolve, reject) => { + reader._closedPromise_resolve = resolve; + reader._closedPromise_reject = reject; + }); + } + function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseReject(reader, reason); + } + function defaultReaderClosedPromiseInitializeAsResolved(reader) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseResolve(reader); + } + function defaultReaderClosedPromiseReject(reader, reason) { + if (reader._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(reader._closedPromise); + reader._closedPromise_reject(reason); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + function defaultReaderClosedPromiseResetToRejected(reader, reason) { + defaultReaderClosedPromiseInitializeAsRejected(reader, reason); + } + function defaultReaderClosedPromiseResolve(reader) { + if (reader._closedPromise_resolve === void 0) { + return; + } + reader._closedPromise_resolve(void 0); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + const NumberIsFinite = Number.isFinite || function(x2) { + return typeof x2 === "number" && isFinite(x2); + }; + const MathTrunc = Math.trunc || function(v2) { + return v2 < 0 ? Math.ceil(v2) : Math.floor(v2); + }; + function isDictionary(x2) { + return typeof x2 === "object" || typeof x2 === "function"; + } + function assertDictionary(obj, context2) { + if (obj !== void 0 && !isDictionary(obj)) { + throw new TypeError(`${context2} is not an object.`); + } + } + function assertFunction(x2, context2) { + if (typeof x2 !== "function") { + throw new TypeError(`${context2} is not a function.`); + } + } + function isObject2(x2) { + return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; + } + function assertObject(x2, context2) { + if (!isObject2(x2)) { + throw new TypeError(`${context2} is not an object.`); + } + } + function assertRequiredArgument(x2, position, context2) { + if (x2 === void 0) { + throw new TypeError(`Parameter ${position} is required in '${context2}'.`); + } + } + function assertRequiredField(x2, field, context2) { + if (x2 === void 0) { + throw new TypeError(`${field} is required in '${context2}'.`); + } + } + function convertUnrestrictedDouble(value) { + return Number(value); + } + function censorNegativeZero(x2) { + return x2 === 0 ? 0 : x2; + } + function integerPart(x2) { + return censorNegativeZero(MathTrunc(x2)); + } + function convertUnsignedLongLongWithEnforceRange(value, context2) { + const lowerBound = 0; + const upperBound = Number.MAX_SAFE_INTEGER; + let x2 = Number(value); + x2 = censorNegativeZero(x2); + if (!NumberIsFinite(x2)) { + throw new TypeError(`${context2} is not a finite number`); + } + x2 = integerPart(x2); + if (x2 < lowerBound || x2 > upperBound) { + throw new TypeError(`${context2} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); + } + if (!NumberIsFinite(x2) || x2 === 0) { + return 0; + } + return x2; + } + function assertReadableStream(x2, context2) { + if (!IsReadableStream(x2)) { + throw new TypeError(`${context2} is not a ReadableStream.`); + } + } + function AcquireReadableStreamDefaultReader(stream4) { + return new ReadableStreamDefaultReader2(stream4); + } + function ReadableStreamAddReadRequest(stream4, readRequest) { + stream4._reader._readRequests.push(readRequest); + } + function ReadableStreamFulfillReadRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readRequest = reader._readRequests.shift(); + if (done) { + readRequest._closeSteps(); + } else { + readRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadRequests(stream4) { + return stream4._reader._readRequests.length; + } + function ReadableStreamHasDefaultReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamDefaultReader(reader)) { + return false; + } + return true; + } + class ReadableStreamDefaultReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("read")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: () => resolvePromise({ value: void 0, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamDefaultReaderRead(this, readRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamDefaultReader(this)) { + throw defaultReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamDefaultReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamDefaultReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); + setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultReader", + configurable: true + }); + } + function IsReadableStreamDefaultReader(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readRequests")) { + return false; + } + return x2 instanceof ReadableStreamDefaultReader2; + } + function ReadableStreamDefaultReaderRead(reader, readRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "closed") { + readRequest._closeSteps(); + } else if (stream4._state === "errored") { + readRequest._errorSteps(stream4._storedError); + } else { + stream4._readableStreamController[PullSteps](readRequest); + } + } + function ReadableStreamDefaultReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } + function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._errorSteps(e3); + }); + } + function defaultReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); + } + const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { + }).prototype); + class ReadableStreamAsyncIteratorImpl { + constructor(reader, preventCancel) { + this._ongoingPromise = void 0; + this._isFinished = false; + this._reader = reader; + this._preventCancel = preventCancel; + } + next() { + const nextSteps = () => this._nextSteps(); + this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); + return this._ongoingPromise; + } + return(value) { + const returnSteps = () => this._returnSteps(value); + return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); + } + _nextSteps() { + if (this._isFinished) { + return Promise.resolve({ value: void 0, done: true }); + } + const reader = this._reader; + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => { + this._ongoingPromise = void 0; + _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); + }, + _closeSteps: () => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + resolvePromise({ value: void 0, done: true }); + }, + _errorSteps: (reason) => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + rejectPromise(reason); + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promise; + } + _returnSteps(value) { + if (this._isFinished) { + return Promise.resolve({ value, done: true }); + } + this._isFinished = true; + const reader = this._reader; + if (!this._preventCancel) { + const result = ReadableStreamReaderGenericCancel(reader, value); + ReadableStreamReaderGenericRelease(reader); + return transformPromiseWith(result, () => ({ value, done: true })); + } + ReadableStreamReaderGenericRelease(reader); + return promiseResolvedWith({ value, done: true }); + } + } + const ReadableStreamAsyncIteratorPrototype = { + next() { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); + } + return this._asyncIteratorImpl.next(); + }, + return(value) { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); + } + return this._asyncIteratorImpl.return(value); + } + }; + Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); + function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { + const reader = AcquireReadableStreamDefaultReader(stream4); + const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); + const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); + iterator._asyncIteratorImpl = impl; + return iterator; + } + function IsReadableStreamAsyncIterator(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_asyncIteratorImpl")) { + return false; + } + try { + return x2._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; + } catch (_a3) { + return false; + } + } + function streamAsyncIteratorBrandCheckException(name) { + return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); + } + const NumberIsNaN = Number.isNaN || function(x2) { + return x2 !== x2; + }; + var _a2, _b, _c; + function CreateArrayFromList(elements) { + return elements.slice(); + } + function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { + new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); + } + let TransferArrayBuffer = (O3) => { + if (typeof O3.transfer === "function") { + TransferArrayBuffer = (buffer) => buffer.transfer(); + } else if (typeof structuredClone === "function") { + TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); + } else { + TransferArrayBuffer = (buffer) => buffer; + } + return TransferArrayBuffer(O3); + }; + let IsDetachedBuffer = (O3) => { + if (typeof O3.detached === "boolean") { + IsDetachedBuffer = (buffer) => buffer.detached; + } else { + IsDetachedBuffer = (buffer) => buffer.byteLength === 0; + } + return IsDetachedBuffer(O3); + }; + function ArrayBufferSlice(buffer, begin, end) { + if (buffer.slice) { + return buffer.slice(begin, end); + } + const length = end - begin; + const slice = new ArrayBuffer(length); + CopyDataBlockBytes(slice, 0, buffer, begin, length); + return slice; + } + function GetMethod(receiver, prop) { + const func = receiver[prop]; + if (func === void 0 || func === null) { + return void 0; + } + if (typeof func !== "function") { + throw new TypeError(`${String(prop)} is not a function`); + } + return func; + } + function CreateAsyncFromSyncIterator(syncIteratorRecord) { + const syncIterable = { + [Symbol.iterator]: () => syncIteratorRecord.iterator + }; + const asyncIterator2 = async function* () { + return yield* syncIterable; + }(); + const nextMethod = asyncIterator2.next; + return { iterator: asyncIterator2, nextMethod, done: false }; + } + const SymbolAsyncIterator = (_c = (_a2 = Symbol.asyncIterator) !== null && _a2 !== void 0 ? _a2 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c !== void 0 ? _c : "@@asyncIterator"; + function GetIterator(obj, hint = "sync", method) { + if (method === void 0) { + if (hint === "async") { + method = GetMethod(obj, SymbolAsyncIterator); + if (method === void 0) { + const syncMethod = GetMethod(obj, Symbol.iterator); + const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); + return CreateAsyncFromSyncIterator(syncIteratorRecord); + } + } else { + method = GetMethod(obj, Symbol.iterator); + } + } + if (method === void 0) { + throw new TypeError("The object is not iterable"); + } + const iterator = reflectCall(method, obj, []); + if (!typeIsObject(iterator)) { + throw new TypeError("The iterator method must return an object"); + } + const nextMethod = iterator.next; + return { iterator, nextMethod, done: false }; + } + function IteratorNext(iteratorRecord) { + const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); + if (!typeIsObject(result)) { + throw new TypeError("The iterator.next() method must return an object"); + } + return result; + } + function IteratorComplete(iterResult) { + return Boolean(iterResult.done); + } + function IteratorValue(iterResult) { + return iterResult.value; + } + function IsNonNegativeNumber(v2) { + if (typeof v2 !== "number") { + return false; + } + if (NumberIsNaN(v2)) { + return false; + } + if (v2 < 0) { + return false; + } + return true; + } + function CloneAsUint8Array(O3) { + const buffer = ArrayBufferSlice(O3.buffer, O3.byteOffset, O3.byteOffset + O3.byteLength); + return new Uint8Array(buffer); + } + function DequeueValue(container) { + const pair = container._queue.shift(); + container._queueTotalSize -= pair.size; + if (container._queueTotalSize < 0) { + container._queueTotalSize = 0; + } + return pair.value; + } + function EnqueueValueWithSize(container, value, size) { + if (!IsNonNegativeNumber(size) || size === Infinity) { + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + } + container._queue.push({ value, size }); + container._queueTotalSize += size; + } + function PeekQueueValue(container) { + const pair = container._queue.peek(); + return pair.value; + } + function ResetQueue(container) { + container._queue = new SimpleQueue(); + container._queueTotalSize = 0; + } + function isDataViewConstructor(ctor) { + return ctor === DataView; + } + function isDataView(view) { + return isDataViewConstructor(view.constructor); + } + function arrayBufferViewElementSize(ctor) { + if (isDataViewConstructor(ctor)) { + return 1; + } + return ctor.BYTES_PER_ELEMENT; + } + class ReadableStreamBYOBRequest2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("view"); + } + return this._view; + } + respond(bytesWritten) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respond"); + } + assertRequiredArgument(bytesWritten, 1, "respond"); + bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(this._view.buffer)) { + throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); + } + ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); + } + respondWithNewView(view) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respondWithNewView"); + } + assertRequiredArgument(view, 1, "respondWithNewView"); + if (!ArrayBuffer.isView(view)) { + throw new TypeError("You can only respond with array buffer views"); + } + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(view.buffer)) { + throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); + } + ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); + } + } + Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { + respond: { enumerable: true }, + respondWithNewView: { enumerable: true }, + view: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBRequest", + configurable: true + }); + } + class ReadableByteStreamController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("byobRequest"); + } + return ReadableByteStreamControllerGetBYOBRequest(this); + } + get desiredSize() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("desiredSize"); + } + return ReadableByteStreamControllerGetDesiredSize(this); + } + close() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("close"); + } + if (this._closeRequested) { + throw new TypeError("The stream has already been closed; do not close it again!"); + } + const state = this._controlledReadableByteStream._state; + if (state !== "readable") { + throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`); + } + ReadableByteStreamControllerClose(this); + } + enqueue(chunk) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("enqueue"); + } + assertRequiredArgument(chunk, 1, "enqueue"); + if (!ArrayBuffer.isView(chunk)) { + throw new TypeError("chunk must be an array buffer view"); + } + if (chunk.byteLength === 0) { + throw new TypeError("chunk must have non-zero byteLength"); + } + if (chunk.buffer.byteLength === 0) { + throw new TypeError(`chunk's buffer must have non-zero byteLength`); + } + if (this._closeRequested) { + throw new TypeError("stream is closed or draining"); + } + const state = this._controlledReadableByteStream._state; + if (state !== "readable") { + throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`); + } + ReadableByteStreamControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("error"); + } + ReadableByteStreamControllerError(this, e3); + } + [CancelSteps](reason) { + ReadableByteStreamControllerClearPendingPullIntos(this); + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableByteStreamControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) { + ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); + return; + } + const autoAllocateChunkSize = this._autoAllocateChunkSize; + if (autoAllocateChunkSize !== void 0) { + let buffer; + try { + buffer = new ArrayBuffer(autoAllocateChunkSize); + } catch (bufferE) { + readRequest._errorSteps(bufferE); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: autoAllocateChunkSize, + byteOffset: 0, + byteLength: autoAllocateChunkSize, + bytesFilled: 0, + minimumFill: 1, + elementSize: 1, + viewConstructor: Uint8Array, + readerType: "default" + }; + this._pendingPullIntos.push(pullIntoDescriptor); + } + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableByteStreamControllerCallPullIfNeeded(this); + } + [ReleaseSteps]() { + if (this._pendingPullIntos.length > 0) { + const firstPullInto = this._pendingPullIntos.peek(); + firstPullInto.readerType = "none"; + this._pendingPullIntos = new SimpleQueue(); + this._pendingPullIntos.push(firstPullInto); + } + } + } + Object.defineProperties(ReadableByteStreamController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + byobRequest: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableByteStreamController2.prototype.close, "close"); + setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableByteStreamController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { + value: "ReadableByteStreamController", + configurable: true + }); + } + function IsReadableByteStreamController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableByteStream")) { + return false; + } + return x2 instanceof ReadableByteStreamController2; + } + function IsReadableStreamBYOBRequest(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_associatedReadableByteStreamController")) { + return false; + } + return x2 instanceof ReadableStreamBYOBRequest2; + } + function ReadableByteStreamControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableByteStreamControllerError(controller, e3); + return null; + }); + } + function ReadableByteStreamControllerClearPendingPullIntos(controller) { + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + controller._pendingPullIntos = new SimpleQueue(); + } + function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { + let done = false; + if (stream4._state === "closed") { + done = true; + } + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "default") { + ReadableStreamFulfillReadRequest(stream4, filledView, done); + } else { + ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); + } + } + function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { + const bytesFilled = pullIntoDescriptor.bytesFilled; + const elementSize = pullIntoDescriptor.elementSize; + return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); + } + function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { + controller._queue.push({ buffer, byteOffset, byteLength }); + controller._queueTotalSize += byteLength; + } + function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { + let clonedChunk; + try { + clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); + } catch (cloneE) { + ReadableByteStreamControllerError(controller, cloneE); + throw cloneE; + } + ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); + } + function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { + if (firstDescriptor.bytesFilled > 0) { + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { + const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); + const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; + let totalBytesToCopyRemaining = maxBytesToCopy; + let ready = false; + const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; + const maxAlignedBytes = maxBytesFilled - remainderBytes; + if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { + totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; + ready = true; + } + const queue = controller._queue; + while (totalBytesToCopyRemaining > 0) { + const headOfQueue = queue.peek(); + const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); + const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); + if (headOfQueue.byteLength === bytesToCopy) { + queue.shift(); + } else { + headOfQueue.byteOffset += bytesToCopy; + headOfQueue.byteLength -= bytesToCopy; + } + controller._queueTotalSize -= bytesToCopy; + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); + totalBytesToCopyRemaining -= bytesToCopy; + } + return ready; + } + function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { + pullIntoDescriptor.bytesFilled += size; + } + function ReadableByteStreamControllerHandleQueueDrain(controller) { + if (controller._queueTotalSize === 0 && controller._closeRequested) { + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(controller._controlledReadableByteStream); + } else { + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + } + function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { + if (controller._byobRequest === null) { + return; + } + controller._byobRequest._associatedReadableByteStreamController = void 0; + controller._byobRequest._view = null; + controller._byobRequest = null; + } + function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { + while (controller._pendingPullIntos.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const pullIntoDescriptor = controller._pendingPullIntos.peek(); + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { + const reader = controller._controlledReadableByteStream._reader; + while (reader._readRequests.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const readRequest = reader._readRequests.shift(); + ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); + } + } + function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { + const stream4 = controller._controlledReadableByteStream; + const ctor = view.constructor; + const elementSize = arrayBufferViewElementSize(ctor); + const { byteOffset, byteLength } = view; + const minimumFill = min * elementSize; + let buffer; + try { + buffer = TransferArrayBuffer(view.buffer); + } catch (e3) { + readIntoRequest._errorSteps(e3); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: buffer.byteLength, + byteOffset, + byteLength, + bytesFilled: 0, + minimumFill, + elementSize, + viewConstructor: ctor, + readerType: "byob" + }; + if (controller._pendingPullIntos.length > 0) { + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + return; + } + if (stream4._state === "closed") { + const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); + readIntoRequest._closeSteps(emptyView); + return; + } + if (controller._queueTotalSize > 0) { + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + ReadableByteStreamControllerHandleQueueDrain(controller); + readIntoRequest._chunkSteps(filledView); + return; + } + if (controller._closeRequested) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + readIntoRequest._errorSteps(e3); + return; + } + } + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { + if (firstDescriptor.readerType === "none") { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const stream4 = controller._controlledReadableByteStream; + if (ReadableStreamHasBYOBReader(stream4)) { + while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + return; + } + if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { + return; + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; + if (remainderSize > 0) { + const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); + } + pullIntoDescriptor.bytesFilled -= remainderSize; + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } + function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); + } else { + ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerShiftPendingPullInto(controller) { + const descriptor = controller._pendingPullIntos.shift(); + return descriptor; + } + function ReadableByteStreamControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return false; + } + if (controller._closeRequested) { + return false; + } + if (!controller._started) { + return false; + } + if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableByteStreamControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function ReadableByteStreamControllerClose(controller) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + if (controller._queueTotalSize > 0) { + controller._closeRequested = true; + return; + } + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + throw e3; + } + } + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + function ReadableByteStreamControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + const { buffer, byteOffset, byteLength } = chunk; + if (IsDetachedBuffer(buffer)) { + throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); + } + const transferredBuffer = TransferArrayBuffer(buffer); + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (IsDetachedBuffer(firstPendingPullInto.buffer)) { + throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); + } + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); + if (firstPendingPullInto.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); + } + } + if (ReadableStreamHasDefaultReader(stream4)) { + ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); + if (ReadableStreamGetNumReadRequests(stream4) === 0) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } else { + if (controller._pendingPullIntos.length > 0) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); + ReadableStreamFulfillReadRequest(stream4, transferredView, false); + } + } else if (ReadableStreamHasBYOBReader(stream4)) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } else { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerError(controller, e3) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return; + } + ReadableByteStreamControllerClearPendingPullIntos(controller); + ResetQueue(controller); + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { + const entry = controller._queue.shift(); + controller._queueTotalSize -= entry.byteLength; + ReadableByteStreamControllerHandleQueueDrain(controller); + const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); + readRequest._chunkSteps(view); + } + function ReadableByteStreamControllerGetBYOBRequest(controller) { + if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); + const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); + SetUpReadableStreamBYOBRequest(byobRequest, controller, view); + controller._byobRequest = byobRequest; + } + return controller._byobRequest; + } + function ReadableByteStreamControllerGetDesiredSize(controller) { + const state = controller._controlledReadableByteStream._state; + if (state === "errored") { + return null; + } + if (state === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableByteStreamControllerRespond(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + if (bytesWritten !== 0) { + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } + } else { + if (bytesWritten === 0) { + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + } + if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { + throw new RangeError("bytesWritten out of range"); + } + } + firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); + ReadableByteStreamControllerRespondInternal(controller, bytesWritten); + } + function ReadableByteStreamControllerRespondWithNewView(controller, view) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state = controller._controlledReadableByteStream._state; + if (state === "closed") { + if (view.byteLength !== 0) { + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } + } else { + if (view.byteLength === 0) { + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + } + } + if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { + throw new RangeError("The region specified by view does not match byobRequest"); + } + if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { + throw new RangeError("The buffer of view has different capacity than byobRequest"); + } + if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { + throw new RangeError("The region specified by view is larger than byobRequest"); + } + const viewByteLength = view.byteLength; + firstDescriptor.buffer = TransferArrayBuffer(view.buffer); + ReadableByteStreamControllerRespondInternal(controller, viewByteLength); + } + function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { + controller._controlledReadableByteStream = stream4; + controller._pullAgain = false; + controller._pulling = false; + controller._byobRequest = null; + controller._queue = controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._closeRequested = false; + controller._started = false; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._autoAllocateChunkSize = autoAllocateChunkSize; + controller._pendingPullIntos = new SimpleQueue(); + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableByteStreamControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableByteStreamControllerError(controller, r3); + return null; + }); + } + function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { + const controller = Object.create(ReadableByteStreamController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingByteSource.start !== void 0) { + startAlgorithm = () => underlyingByteSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingByteSource.pull !== void 0) { + pullAlgorithm = () => underlyingByteSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingByteSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; + if (autoAllocateChunkSize === 0) { + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + } + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); + } + function SetUpReadableStreamBYOBRequest(request, controller, view) { + request._associatedReadableByteStreamController = controller; + request._view = view; + } + function byobRequestBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); + } + function byteStreamControllerBrandCheckException(name) { + return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); + } + function convertReaderOptions(options, context2) { + assertDictionary(options, context2); + const mode3 = options === null || options === void 0 ? void 0 : options.mode; + return { + mode: mode3 === void 0 ? void 0 : convertReadableStreamReaderMode(mode3, `${context2} has member 'mode' that`) + }; + } + function convertReadableStreamReaderMode(mode3, context2) { + mode3 = `${mode3}`; + if (mode3 !== "byob") { + throw new TypeError(`${context2} '${mode3}' is not a valid enumeration value for ReadableStreamReaderMode`); + } + return mode3; + } + function convertByobReadOptions(options, context2) { + var _a3; + assertDictionary(options, context2); + const min = (_a3 = options === null || options === void 0 ? void 0 : options.min) !== null && _a3 !== void 0 ? _a3 : 1; + return { + min: convertUnsignedLongLongWithEnforceRange(min, `${context2} has member 'min' that`) + }; + } + function AcquireReadableStreamBYOBReader(stream4) { + return new ReadableStreamBYOBReader2(stream4); + } + function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { + stream4._reader._readIntoRequests.push(readIntoRequest); + } + function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readIntoRequest = reader._readIntoRequests.shift(); + if (done) { + readIntoRequest._closeSteps(chunk); + } else { + readIntoRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadIntoRequests(stream4) { + return stream4._reader._readIntoRequests.length; + } + function ReadableStreamHasBYOBReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamBYOBReader(reader)) { + return false; + } + return true; + } + class ReadableStreamBYOBReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + if (!IsReadableByteStreamController(stream4._readableStreamController)) { + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readIntoRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read(view, rawOptions = {}) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("read")); + } + if (!ArrayBuffer.isView(view)) { + return promiseRejectedWith(new TypeError("view must be an array buffer view")); + } + if (view.byteLength === 0) { + return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); + } + if (view.buffer.byteLength === 0) { + return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); + } + if (IsDetachedBuffer(view.buffer)) { + return promiseRejectedWith(new TypeError("view's buffer has been detached")); + } + let options; + try { + options = convertByobReadOptions(rawOptions, "options"); + } catch (e3) { + return promiseRejectedWith(e3); + } + const min = options.min; + if (min === 0) { + return promiseRejectedWith(new TypeError("options.min must be greater than 0")); + } + if (!isDataView(view)) { + if (min > view.length) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); + } + } else if (min > view.byteLength) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readIntoRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamBYOBReader(this)) { + throw byobReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamBYOBReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamBYOBReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); + setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBReader", + configurable: true + }); + } + function IsReadableStreamBYOBReader(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readIntoRequests")) { + return false; + } + return x2 instanceof ReadableStreamBYOBReader2; + } + function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "errored") { + readIntoRequest._errorSteps(stream4._storedError); + } else { + ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); + } + } + function ReadableStreamBYOBReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._errorSteps(e3); + }); + } + function byobReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); + } + function ExtractHighWaterMark(strategy, defaultHWM) { + const { highWaterMark } = strategy; + if (highWaterMark === void 0) { + return defaultHWM; + } + if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { + throw new RangeError("Invalid highWaterMark"); + } + return highWaterMark; + } + function ExtractSizeAlgorithm(strategy) { + const { size } = strategy; + if (!size) { + return () => 1; + } + return size; + } + function convertQueuingStrategy(init, context2) { + assertDictionary(init, context2); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + const size = init === null || init === void 0 ? void 0 : init.size; + return { + highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), + size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context2} has member 'size' that`) + }; + } + function convertQueuingStrategySize(fn, context2) { + assertFunction(fn, context2); + return (chunk) => convertUnrestrictedDouble(fn(chunk)); + } + function convertUnderlyingSink(original, context2) { + assertDictionary(original, context2); + const abort = original === null || original === void 0 ? void 0 : original.abort; + const close = original === null || original === void 0 ? void 0 : original.close; + const start = original === null || original === void 0 ? void 0 : original.start; + const type = original === null || original === void 0 ? void 0 : original.type; + const write = original === null || original === void 0 ? void 0 : original.write; + return { + abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context2} has member 'abort' that`), + close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context2} has member 'close' that`), + start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context2} has member 'start' that`), + write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context2} has member 'write' that`), + type + }; + } + function convertUnderlyingSinkAbortCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSinkCloseCallback(fn, original, context2) { + assertFunction(fn, context2); + return () => promiseCall(fn, original, []); + } + function convertUnderlyingSinkStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertUnderlyingSinkWriteCallback(fn, original, context2) { + assertFunction(fn, context2); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function assertWritableStream(x2, context2) { + if (!IsWritableStream(x2)) { + throw new TypeError(`${context2} is not a WritableStream.`); + } + } + function isAbortSignal(value) { + if (typeof value !== "object" || value === null) { + return false; + } + try { + return typeof value.aborted === "boolean"; + } catch (_a3) { + return false; + } + } + const supportsAbortController = typeof AbortController === "function"; + function createAbortController() { + if (supportsAbortController) { + return new AbortController(); + } + return void 0; + } + class WritableStream2 { + constructor(rawUnderlyingSink = {}, rawStrategy = {}) { + if (rawUnderlyingSink === void 0) { + rawUnderlyingSink = null; + } else { + assertObject(rawUnderlyingSink, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); + InitializeWritableStream(this); + const type = underlyingSink.type; + if (type !== void 0) { + throw new RangeError("Invalid type is specified"); + } + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); + } + get locked() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("locked"); + } + return IsWritableStreamLocked(this); + } + abort(reason = void 0) { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("abort")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); + } + return WritableStreamAbort(this, reason); + } + close() { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("close")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); + } + if (WritableStreamCloseQueuedOrInFlight(this)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamClose(this); + } + getWriter() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("getWriter"); + } + return AcquireWritableStreamDefaultWriter(this); + } + } + Object.defineProperties(WritableStream2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + getWriter: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(WritableStream2.prototype.abort, "abort"); + setFunctionName(WritableStream2.prototype.close, "close"); + setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { + value: "WritableStream", + configurable: true + }); + } + function AcquireWritableStreamDefaultWriter(stream4) { + return new WritableStreamDefaultWriter2(stream4); + } + function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(WritableStream2.prototype); + InitializeWritableStream(stream4); + const controller = Object.create(WritableStreamDefaultController2.prototype); + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function InitializeWritableStream(stream4) { + stream4._state = "writable"; + stream4._storedError = void 0; + stream4._writer = void 0; + stream4._writableStreamController = void 0; + stream4._writeRequests = new SimpleQueue(); + stream4._inFlightWriteRequest = void 0; + stream4._closeRequest = void 0; + stream4._inFlightCloseRequest = void 0; + stream4._pendingAbortRequest = void 0; + stream4._backpressure = false; + } + function IsWritableStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_writableStreamController")) { + return false; + } + return x2 instanceof WritableStream2; + } + function IsWritableStreamLocked(stream4) { + if (stream4._writer === void 0) { + return false; + } + return true; + } + function WritableStreamAbort(stream4, reason) { + var _a3; + if (stream4._state === "closed" || stream4._state === "errored") { + return promiseResolvedWith(void 0); + } + stream4._writableStreamController._abortReason = reason; + (_a3 = stream4._writableStreamController._abortController) === null || _a3 === void 0 ? void 0 : _a3.abort(reason); + const state = stream4._state; + if (state === "closed" || state === "errored") { + return promiseResolvedWith(void 0); + } + if (stream4._pendingAbortRequest !== void 0) { + return stream4._pendingAbortRequest._promise; + } + let wasAlreadyErroring = false; + if (state === "erroring") { + wasAlreadyErroring = true; + reason = void 0; + } + const promise = newPromise((resolve, reject) => { + stream4._pendingAbortRequest = { + _promise: void 0, + _resolve: resolve, + _reject: reject, + _reason: reason, + _wasAlreadyErroring: wasAlreadyErroring + }; + }); + stream4._pendingAbortRequest._promise = promise; + if (!wasAlreadyErroring) { + WritableStreamStartErroring(stream4, reason); + } + return promise; + } + function WritableStreamClose(stream4) { + const state = stream4._state; + if (state === "closed" || state === "errored") { + return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`)); + } + const promise = newPromise((resolve, reject) => { + const closeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._closeRequest = closeRequest; + }); + const writer = stream4._writer; + if (writer !== void 0 && stream4._backpressure && state === "writable") { + defaultWriterReadyPromiseResolve(writer); + } + WritableStreamDefaultControllerClose(stream4._writableStreamController); + return promise; + } + function WritableStreamAddWriteRequest(stream4) { + const promise = newPromise((resolve, reject) => { + const writeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._writeRequests.push(writeRequest); + }); + return promise; + } + function WritableStreamDealWithRejection(stream4, error) { + const state = stream4._state; + if (state === "writable") { + WritableStreamStartErroring(stream4, error); + return; + } + WritableStreamFinishErroring(stream4); + } + function WritableStreamStartErroring(stream4, reason) { + const controller = stream4._writableStreamController; + stream4._state = "erroring"; + stream4._storedError = reason; + const writer = stream4._writer; + if (writer !== void 0) { + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); + } + if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { + WritableStreamFinishErroring(stream4); + } + } + function WritableStreamFinishErroring(stream4) { + stream4._state = "errored"; + stream4._writableStreamController[ErrorSteps](); + const storedError = stream4._storedError; + stream4._writeRequests.forEach((writeRequest) => { + writeRequest._reject(storedError); + }); + stream4._writeRequests = new SimpleQueue(); + if (stream4._pendingAbortRequest === void 0) { + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const abortRequest = stream4._pendingAbortRequest; + stream4._pendingAbortRequest = void 0; + if (abortRequest._wasAlreadyErroring) { + abortRequest._reject(storedError); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); + uponPromise(promise, () => { + abortRequest._resolve(); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }, (reason) => { + abortRequest._reject(reason); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }); + } + function WritableStreamFinishInFlightWrite(stream4) { + stream4._inFlightWriteRequest._resolve(void 0); + stream4._inFlightWriteRequest = void 0; + } + function WritableStreamFinishInFlightWriteWithError(stream4, error) { + stream4._inFlightWriteRequest._reject(error); + stream4._inFlightWriteRequest = void 0; + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamFinishInFlightClose(stream4) { + stream4._inFlightCloseRequest._resolve(void 0); + stream4._inFlightCloseRequest = void 0; + const state = stream4._state; + if (state === "erroring") { + stream4._storedError = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._resolve(); + stream4._pendingAbortRequest = void 0; + } + } + stream4._state = "closed"; + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseResolve(writer); + } + } + function WritableStreamFinishInFlightCloseWithError(stream4, error) { + stream4._inFlightCloseRequest._reject(error); + stream4._inFlightCloseRequest = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._reject(error); + stream4._pendingAbortRequest = void 0; + } + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamCloseQueuedOrInFlight(stream4) { + if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamHasOperationMarkedInFlight(stream4) { + if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamMarkCloseRequestInFlight(stream4) { + stream4._inFlightCloseRequest = stream4._closeRequest; + stream4._closeRequest = void 0; + } + function WritableStreamMarkFirstWriteRequestInFlight(stream4) { + stream4._inFlightWriteRequest = stream4._writeRequests.shift(); + } + function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { + if (stream4._closeRequest !== void 0) { + stream4._closeRequest._reject(stream4._storedError); + stream4._closeRequest = void 0; + } + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseReject(writer, stream4._storedError); + } + } + function WritableStreamUpdateBackpressure(stream4, backpressure) { + const writer = stream4._writer; + if (writer !== void 0 && backpressure !== stream4._backpressure) { + if (backpressure) { + defaultWriterReadyPromiseReset(writer); + } else { + defaultWriterReadyPromiseResolve(writer); + } + } + stream4._backpressure = backpressure; + } + class WritableStreamDefaultWriter2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); + assertWritableStream(stream4, "First parameter"); + if (IsWritableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + } + this._ownerWritableStream = stream4; + stream4._writer = this; + const state = stream4._state; + if (state === "writable") { + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { + defaultWriterReadyPromiseInitialize(this); + } else { + defaultWriterReadyPromiseInitializeAsResolved(this); + } + defaultWriterClosedPromiseInitialize(this); + } else if (state === "erroring") { + defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); + defaultWriterClosedPromiseInitialize(this); + } else if (state === "closed") { + defaultWriterReadyPromiseInitializeAsResolved(this); + defaultWriterClosedPromiseInitializeAsResolved(this); + } else { + const storedError = stream4._storedError; + defaultWriterReadyPromiseInitializeAsRejected(this, storedError); + defaultWriterClosedPromiseInitializeAsRejected(this, storedError); + } + } + get closed() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("closed")); + } + return this._closedPromise; + } + get desiredSize() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("desiredSize"); + } + if (this._ownerWritableStream === void 0) { + throw defaultWriterLockException("desiredSize"); + } + return WritableStreamDefaultWriterGetDesiredSize(this); + } + get ready() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("ready")); + } + return this._readyPromise; + } + abort(reason = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("abort")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("abort")); + } + return WritableStreamDefaultWriterAbort(this, reason); + } + close() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("close")); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return promiseRejectedWith(defaultWriterLockException("close")); + } + if (WritableStreamCloseQueuedOrInFlight(stream4)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamDefaultWriterClose(this); + } + releaseLock() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("releaseLock"); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return; + } + WritableStreamDefaultWriterRelease(this); + } + write(chunk = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("write")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + return WritableStreamDefaultWriterWrite(this, chunk); + } + } + Object.defineProperties(WritableStreamDefaultWriter2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + releaseLock: { enumerable: true }, + write: { enumerable: true }, + closed: { enumerable: true }, + desiredSize: { enumerable: true }, + ready: { enumerable: true } + }); + setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); + setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); + setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); + setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultWriter", + configurable: true + }); + } + function IsWritableStreamDefaultWriter(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_ownerWritableStream")) { + return false; + } + return x2 instanceof WritableStreamDefaultWriter2; + } + function WritableStreamDefaultWriterAbort(writer, reason) { + const stream4 = writer._ownerWritableStream; + return WritableStreamAbort(stream4, reason); + } + function WritableStreamDefaultWriterClose(writer) { + const stream4 = writer._ownerWritableStream; + return WritableStreamClose(stream4); + } + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { + const stream4 = writer._ownerWritableStream; + const state = stream4._state; + if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { + return promiseResolvedWith(void 0); + } + if (state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + return WritableStreamDefaultWriterClose(writer); + } + function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { + if (writer._closedPromiseState === "pending") { + defaultWriterClosedPromiseReject(writer, error); + } else { + defaultWriterClosedPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { + if (writer._readyPromiseState === "pending") { + defaultWriterReadyPromiseReject(writer, error); + } else { + defaultWriterReadyPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterGetDesiredSize(writer) { + const stream4 = writer._ownerWritableStream; + const state = stream4._state; + if (state === "errored" || state === "erroring") { + return null; + } + if (state === "closed") { + return 0; + } + return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); + } + function WritableStreamDefaultWriterRelease(writer) { + const stream4 = writer._ownerWritableStream; + const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); + WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); + stream4._writer = void 0; + writer._ownerWritableStream = void 0; + } + function WritableStreamDefaultWriterWrite(writer, chunk) { + const stream4 = writer._ownerWritableStream; + const controller = stream4._writableStreamController; + const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); + if (stream4 !== writer._ownerWritableStream) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + const state = stream4._state; + if (state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { + return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); + } + if (state === "erroring") { + return promiseRejectedWith(stream4._storedError); + } + const promise = WritableStreamAddWriteRequest(stream4); + WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); + return promise; + } + const closeSentinel = {}; + class WritableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("abortReason"); + } + return this._abortReason; + } + get signal() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("signal"); + } + if (this._abortController === void 0) { + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + } + return this._abortController.signal; + } + error(e3 = void 0) { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("error"); + } + const state = this._controlledWritableStream._state; + if (state !== "writable") { + return; + } + WritableStreamDefaultControllerError(this, e3); + } + [AbortSteps](reason) { + const result = this._abortAlgorithm(reason); + WritableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [ErrorSteps]() { + ResetQueue(this); + } + } + Object.defineProperties(WritableStreamDefaultController2.prototype, { + abortReason: { enumerable: true }, + signal: { enumerable: true }, + error: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultController", + configurable: true + }); + } + function IsWritableStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledWritableStream")) { + return false; + } + return x2 instanceof WritableStreamDefaultController2; + } + function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledWritableStream = stream4; + stream4._writableStreamController = controller; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._abortReason = void 0; + controller._abortController = createAbortController(); + controller._started = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._writeAlgorithm = writeAlgorithm; + controller._closeAlgorithm = closeAlgorithm; + controller._abortAlgorithm = abortAlgorithm; + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + const startResult = startAlgorithm(); + const startPromise = promiseResolvedWith(startResult); + uponPromise(startPromise, () => { + controller._started = true; + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (r3) => { + controller._started = true; + WritableStreamDealWithRejection(stream4, r3); + return null; + }); + } + function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { + const controller = Object.create(WritableStreamDefaultController2.prototype); + let startAlgorithm; + let writeAlgorithm; + let closeAlgorithm; + let abortAlgorithm; + if (underlyingSink.start !== void 0) { + startAlgorithm = () => underlyingSink.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSink.write !== void 0) { + writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); + } else { + writeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.close !== void 0) { + closeAlgorithm = () => underlyingSink.close(); + } else { + closeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.abort !== void 0) { + abortAlgorithm = (reason) => underlyingSink.abort(reason); + } else { + abortAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + } + function WritableStreamDefaultControllerClearAlgorithms(controller) { + controller._writeAlgorithm = void 0; + controller._closeAlgorithm = void 0; + controller._abortAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function WritableStreamDefaultControllerClose(controller) { + EnqueueValueWithSize(controller, closeSentinel, 0); + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { + try { + return controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); + return 1; + } + } + function WritableStreamDefaultControllerGetDesiredSize(controller) { + return controller._strategyHWM - controller._queueTotalSize; + } + function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); + return; + } + const stream4 = controller._controlledWritableStream; + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { + const stream4 = controller._controlledWritableStream; + if (!controller._started) { + return; + } + if (stream4._inFlightWriteRequest !== void 0) { + return; + } + const state = stream4._state; + if (state === "erroring") { + WritableStreamFinishErroring(stream4); + return; + } + if (controller._queue.length === 0) { + return; + } + const value = PeekQueueValue(controller); + if (value === closeSentinel) { + WritableStreamDefaultControllerProcessClose(controller); + } else { + WritableStreamDefaultControllerProcessWrite(controller, value); + } + } + function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { + if (controller._controlledWritableStream._state === "writable") { + WritableStreamDefaultControllerError(controller, error); + } + } + function WritableStreamDefaultControllerProcessClose(controller) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkCloseRequestInFlight(stream4); + DequeueValue(controller); + const sinkClosePromise = controller._closeAlgorithm(); + WritableStreamDefaultControllerClearAlgorithms(controller); + uponPromise(sinkClosePromise, () => { + WritableStreamFinishInFlightClose(stream4); + return null; + }, (reason) => { + WritableStreamFinishInFlightCloseWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerProcessWrite(controller, chunk) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkFirstWriteRequestInFlight(stream4); + const sinkWritePromise = controller._writeAlgorithm(chunk); + uponPromise(sinkWritePromise, () => { + WritableStreamFinishInFlightWrite(stream4); + const state = stream4._state; + DequeueValue(controller); + if (!WritableStreamCloseQueuedOrInFlight(stream4) && state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (reason) => { + if (stream4._state === "writable") { + WritableStreamDefaultControllerClearAlgorithms(controller); + } + WritableStreamFinishInFlightWriteWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerGetBackpressure(controller) { + const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); + return desiredSize <= 0; + } + function WritableStreamDefaultControllerError(controller, error) { + const stream4 = controller._controlledWritableStream; + WritableStreamDefaultControllerClearAlgorithms(controller); + WritableStreamStartErroring(stream4, error); + } + function streamBrandCheckException$2(name) { + return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); + } + function defaultControllerBrandCheckException$2(name) { + return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); + } + function defaultWriterBrandCheckException(name) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); + } + function defaultWriterLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released writer"); + } + function defaultWriterClosedPromiseInitialize(writer) { + writer._closedPromise = newPromise((resolve, reject) => { + writer._closedPromise_resolve = resolve; + writer._closedPromise_reject = reject; + writer._closedPromiseState = "pending"; + }); + } + function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseReject(writer, reason); + } + function defaultWriterClosedPromiseInitializeAsResolved(writer) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseResolve(writer); + } + function defaultWriterClosedPromiseReject(writer, reason) { + if (writer._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._closedPromise); + writer._closedPromise_reject(reason); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "rejected"; + } + function defaultWriterClosedPromiseResetToRejected(writer, reason) { + defaultWriterClosedPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterClosedPromiseResolve(writer) { + if (writer._closedPromise_resolve === void 0) { + return; + } + writer._closedPromise_resolve(void 0); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "resolved"; + } + function defaultWriterReadyPromiseInitialize(writer) { + writer._readyPromise = newPromise((resolve, reject) => { + writer._readyPromise_resolve = resolve; + writer._readyPromise_reject = reject; + }); + writer._readyPromiseState = "pending"; + } + function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseReject(writer, reason); + } + function defaultWriterReadyPromiseInitializeAsResolved(writer) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseResolve(writer); + } + function defaultWriterReadyPromiseReject(writer, reason) { + if (writer._readyPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._readyPromise); + writer._readyPromise_reject(reason); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "rejected"; + } + function defaultWriterReadyPromiseReset(writer) { + defaultWriterReadyPromiseInitialize(writer); + } + function defaultWriterReadyPromiseResetToRejected(writer, reason) { + defaultWriterReadyPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterReadyPromiseResolve(writer) { + if (writer._readyPromise_resolve === void 0) { + return; + } + writer._readyPromise_resolve(void 0); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "fulfilled"; + } + function getGlobals() { + if (typeof globalThis !== "undefined") { + return globalThis; + } else if (typeof self !== "undefined") { + return self; + } else if (typeof global !== "undefined") { + return global; + } + return void 0; + } + const globals = getGlobals(); + function isDOMExceptionConstructor(ctor) { + if (!(typeof ctor === "function" || typeof ctor === "object")) { + return false; + } + if (ctor.name !== "DOMException") { + return false; + } + try { + new ctor(); + return true; + } catch (_a3) { + return false; + } + } + function getFromGlobal() { + const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; + return isDOMExceptionConstructor(ctor) ? ctor : void 0; + } + function createPolyfill() { + const ctor = function DOMException4(message, name) { + this.message = message || ""; + this.name = name || "Error"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + }; + setFunctionName(ctor, "DOMException"); + ctor.prototype = Object.create(Error.prototype); + Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); + return ctor; + } + const DOMException3 = getFromGlobal() || createPolyfill(); + function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { + const reader = AcquireReadableStreamDefaultReader(source); + const writer = AcquireWritableStreamDefaultWriter(dest); + source._disturbed = true; + let shuttingDown = false; + let currentWrite = promiseResolvedWith(void 0); + return newPromise((resolve, reject) => { + let abortAlgorithm; + if (signal !== void 0) { + abortAlgorithm = () => { + const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); + const actions = []; + if (!preventAbort) { + actions.push(() => { + if (dest._state === "writable") { + return WritableStreamAbort(dest, error); + } + return promiseResolvedWith(void 0); + }); + } + if (!preventCancel) { + actions.push(() => { + if (source._state === "readable") { + return ReadableStreamCancel(source, error); + } + return promiseResolvedWith(void 0); + }); + } + shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); + }; + if (signal.aborted) { + abortAlgorithm(); + return; + } + signal.addEventListener("abort", abortAlgorithm); + } + function pipeLoop() { + return newPromise((resolveLoop, rejectLoop) => { + function next(done) { + if (done) { + resolveLoop(); + } else { + PerformPromiseThen(pipeStep(), next, rejectLoop); + } + } + next(false); + }); + } + function pipeStep() { + if (shuttingDown) { + return promiseResolvedWith(true); + } + return PerformPromiseThen(writer._readyPromise, () => { + return newPromise((resolveRead, rejectRead) => { + ReadableStreamDefaultReaderRead(reader, { + _chunkSteps: (chunk) => { + currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); + resolveRead(false); + }, + _closeSteps: () => resolveRead(true), + _errorSteps: rejectRead + }); + }); + }); + } + isOrBecomesErrored(source, reader._closedPromise, (storedError) => { + if (!preventAbort) { + shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesClosed(source, reader._closedPromise, () => { + if (!preventClose) { + shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); + } else { + shutdown(); + } + return null; + }); + if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { + const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); + } else { + shutdown(true, destClosed); + } + } + setPromiseIsHandledToTrue(pipeLoop()); + function waitForWritesToFinish() { + const oldCurrentWrite = currentWrite; + return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); + } + function isOrBecomesErrored(stream4, promise, action) { + if (stream4._state === "errored") { + action(stream4._storedError); + } else { + uponRejection(promise, action); + } + } + function isOrBecomesClosed(stream4, promise, action) { + if (stream4._state === "closed") { + action(); + } else { + uponFulfillment(promise, action); + } + } + function shutdownWithAction(action, originalIsError, originalError) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), doTheRest); + } else { + doTheRest(); + } + function doTheRest() { + uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); + return null; + } + } + function shutdown(isError, error) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error)); + } else { + finalize(isError, error); + } + } + function finalize(isError, error) { + WritableStreamDefaultWriterRelease(writer); + ReadableStreamReaderGenericRelease(reader); + if (signal !== void 0) { + signal.removeEventListener("abort", abortAlgorithm); + } + if (isError) { + reject(error); + } else { + resolve(void 0); + } + return null; + } + }); + } + class ReadableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("desiredSize"); + } + return ReadableStreamDefaultControllerGetDesiredSize(this); + } + close() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("close"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits close"); + } + ReadableStreamDefaultControllerClose(this); + } + enqueue(chunk = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("enqueue"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits enqueue"); + } + return ReadableStreamDefaultControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("error"); + } + ReadableStreamDefaultControllerError(this, e3); + } + [CancelSteps](reason) { + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableStream; + if (this._queue.length > 0) { + const chunk = DequeueValue(this); + if (this._closeRequested && this._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(this); + ReadableStreamClose(stream4); + } else { + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + readRequest._chunkSteps(chunk); + } else { + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + } + [ReleaseSteps]() { + } + } + Object.defineProperties(ReadableStreamDefaultController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); + setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultController", + configurable: true + }); + } + function IsReadableStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableStream")) { + return false; + } + return x2 instanceof ReadableStreamDefaultController2; + } + function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableStreamDefaultControllerError(controller, e3); + return null; + }); + } + function ReadableStreamDefaultControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableStream; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return false; + } + if (!controller._started) { + return false; + } + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableStreamDefaultControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function ReadableStreamDefaultControllerClose(controller) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + controller._closeRequested = true; + if (controller._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + } + function ReadableStreamDefaultControllerEnqueue(controller, chunk) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + ReadableStreamFulfillReadRequest(stream4, chunk, false); + } else { + let chunkSize; + try { + chunkSize = controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + ReadableStreamDefaultControllerError(controller, chunkSizeE); + throw chunkSizeE; + } + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + ReadableStreamDefaultControllerError(controller, enqueueE); + throw enqueueE; + } + } + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + function ReadableStreamDefaultControllerError(controller, e3) { + const stream4 = controller._controlledReadableStream; + if (stream4._state !== "readable") { + return; + } + ResetQueue(controller); + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableStreamDefaultControllerGetDesiredSize(controller) { + const state = controller._controlledReadableStream._state; + if (state === "errored") { + return null; + } + if (state === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableStreamDefaultControllerHasBackpressure(controller) { + if (ReadableStreamDefaultControllerShouldCallPull(controller)) { + return false; + } + return true; + } + function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { + const state = controller._controlledReadableStream._state; + if (!controller._closeRequested && state === "readable") { + return true; + } + return false; + } + function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledReadableStream = stream4; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._started = false; + controller._closeRequested = false; + controller._pullAgain = false; + controller._pulling = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(controller, r3); + return null; + }); + } + function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { + const controller = Object.create(ReadableStreamDefaultController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingSource.start !== void 0) { + startAlgorithm = () => underlyingSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSource.pull !== void 0) { + pullAlgorithm = () => underlyingSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + } + function defaultControllerBrandCheckException$1(name) { + return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); + } + function ReadableStreamTee(stream4, cloneForBranch2) { + if (IsReadableByteStreamController(stream4._readableStreamController)) { + return ReadableByteStreamTee(stream4); + } + return ReadableStreamDefaultTee(stream4); + } + function ReadableStreamDefaultTee(stream4, cloneForBranch2) { + const reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgain = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function pullAlgorithm() { + if (reading) { + readAgain = true; + return promiseResolvedWith(void 0); + } + reading = true; + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgain = false; + const chunk1 = chunk; + const chunk2 = chunk; + if (!canceled1) { + ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgain) { + pullAlgorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableStreamDefaultControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableStreamDefaultControllerClose(branch2._readableStreamController); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + } + branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); + branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); + uponRejection(reader._closedPromise, (r3) => { + ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); + ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + return [branch1, branch2]; + } + function ReadableByteStreamTee(stream4) { + let reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgainForBranch1 = false; + let readAgainForBranch2 = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function forwardReaderError(thisReader) { + uponRejection(thisReader._closedPromise, (r3) => { + if (thisReader !== reader) { + return null; + } + ReadableByteStreamControllerError(branch1._readableStreamController, r3); + ReadableByteStreamControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + } + function pullWithDefaultReader() { + if (IsReadableStreamBYOBReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamDefaultReader(stream4); + forwardReaderError(reader); + } + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const chunk1 = chunk; + let chunk2 = chunk; + if (!canceled1 && !canceled2) { + try { + chunk2 = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); + ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + } + if (!canceled1) { + ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableByteStreamControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableByteStreamControllerClose(branch2._readableStreamController); + } + if (branch1._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); + } + if (branch2._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + } + function pullWithBYOBReader(view, forBranch2) { + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamBYOBReader(stream4); + forwardReaderError(reader); + } + const byobBranch = forBranch2 ? branch2 : branch1; + const otherBranch = forBranch2 ? branch1 : branch2; + const readIntoRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!otherCanceled) { + let clonedChunk; + try { + clonedChunk = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); + ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); + } else if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: (chunk) => { + reading = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!byobCanceled) { + ReadableByteStreamControllerClose(byobBranch._readableStreamController); + } + if (!otherCanceled) { + ReadableByteStreamControllerClose(otherBranch._readableStreamController); + } + if (chunk !== void 0) { + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); + } + } + if (!byobCanceled || !otherCanceled) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); + } + function pull1Algorithm() { + if (reading) { + readAgainForBranch1 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, false); + } + return promiseResolvedWith(void 0); + } + function pull2Algorithm() { + if (reading) { + readAgainForBranch2 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, true); + } + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + return; + } + branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); + branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); + forwardReaderError(reader); + return [branch1, branch2]; + } + function isReadableStreamLike(stream4) { + return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; + } + function ReadableStreamFrom(source) { + if (isReadableStreamLike(source)) { + return ReadableStreamFromDefaultReader(source.getReader()); + } + return ReadableStreamFromIterable(source); + } + function ReadableStreamFromIterable(asyncIterable) { + let stream4; + const iteratorRecord = GetIterator(asyncIterable, "async"); + const startAlgorithm = noop2; + function pullAlgorithm() { + let nextResult; + try { + nextResult = IteratorNext(iteratorRecord); + } catch (e3) { + return promiseRejectedWith(e3); + } + const nextPromise = promiseResolvedWith(nextResult); + return transformPromiseWith(nextPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); + } + const done = IteratorComplete(iterResult); + if (done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = IteratorValue(iterResult); + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + const iterator = iteratorRecord.iterator; + let returnMethod; + try { + returnMethod = GetMethod(iterator, "return"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (returnMethod === void 0) { + return promiseResolvedWith(void 0); + } + let returnResult; + try { + returnResult = reflectCall(returnMethod, iterator, [reason]); + } catch (e3) { + return promiseRejectedWith(e3); + } + const returnPromise = promiseResolvedWith(returnResult); + return transformPromiseWith(returnPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); + } + return void 0; + }); + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function ReadableStreamFromDefaultReader(reader) { + let stream4; + const startAlgorithm = noop2; + function pullAlgorithm() { + let readPromise; + try { + readPromise = reader.read(); + } catch (e3) { + return promiseRejectedWith(e3); + } + return transformPromiseWith(readPromise, (readResult) => { + if (!typeIsObject(readResult)) { + throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); + } + if (readResult.done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = readResult.value; + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + try { + return promiseResolvedWith(reader.cancel(reason)); + } catch (e3) { + return promiseRejectedWith(e3); + } + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function convertUnderlyingDefaultOrByteSource(source, context2) { + assertDictionary(source, context2); + const original = source; + const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const pull = original === null || original === void 0 ? void 0 : original.pull; + const start = original === null || original === void 0 ? void 0 : original.start; + const type = original === null || original === void 0 ? void 0 : original.type; + return { + autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context2} has member 'autoAllocateChunkSize' that`), + cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context2} has member 'cancel' that`), + pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context2} has member 'pull' that`), + start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context2} has member 'start' that`), + type: type === void 0 ? void 0 : convertReadableStreamType(type, `${context2} has member 'type' that`) + }; + } + function convertUnderlyingSourceCancelCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSourcePullCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertUnderlyingSourceStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertReadableStreamType(type, context2) { + type = `${type}`; + if (type !== "bytes") { + throw new TypeError(`${context2} '${type}' is not a valid enumeration value for ReadableStreamType`); + } + return type; + } + function convertIteratorOptions(options, context2) { + assertDictionary(options, context2); + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + return { preventCancel: Boolean(preventCancel) }; + } + function convertPipeOptions(options, context2) { + assertDictionary(options, context2); + const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; + const signal = options === null || options === void 0 ? void 0 : options.signal; + if (signal !== void 0) { + assertAbortSignal(signal, `${context2} has member 'signal' that`); + } + return { + preventAbort: Boolean(preventAbort), + preventCancel: Boolean(preventCancel), + preventClose: Boolean(preventClose), + signal + }; + } + function assertAbortSignal(signal, context2) { + if (!isAbortSignal(signal)) { + throw new TypeError(`${context2} is not an AbortSignal.`); + } + } + function convertReadableWritablePair(pair, context2) { + assertDictionary(pair, context2); + const readable = pair === null || pair === void 0 ? void 0 : pair.readable; + assertRequiredField(readable, "readable", "ReadableWritablePair"); + assertReadableStream(readable, `${context2} has member 'readable' that`); + const writable = pair === null || pair === void 0 ? void 0 : pair.writable; + assertRequiredField(writable, "writable", "ReadableWritablePair"); + assertWritableStream(writable, `${context2} has member 'writable' that`); + return { readable, writable }; + } + class ReadableStream4 { + constructor(rawUnderlyingSource = {}, rawStrategy = {}) { + if (rawUnderlyingSource === void 0) { + rawUnderlyingSource = null; + } else { + assertObject(rawUnderlyingSource, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); + InitializeReadableStream(this); + if (underlyingSource.type === "bytes") { + if (strategy.size !== void 0) { + throw new RangeError("The strategy for a byte stream cannot have a size function"); + } + const highWaterMark = ExtractHighWaterMark(strategy, 0); + SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); + } else { + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); + } + } + get locked() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("locked"); + } + return IsReadableStreamLocked(this); + } + cancel(reason = void 0) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("cancel")); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); + } + return ReadableStreamCancel(this, reason); + } + getReader(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("getReader"); + } + const options = convertReaderOptions(rawOptions, "First parameter"); + if (options.mode === void 0) { + return AcquireReadableStreamDefaultReader(this); + } + return AcquireReadableStreamBYOBReader(this); + } + pipeThrough(rawTransform, rawOptions = {}) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("pipeThrough"); + } + assertRequiredArgument(rawTransform, 1, "pipeThrough"); + const transform = convertReadableWritablePair(rawTransform, "First parameter"); + const options = convertPipeOptions(rawOptions, "Second parameter"); + if (IsReadableStreamLocked(this)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + } + if (IsWritableStreamLocked(transform.writable)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + } + const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + setPromiseIsHandledToTrue(promise); + return transform.readable; + } + pipeTo(destination, rawOptions = {}) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); + } + if (destination === void 0) { + return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); + } + if (!IsWritableStream(destination)) { + return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); + } + let options; + try { + options = convertPipeOptions(rawOptions, "Second parameter"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); + } + if (IsWritableStreamLocked(destination)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); + } + return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + } + tee() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("tee"); + } + const branches = ReadableStreamTee(this); + return CreateArrayFromList(branches); + } + values(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("values"); + } + const options = convertIteratorOptions(rawOptions, "First parameter"); + return AcquireReadableStreamAsyncIterator(this, options.preventCancel); + } + [SymbolAsyncIterator](options) { + return this.values(options); + } + static from(asyncIterable) { + return ReadableStreamFrom(asyncIterable); + } + } + Object.defineProperties(ReadableStream4, { + from: { enumerable: true } + }); + Object.defineProperties(ReadableStream4.prototype, { + cancel: { enumerable: true }, + getReader: { enumerable: true }, + pipeThrough: { enumerable: true }, + pipeTo: { enumerable: true }, + tee: { enumerable: true }, + values: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(ReadableStream4.from, "from"); + setFunctionName(ReadableStream4.prototype.cancel, "cancel"); + setFunctionName(ReadableStream4.prototype.getReader, "getReader"); + setFunctionName(ReadableStream4.prototype.pipeThrough, "pipeThrough"); + setFunctionName(ReadableStream4.prototype.pipeTo, "pipeTo"); + setFunctionName(ReadableStream4.prototype.tee, "tee"); + setFunctionName(ReadableStream4.prototype.values, "values"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStream4.prototype, Symbol.toStringTag, { + value: "ReadableStream", + configurable: true + }); + } + Object.defineProperty(ReadableStream4.prototype, SymbolAsyncIterator, { + value: ReadableStream4.prototype.values, + writable: true, + configurable: true + }); + function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(ReadableStream4.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableStreamDefaultController2.prototype); + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { + const stream4 = Object.create(ReadableStream4.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableByteStreamController2.prototype); + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); + return stream4; + } + function InitializeReadableStream(stream4) { + stream4._state = "readable"; + stream4._reader = void 0; + stream4._storedError = void 0; + stream4._disturbed = false; + } + function IsReadableStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readableStreamController")) { + return false; + } + return x2 instanceof ReadableStream4; + } + function IsReadableStreamLocked(stream4) { + if (stream4._reader === void 0) { + return false; + } + return true; + } + function ReadableStreamCancel(stream4, reason) { + stream4._disturbed = true; + if (stream4._state === "closed") { + return promiseResolvedWith(void 0); + } + if (stream4._state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + ReadableStreamClose(stream4); + const reader = stream4._reader; + if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._closeSteps(void 0); + }); + } + const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); + return transformPromiseWith(sourceCancelPromise, noop2); + } + function ReadableStreamClose(stream4) { + stream4._state = "closed"; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseResolve(reader); + if (IsReadableStreamDefaultReader(reader)) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._closeSteps(); + }); + } + } + function ReadableStreamError(stream4, e3) { + stream4._state = "errored"; + stream4._storedError = e3; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseReject(reader, e3); + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } else { + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + } + function streamBrandCheckException$1(name) { + return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); + } + function convertQueuingStrategyInit(init, context2) { + assertDictionary(init, context2); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); + return { + highWaterMark: convertUnrestrictedDouble(highWaterMark) + }; + } + const byteLengthSizeFunction = (chunk) => { + return chunk.byteLength; + }; + setFunctionName(byteLengthSizeFunction, "size"); + class ByteLengthQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("highWaterMark"); + } + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("size"); + } + return byteLengthSizeFunction; + } + } + Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "ByteLengthQueuingStrategy", + configurable: true + }); + } + function byteLengthBrandCheckException(name) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); + } + function IsByteLengthQueuingStrategy(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_byteLengthQueuingStrategyHighWaterMark")) { + return false; + } + return x2 instanceof ByteLengthQueuingStrategy2; + } + const countSizeFunction = () => { + return 1; + }; + setFunctionName(countSizeFunction, "size"); + class CountQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "CountQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._countQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("highWaterMark"); + } + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("size"); + } + return countSizeFunction; + } + } + Object.defineProperties(CountQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "CountQueuingStrategy", + configurable: true + }); + } + function countBrandCheckException(name) { + return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); + } + function IsCountQueuingStrategy(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_countQueuingStrategyHighWaterMark")) { + return false; + } + return x2 instanceof CountQueuingStrategy2; + } + function convertTransformer(original, context2) { + assertDictionary(original, context2); + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const flush = original === null || original === void 0 ? void 0 : original.flush; + const readableType = original === null || original === void 0 ? void 0 : original.readableType; + const start = original === null || original === void 0 ? void 0 : original.start; + const transform = original === null || original === void 0 ? void 0 : original.transform; + const writableType = original === null || original === void 0 ? void 0 : original.writableType; + return { + cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context2} has member 'cancel' that`), + flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context2} has member 'flush' that`), + readableType, + start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context2} has member 'start' that`), + transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context2} has member 'transform' that`), + writableType + }; + } + function convertTransformerFlushCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertTransformerStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertTransformerTransformCallback(fn, original, context2) { + assertFunction(fn, context2); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function convertTransformerCancelCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + class TransformStream2 { + constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { + if (rawTransformer === void 0) { + rawTransformer = null; + } + const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); + const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); + const transformer = convertTransformer(rawTransformer, "First parameter"); + if (transformer.readableType !== void 0) { + throw new RangeError("Invalid readableType specified"); + } + if (transformer.writableType !== void 0) { + throw new RangeError("Invalid writableType specified"); + } + const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); + const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); + const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); + const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); + let startPromise_resolve; + const startPromise = newPromise((resolve) => { + startPromise_resolve = resolve; + }); + InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); + if (transformer.start !== void 0) { + startPromise_resolve(transformer.start(this._transformStreamController)); + } else { + startPromise_resolve(void 0); + } + } + get readable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("readable"); + } + return this._readable; + } + get writable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("writable"); + } + return this._writable; + } + } + Object.defineProperties(TransformStream2.prototype, { + readable: { enumerable: true }, + writable: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStream2.prototype, Symbol.toStringTag, { + value: "TransformStream", + configurable: true + }); + } + function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { + function startAlgorithm() { + return startPromise; + } + function writeAlgorithm(chunk) { + return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); + } + function abortAlgorithm(reason) { + return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); + } + function closeAlgorithm() { + return TransformStreamDefaultSinkCloseAlgorithm(stream4); + } + stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); + function pullAlgorithm() { + return TransformStreamDefaultSourcePullAlgorithm(stream4); + } + function cancelAlgorithm(reason) { + return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); + } + stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + stream4._backpressure = void 0; + stream4._backpressureChangePromise = void 0; + stream4._backpressureChangePromise_resolve = void 0; + TransformStreamSetBackpressure(stream4, true); + stream4._transformStreamController = void 0; + } + function IsTransformStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_transformStreamController")) { + return false; + } + return x2 instanceof TransformStream2; + } + function TransformStreamError(stream4, e3) { + ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + } + function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { + TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); + WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); + TransformStreamUnblockWrite(stream4); + } + function TransformStreamUnblockWrite(stream4) { + if (stream4._backpressure) { + TransformStreamSetBackpressure(stream4, false); + } + } + function TransformStreamSetBackpressure(stream4, backpressure) { + if (stream4._backpressureChangePromise !== void 0) { + stream4._backpressureChangePromise_resolve(); + } + stream4._backpressureChangePromise = newPromise((resolve) => { + stream4._backpressureChangePromise_resolve = resolve; + }); + stream4._backpressure = backpressure; + } + class TransformStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("desiredSize"); + } + const readableController = this._controlledTransformStream._readable._readableStreamController; + return ReadableStreamDefaultControllerGetDesiredSize(readableController); + } + enqueue(chunk = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("enqueue"); + } + TransformStreamDefaultControllerEnqueue(this, chunk); + } + error(reason = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("error"); + } + TransformStreamDefaultControllerError(this, reason); + } + terminate() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("terminate"); + } + TransformStreamDefaultControllerTerminate(this); + } + } + Object.defineProperties(TransformStreamDefaultController2.prototype, { + enqueue: { enumerable: true }, + error: { enumerable: true }, + terminate: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); + setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "TransformStreamDefaultController", + configurable: true + }); + } + function IsTransformStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledTransformStream")) { + return false; + } + return x2 instanceof TransformStreamDefaultController2; + } + function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { + controller._controlledTransformStream = stream4; + stream4._transformStreamController = controller; + controller._transformAlgorithm = transformAlgorithm; + controller._flushAlgorithm = flushAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._finishPromise = void 0; + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { + const controller = Object.create(TransformStreamDefaultController2.prototype); + let transformAlgorithm; + let flushAlgorithm; + let cancelAlgorithm; + if (transformer.transform !== void 0) { + transformAlgorithm = (chunk) => transformer.transform(chunk, controller); + } else { + transformAlgorithm = (chunk) => { + try { + TransformStreamDefaultControllerEnqueue(controller, chunk); + return promiseResolvedWith(void 0); + } catch (transformResultE) { + return promiseRejectedWith(transformResultE); + } + }; + } + if (transformer.flush !== void 0) { + flushAlgorithm = () => transformer.flush(controller); + } else { + flushAlgorithm = () => promiseResolvedWith(void 0); + } + if (transformer.cancel !== void 0) { + cancelAlgorithm = (reason) => transformer.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); + } + function TransformStreamDefaultControllerClearAlgorithms(controller) { + controller._transformAlgorithm = void 0; + controller._flushAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function TransformStreamDefaultControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { + throw new TypeError("Readable side is not in a state that permits enqueue"); + } + try { + ReadableStreamDefaultControllerEnqueue(readableController, chunk); + } catch (e3) { + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + throw stream4._readable._storedError; + } + const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); + if (backpressure !== stream4._backpressure) { + TransformStreamSetBackpressure(stream4, true); + } + } + function TransformStreamDefaultControllerError(controller, e3) { + TransformStreamError(controller._controlledTransformStream, e3); + } + function TransformStreamDefaultControllerPerformTransform(controller, chunk) { + const transformPromise = controller._transformAlgorithm(chunk); + return transformPromiseWith(transformPromise, void 0, (r3) => { + TransformStreamError(controller._controlledTransformStream, r3); + throw r3; + }); + } + function TransformStreamDefaultControllerTerminate(controller) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + ReadableStreamDefaultControllerClose(readableController); + const error = new TypeError("TransformStream terminated"); + TransformStreamErrorWritableAndUnblockWrite(stream4, error); + } + function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { + const controller = stream4._transformStreamController; + if (stream4._backpressure) { + const backpressureChangePromise = stream4._backpressureChangePromise; + return transformPromiseWith(backpressureChangePromise, () => { + const writable = stream4._writable; + const state = writable._state; + if (state === "erroring") { + throw writable._storedError; + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + }); + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + } + function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerError(readable._readableStreamController, reason); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSinkCloseAlgorithm(stream4) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const flushPromise = controller._flushAlgorithm(); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(flushPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerClose(readable._readableStreamController); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSourcePullAlgorithm(stream4) { + TransformStreamSetBackpressure(stream4, false); + return stream4._backpressureChangePromise; + } + function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const writable = stream4._writable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (writable._state === "errored") { + defaultControllerFinishPromiseReject(controller, writable._storedError); + } else { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function defaultControllerBrandCheckException(name) { + return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); + } + function defaultControllerFinishPromiseResolve(controller) { + if (controller._finishPromise_resolve === void 0) { + return; + } + controller._finishPromise_resolve(); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function defaultControllerFinishPromiseReject(controller, reason) { + if (controller._finishPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(controller._finishPromise); + controller._finishPromise_reject(reason); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function streamBrandCheckException(name) { + return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); + } + exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; + exports2.CountQueuingStrategy = CountQueuingStrategy2; + exports2.ReadableByteStreamController = ReadableByteStreamController2; + exports2.ReadableStream = ReadableStream4; + exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; + exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; + exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; + exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; + exports2.TransformStream = TransformStream2; + exports2.TransformStreamDefaultController = TransformStreamDefaultController2; + exports2.WritableStream = WritableStream2; + exports2.WritableStreamDefaultController = WritableStreamDefaultController2; + exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; + }); + } +}); + +// node_modules/node-domexception/index.js +var require_node_domexception = __commonJS({ + "node_modules/node-domexception/index.js"(exports, module2) { + if (!globalThis.DOMException) { + try { + const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); + port.postMessage(ab, [ab, ab]); + } catch (err) { + err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); + } + } + module2.exports = globalThis.DOMException; + } +}); + +// node_modules/formdata-node/lib/esm/isPlainObject.js +function isPlainObject3(value) { + if (getType2(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var getType2, isPlainObject_default2; +var init_isPlainObject = __esm({ + "node_modules/formdata-node/lib/esm/isPlainObject.js"() { + getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); + isPlainObject_default2 = isPlainObject3; + } +}); + +// node_modules/formdata-node/lib/esm/fileFromPath.js +var fileFromPath_exports = {}; +__export(fileFromPath_exports, { + fileFromPath: () => fileFromPath2, + fileFromPathSync: () => fileFromPathSync, + isFile: () => isFile2 +}); +function createFileFromPath(path2, { mtimeMs, size }, filenameOrOptions, options = {}) { + let filename; + if (isPlainObject_default2(filenameOrOptions)) { + [options, filename] = [filenameOrOptions, void 0]; + } else { + filename = filenameOrOptions; + } + const file = new FileFromPath({ path: path2, size, lastModified: mtimeMs }); + if (!filename) { + filename = file.name; + } + return new File2([file], filename, { + ...options, + lastModified: file.lastModified + }); +} +function fileFromPathSync(path2, filenameOrOptions, options = {}) { + const stats = (0, import_fs2.statSync)(path2); + return createFileFromPath(path2, stats, filenameOrOptions, options); +} +async function fileFromPath2(path2, filenameOrOptions, options) { + const stats = await import_fs2.promises.stat(path2); + return createFileFromPath(path2, stats, filenameOrOptions, options); +} +var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet4, __classPrivateFieldGet5, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; +var init_fileFromPath = __esm({ + "node_modules/formdata-node/lib/esm/fileFromPath.js"() { + import_fs2 = require("fs"); + import_path3 = require("path"); + import_node_domexception = __toESM(require_node_domexception(), 1); + init_File(); + init_isPlainObject(); + init_isFile(); + __classPrivateFieldSet4 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; + }; + __classPrivateFieldGet5 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); + }; + MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; + FileFromPath = class { + constructor(input) { + _FileFromPath_path.set(this, void 0); + _FileFromPath_start.set(this, void 0); + __classPrivateFieldSet4(this, _FileFromPath_path, input.path, "f"); + __classPrivateFieldSet4(this, _FileFromPath_start, input.start || 0, "f"); + this.name = (0, import_path3.basename)(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); + this.size = input.size; + this.lastModified = input.lastModified; + } + slice(start, end) { + return new FileFromPath({ + path: __classPrivateFieldGet5(this, _FileFromPath_path, "f"), + lastModified: this.lastModified, + size: end - start, + start + }); + } + async *stream() { + const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); + if (mtimeMs > this.lastModified) { + throw new import_node_domexception.default(MESSAGE, "NotReadableError"); + } + if (this.size) { + yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet5(this, _FileFromPath_path, "f"), { + start: __classPrivateFieldGet5(this, _FileFromPath_start, "f"), + end: __classPrivateFieldGet5(this, _FileFromPath_start, "f") + this.size - 1 + }); + } + } + get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { + return "File"; + } + }; + } +}); + // src/github-action.ts -var import_fs2 = require("fs"); -var import_core3 = __toESM(require_core(), 1); +var import_fs3 = require("fs"); +var import_core5 = __toESM(require_core(), 1); var import_exec = __toESM(require_exec(), 1); var import_github = __toESM(require_github(), 1); @@ -23161,105 +47281,110 @@ var import_github = __toESM(require_github(), 1); var import_sisteransi = __toESM(require_src(), 1); var import_node_process = require("node:process"); var f = __toESM(require("node:readline"), 1); -var m = {}; -var G = { get exports() { - return m; -}, set exports(t) { - m = t; -} }; -(function(t) { - var u2 = {}; - t.exports = u2, u2.eastAsianWidth = function(e2) { - var s = e2.charCodeAt(0), C2 = e2.length == 2 ? e2.charCodeAt(1) : 0, D3 = s; - return 55296 <= s && s <= 56319 && 56320 <= C2 && C2 <= 57343 && (s &= 1023, C2 &= 1023, D3 = s << 10 | C2, D3 += 65536), D3 == 12288 || 65281 <= D3 && D3 <= 65376 || 65504 <= D3 && D3 <= 65510 ? "F" : D3 == 8361 || 65377 <= D3 && D3 <= 65470 || 65474 <= D3 && D3 <= 65479 || 65482 <= D3 && D3 <= 65487 || 65490 <= D3 && D3 <= 65495 || 65498 <= D3 && D3 <= 65500 || 65512 <= D3 && D3 <= 65518 ? "H" : 4352 <= D3 && D3 <= 4447 || 4515 <= D3 && D3 <= 4519 || 4602 <= D3 && D3 <= 4607 || 9001 <= D3 && D3 <= 9002 || 11904 <= D3 && D3 <= 11929 || 11931 <= D3 && D3 <= 12019 || 12032 <= D3 && D3 <= 12245 || 12272 <= D3 && D3 <= 12283 || 12289 <= D3 && D3 <= 12350 || 12353 <= D3 && D3 <= 12438 || 12441 <= D3 && D3 <= 12543 || 12549 <= D3 && D3 <= 12589 || 12593 <= D3 && D3 <= 12686 || 12688 <= D3 && D3 <= 12730 || 12736 <= D3 && D3 <= 12771 || 12784 <= D3 && D3 <= 12830 || 12832 <= D3 && D3 <= 12871 || 12880 <= D3 && D3 <= 13054 || 13056 <= D3 && D3 <= 19903 || 19968 <= D3 && D3 <= 42124 || 42128 <= D3 && D3 <= 42182 || 43360 <= D3 && D3 <= 43388 || 44032 <= D3 && D3 <= 55203 || 55216 <= D3 && D3 <= 55238 || 55243 <= D3 && D3 <= 55291 || 63744 <= D3 && D3 <= 64255 || 65040 <= D3 && D3 <= 65049 || 65072 <= D3 && D3 <= 65106 || 65108 <= D3 && D3 <= 65126 || 65128 <= D3 && D3 <= 65131 || 110592 <= D3 && D3 <= 110593 || 127488 <= D3 && D3 <= 127490 || 127504 <= D3 && D3 <= 127546 || 127552 <= D3 && D3 <= 127560 || 127568 <= D3 && D3 <= 127569 || 131072 <= D3 && D3 <= 194367 || 177984 <= D3 && D3 <= 196605 || 196608 <= D3 && D3 <= 262141 ? "W" : 32 <= D3 && D3 <= 126 || 162 <= D3 && D3 <= 163 || 165 <= D3 && D3 <= 166 || D3 == 172 || D3 == 175 || 10214 <= D3 && D3 <= 10221 || 10629 <= D3 && D3 <= 10630 ? "Na" : D3 == 161 || D3 == 164 || 167 <= D3 && D3 <= 168 || D3 == 170 || 173 <= D3 && D3 <= 174 || 176 <= D3 && D3 <= 180 || 182 <= D3 && D3 <= 186 || 188 <= D3 && D3 <= 191 || D3 == 198 || D3 == 208 || 215 <= D3 && D3 <= 216 || 222 <= D3 && D3 <= 225 || D3 == 230 || 232 <= D3 && D3 <= 234 || 236 <= D3 && D3 <= 237 || D3 == 240 || 242 <= D3 && D3 <= 243 || 247 <= D3 && D3 <= 250 || D3 == 252 || D3 == 254 || D3 == 257 || D3 == 273 || D3 == 275 || D3 == 283 || 294 <= D3 && D3 <= 295 || D3 == 299 || 305 <= D3 && D3 <= 307 || D3 == 312 || 319 <= D3 && D3 <= 322 || D3 == 324 || 328 <= D3 && D3 <= 331 || D3 == 333 || 338 <= D3 && D3 <= 339 || 358 <= D3 && D3 <= 359 || D3 == 363 || D3 == 462 || D3 == 464 || D3 == 466 || D3 == 468 || D3 == 470 || D3 == 472 || D3 == 474 || D3 == 476 || D3 == 593 || D3 == 609 || D3 == 708 || D3 == 711 || 713 <= D3 && D3 <= 715 || D3 == 717 || D3 == 720 || 728 <= D3 && D3 <= 731 || D3 == 733 || D3 == 735 || 768 <= D3 && D3 <= 879 || 913 <= D3 && D3 <= 929 || 931 <= D3 && D3 <= 937 || 945 <= D3 && D3 <= 961 || 963 <= D3 && D3 <= 969 || D3 == 1025 || 1040 <= D3 && D3 <= 1103 || D3 == 1105 || D3 == 8208 || 8211 <= D3 && D3 <= 8214 || 8216 <= D3 && D3 <= 8217 || 8220 <= D3 && D3 <= 8221 || 8224 <= D3 && D3 <= 8226 || 8228 <= D3 && D3 <= 8231 || D3 == 8240 || 8242 <= D3 && D3 <= 8243 || D3 == 8245 || D3 == 8251 || D3 == 8254 || D3 == 8308 || D3 == 8319 || 8321 <= D3 && D3 <= 8324 || D3 == 8364 || D3 == 8451 || D3 == 8453 || D3 == 8457 || D3 == 8467 || D3 == 8470 || 8481 <= D3 && D3 <= 8482 || D3 == 8486 || D3 == 8491 || 8531 <= D3 && D3 <= 8532 || 8539 <= D3 && D3 <= 8542 || 8544 <= D3 && D3 <= 8555 || 8560 <= D3 && D3 <= 8569 || D3 == 8585 || 8592 <= D3 && D3 <= 8601 || 8632 <= D3 && D3 <= 8633 || D3 == 8658 || D3 == 8660 || D3 == 8679 || D3 == 8704 || 8706 <= D3 && D3 <= 8707 || 8711 <= D3 && D3 <= 8712 || D3 == 8715 || D3 == 8719 || D3 == 8721 || D3 == 8725 || D3 == 8730 || 8733 <= D3 && D3 <= 8736 || D3 == 8739 || D3 == 8741 || 8743 <= D3 && D3 <= 8748 || D3 == 8750 || 8756 <= D3 && D3 <= 8759 || 8764 <= D3 && D3 <= 8765 || D3 == 8776 || D3 == 8780 || D3 == 8786 || 8800 <= D3 && D3 <= 8801 || 8804 <= D3 && D3 <= 8807 || 8810 <= D3 && D3 <= 8811 || 8814 <= D3 && D3 <= 8815 || 8834 <= D3 && D3 <= 8835 || 8838 <= D3 && D3 <= 8839 || D3 == 8853 || D3 == 8857 || D3 == 8869 || D3 == 8895 || D3 == 8978 || 9312 <= D3 && D3 <= 9449 || 9451 <= D3 && D3 <= 9547 || 9552 <= D3 && D3 <= 9587 || 9600 <= D3 && D3 <= 9615 || 9618 <= D3 && D3 <= 9621 || 9632 <= D3 && D3 <= 9633 || 9635 <= D3 && D3 <= 9641 || 9650 <= D3 && D3 <= 9651 || 9654 <= D3 && D3 <= 9655 || 9660 <= D3 && D3 <= 9661 || 9664 <= D3 && D3 <= 9665 || 9670 <= D3 && D3 <= 9672 || D3 == 9675 || 9678 <= D3 && D3 <= 9681 || 9698 <= D3 && D3 <= 9701 || D3 == 9711 || 9733 <= D3 && D3 <= 9734 || D3 == 9737 || 9742 <= D3 && D3 <= 9743 || 9748 <= D3 && D3 <= 9749 || D3 == 9756 || D3 == 9758 || D3 == 9792 || D3 == 9794 || 9824 <= D3 && D3 <= 9825 || 9827 <= D3 && D3 <= 9829 || 9831 <= D3 && D3 <= 9834 || 9836 <= D3 && D3 <= 9837 || D3 == 9839 || 9886 <= D3 && D3 <= 9887 || 9918 <= D3 && D3 <= 9919 || 9924 <= D3 && D3 <= 9933 || 9935 <= D3 && D3 <= 9953 || D3 == 9955 || 9960 <= D3 && D3 <= 9983 || D3 == 10045 || D3 == 10071 || 10102 <= D3 && D3 <= 10111 || 11093 <= D3 && D3 <= 11097 || 12872 <= D3 && D3 <= 12879 || 57344 <= D3 && D3 <= 63743 || 65024 <= D3 && D3 <= 65039 || D3 == 65533 || 127232 <= D3 && D3 <= 127242 || 127248 <= D3 && D3 <= 127277 || 127280 <= D3 && D3 <= 127337 || 127344 <= D3 && D3 <= 127386 || 917760 <= D3 && D3 <= 917999 || 983040 <= D3 && D3 <= 1048573 || 1048576 <= D3 && D3 <= 1114109 ? "A" : "N"; - }, u2.characterLength = function(e2) { - var s = this.eastAsianWidth(e2); - return s == "F" || s == "W" || s == "A" ? 2 : 1; +function j(t2) { + return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; +} +var M = { exports: {} }; +(function(t2) { + var u3 = {}; + t2.exports = u3, u3.eastAsianWidth = function(e3) { + var s2 = e3.charCodeAt(0), C3 = e3.length == 2 ? e3.charCodeAt(1) : 0, D4 = s2; + return 55296 <= s2 && s2 <= 56319 && 56320 <= C3 && C3 <= 57343 && (s2 &= 1023, C3 &= 1023, D4 = s2 << 10 | C3, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; + }, u3.characterLength = function(e3) { + var s2 = this.eastAsianWidth(e3); + return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; }; - function F2(e2) { - return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F3(e3) { + return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u2.length = function(e2) { - for (var s = F2(e2), C2 = 0, D3 = 0; D3 < s.length; D3++) - C2 = C2 + this.characterLength(s[D3]); - return C2; - }, u2.slice = function(e2, s, C2) { - textLen = u2.length(e2), s = s || 0, C2 = C2 || 1, s < 0 && (s = textLen + s), C2 < 0 && (C2 = textLen + C2); - for (var D3 = "", i2 = 0, o2 = F2(e2), E2 = 0; E2 < o2.length; E2++) { - var a2 = o2[E2], n = u2.length(a2); - if (i2 >= s - (n == 2 ? 1 : 0)) - if (i2 + n <= C2) - D3 += a2; + u3.length = function(e3) { + for (var s2 = F3(e3), C3 = 0, D4 = 0; D4 < s2.length; D4++) + C3 = C3 + this.characterLength(s2[D4]); + return C3; + }, u3.slice = function(e3, s2, C3) { + textLen = u3.length(e3), s2 = s2 || 0, C3 = C3 || 1, s2 < 0 && (s2 = textLen + s2), C3 < 0 && (C3 = textLen + C3); + for (var D4 = "", i3 = 0, n2 = F3(e3), E3 = 0; E3 < n2.length; E3++) { + var h3 = n2[E3], o3 = u3.length(h3); + if (i3 >= s2 - (o3 == 2 ? 1 : 0)) + if (i3 + o3 <= C3) + D4 += h3; else break; - i2 += n; + i3 += o3; } - return D3; + return D4; }; -})(G); -var v = 10; -var L = (t = 0) => (u2) => `\x1B[${u2 + t}m`; -var M = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; -var T = (t = 0) => (u2, F2, e2) => `\x1B[${38 + t};2;${u2};${F2};${e2}m`; +})(M); +var J = M.exports; +var Q = j(J); +var X = function() { + return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; +}; +var DD = j(X); +var m = 10; +var T = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; +var P = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; +var W = (t2 = 0) => (u3, F3, e3) => `\x1B[${38 + t2};2;${u3};${F3};${e3}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var Z = Object.keys(r.color); -var H = Object.keys(r.bgColor); -[...Z, ...H]; -function U() { - const t = /* @__PURE__ */ new Map(); - for (const [u2, F2] of Object.entries(r)) { - for (const [e2, s] of Object.entries(F2)) - r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F2[e2] = r[e2], t.set(s[0], s[1]); - Object.defineProperty(r, u2, { value: F2, enumerable: false }); +var uD = Object.keys(r.color); +var FD = Object.keys(r.bgColor); +[...uD, ...FD]; +function tD() { + const t2 = /* @__PURE__ */ new Map(); + for (const [u3, F3] of Object.entries(r)) { + for (const [e3, s2] of Object.entries(F3)) + r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F3[e3] = r[e3], t2.set(s2[0], s2[1]); + Object.defineProperty(r, u3, { value: F3, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L(), r.color.ansi256 = M(), r.color.ansi16m = T(), r.bgColor.ansi = L(v), r.bgColor.ansi256 = M(v), r.bgColor.ansi16m = T(v), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F2, e2) => u2 === F2 && F2 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F2 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - const F2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); - if (!F2) + return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T(), r.color.ansi256 = P(), r.color.ansi16m = W(), r.bgColor.ansi = T(m), r.bgColor.ansi256 = P(m), r.bgColor.ansi16m = W(m), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F3, e3) => u3 === F3 && F3 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F3 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + const F3 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); + if (!F3) return [0, 0, 0]; - let [e2] = F2; - e2.length === 3 && (e2 = [...e2].map((C2) => C2 + C2).join("")); - const s = Number.parseInt(e2, 16); - return [s >> 16 & 255, s >> 8 & 255, s & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let F2, e2, s; - if (u2 >= 232) - F2 = ((u2 - 232) * 10 + 8) / 255, e2 = F2, s = F2; + let [e3] = F3; + e3.length === 3 && (e3 = [...e3].map((C3) => C3 + C3).join("")); + const s2 = Number.parseInt(e3, 16); + return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let F3, e3, s2; + if (u3 >= 232) + F3 = ((u3 - 232) * 10 + 8) / 255, e3 = F3, s2 = F3; else { - u2 -= 16; - const i2 = u2 % 36; - F2 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; + u3 -= 16; + const i3 = u3 % 36; + F3 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; } - const C2 = Math.max(F2, e2, s) * 2; - if (C2 === 0) + const C3 = Math.max(F3, e3, s2) * 2; + if (C3 === 0) return 30; - let D3 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F2)); - return C2 === 2 && (D3 += 60), D3; - }, enumerable: false }, rgbToAnsi: { value: (u2, F2, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F2, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; + let D4 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F3)); + return C3 === 2 && (D4 += 60), D4; + }, enumerable: false }, rgbToAnsi: { value: (u3, F3, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F3, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; } -var q = U(); -var Q = "]"; -var w = `${Q}8;;`; -var R = Symbol("clack:cancel"); -function aD({ input: t = import_node_process.stdin, output: u2 = import_node_process.stdout, overwrite: F2 = true, hideCursor: e2 = true } = {}) { - const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); - const C2 = (D3, { name: i2 }) => { - if (String(D3) === "" && process.exit(0), !F2) +var eD = tD(); +var CD = "]"; +var w = `${CD}8;;`; +var V = Symbol("clack:cancel"); +var PD = globalThis.process.platform.startsWith("win"); +function WD({ input: t2 = import_node_process.stdin, output: u3 = import_node_process.stdout, overwrite: F3 = true, hideCursor: e3 = true } = {}) { + const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); + const C3 = (D4, { name: i3 }) => { + if (String(D4) === "" && process.exit(0), !F3) return; - let E2 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; - f.moveCursor(u2, E2, a2, () => { - f.clearLine(u2, 1, () => { - t.once("keypress", C2); + let n2 = i3 === "return" ? 0 : -1, E3 = i3 === "return" ? -1 : 0; + f.moveCursor(u3, n2, E3, () => { + f.clearLine(u3, 1, () => { + t2.once("keypress", C3); }); }); }; - return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C2), () => { - t.off("keypress", C2), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); + return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C3), () => { + t2.off("keypress", C3), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); }; } @@ -23271,74 +47396,74 @@ function N() { return import_node_process2.default.platform !== "win32" ? import_node_process2.default.env.TERM !== "linux" : Boolean(import_node_process2.default.env.CI) || Boolean(import_node_process2.default.env.WT_SESSION) || Boolean(import_node_process2.default.env.TERMINUS_SUBLIME) || import_node_process2.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process2.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process2.default.env.TERM_PROGRAM === "vscode" || import_node_process2.default.env.TERM === "xterm-256color" || import_node_process2.default.env.TERM === "alacritty" || import_node_process2.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } var p = N(); -var u = (r2, n) => p ? r2 : n; -var W = u("\u25C6", "*"); +var u = (r3, n2) => p ? r3 : n2; +var W2 = u("\u25C6", "*"); var D = u("\u25A0", "x"); var F = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); -var L2 = u("\u250C", "T"); +var L = u("\u250C", "T"); var a = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w2 = u("\u25CF", ">"); var S = u("\u25CB", " "); var _ = u("\u25FB", "[\u2022]"); -var y2 = u("\u25FC", "[+]"); +var y = u("\u25FC", "[+]"); var A = u("\u25FB", "[ ]"); -var q2 = u("\u25AA", "\u2022"); -var R2 = u("\u2500", "-"); -var G2 = u("\u256E", "+"); -var H2 = u("\u251C", "+"); +var q = u("\u25AA", "\u2022"); +var R = u("\u2500", "-"); +var G = u("\u256E", "+"); +var H = u("\u251C", "+"); var K = u("\u256F", "+"); -var U2 = u("\u25CF", "\u2022"); -var Z2 = u("\u25C6", "*"); +var U = u("\u25CF", "\u2022"); +var Z = u("\u25C6", "*"); var z = u("\u25B2", "!"); -var X = u("\u25A0", "x"); -var b = (r2) => r2.replace(ue(), ""); -var ie = (r2 = "", n = "") => { - const s = ` -${r2} +var X2 = u("\u25A0", "x"); +var b = (r3) => r3.replace(ue(), ""); +var ie = (r3 = "", n2 = "") => { + const s2 = ` +${r3} `.split(` -`), t = Math.max(s.reduce((c, l) => (l = b(l), l.length > c ? l.length : c), 0), b(n).length) + 2, i2 = s.map((c) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c)}${" ".repeat(t - b(c).length)}${import_picocolors.default.gray(a)}`).join(` +`), t2 = Math.max(s2.reduce((c2, l3) => (l3 = b(l3), l3.length > c2 ? l3.length : c2), 0), b(n2).length) + 2, i3 = s2.map((c2) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c2)}${" ".repeat(t2 - b(c2).length)}${import_picocolors.default.gray(a)}`).join(` `); process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R2.repeat(Math.max(t - n.length - 1, 1)) + G2)} -${i2} -${import_picocolors.default.gray(H2 + R2.repeat(t + 2) + K)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R.repeat(Math.max(t2 - n2.length - 1, 1)) + G)} +${i3} +${import_picocolors.default.gray(H + R.repeat(t2 + 2) + K)} `); }; -var ae = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L2)} ${r2} +var ae = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L)} ${r3} `); }; -var ce = (r2 = "") => { +var ce = (r3 = "") => { process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.gray(o)} ${r2} +${import_picocolors.default.gray(o)} ${r3} `); }; var C = p ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r2, n; - const s = p ? 80 : 120; - return { start(t = "") { - t = t.replace(/\.?\.?\.$/, ""), r2 = aD(), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.magenta("\u25CB")} ${t} + let r3, n2; + const s2 = p ? 80 : 120; + return { start(t2 = "") { + t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.magenta("\u25CB")} ${t2} `); - let i2 = 0, c = 0; - n = setInterval(() => { - let l = C[i2]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c) >= 1 ? ".".repeat(Math.floor(c)).slice(0, 3) : ""} -`), i2 = i2 === C.length - 1 ? 0 : i2 + 1, c = c === C.length ? 0 : c + 0.125; - }, s); - }, stop(t = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${t} -`), r2(); + let i3 = 0, c2 = 0; + n2 = setInterval(() => { + let l3 = C[i3]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c2) >= 1 ? ".".repeat(Math.floor(c2)).slice(0, 3) : ""} +`), i3 = i3 === C.length - 1 ? 0 : i3 + 1, c2 = c2 === C.length ? 0 : c2 + 0.125; + }, s2); + }, stop(t2 = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.green(f2)} ${t2} +`), r3(); } }; }; function ue() { - const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r2, "g"); + const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r3, "g"); } // src/generateCommitMessageFromGitDiff.ts @@ -23595,7 +47720,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -23832,28 +47957,28 @@ var { hasOwnProperty: D2 } = Object.prototype; var import_tty = __toESM(require("tty"), 1); // node_modules/terminal-columns/dist/index.mjs -var DD = Object.create; +var DD2 = Object.create; var m2 = Object.defineProperty; -var FD = Object.getOwnPropertyDescriptor; -var tD = Object.getOwnPropertyNames; -var ED2 = Object.getPrototypeOf; -var L3 = Object.prototype.hasOwnProperty; -var nD2 = (D3) => m2(D3, "__esModule", { value: true }); -var rD2 = (D3, F2) => () => (D3 && (F2 = D3(D3 = 0)), F2); -var iD2 = (D3, F2) => () => (F2 || D3((F2 = { exports: {} }).exports, F2), F2.exports); -var oD2 = (D3, F2, u2, C2) => { - if (F2 && typeof F2 == "object" || typeof F2 == "function") - for (let t of tD(F2)) - !L3.call(D3, t) && (u2 || t !== "default") && m2(D3, t, { get: () => F2[t], enumerable: !(C2 = FD(F2, t)) || C2.enumerable }); - return D3; +var FD2 = Object.getOwnPropertyDescriptor; +var tD2 = Object.getOwnPropertyNames; +var ED = Object.getPrototypeOf; +var L2 = Object.prototype.hasOwnProperty; +var nD = (D4) => m2(D4, "__esModule", { value: true }); +var rD = (D4, F3) => () => (D4 && (F3 = D4(D4 = 0)), F3); +var iD = (D4, F3) => () => (F3 || D4((F3 = { exports: {} }).exports, F3), F3.exports); +var oD = (D4, F3, u3, C3) => { + if (F3 && typeof F3 == "object" || typeof F3 == "function") + for (let t2 of tD2(F3)) + !L2.call(D4, t2) && (u3 || t2 !== "default") && m2(D4, t2, { get: () => F3[t2], enumerable: !(C3 = FD2(F3, t2)) || C3.enumerable }); + return D4; }; -var BD = (D3, F2) => oD2(nD2(m2(D3 != null ? DD(ED2(D3)) : {}, "default", !F2 && D3 && D3.__esModule ? { get: () => D3.default, enumerable: true } : { value: D3, enumerable: true })), D3); -var i = rD2(() => { +var BD = (D4, F3) => oD(nD(m2(D4 != null ? DD2(ED(D4)) : {}, "default", !F3 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); +var i = rD(() => { }); -var $ = iD2((LD, N3) => { +var $2 = iD((LD, N4) => { "use strict"; i(); - N3.exports = function() { + N4.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); @@ -23866,73 +47991,73 @@ i(); i(); i(); i(); -var j = BD($(), 1); +var j2 = BD($2(), 1); i(); i(); i(); i(); var O = 10; -var U3 = (D3 = 0) => (F2) => `\x1B[${F2 + D3}m`; -var V = (D3 = 0) => (F2) => `\x1B[${38 + D3};5;${F2}m`; -var Y = (D3 = 0) => (F2, u2, C2) => `\x1B[${38 + D3};2;${F2};${u2};${C2}m`; -function AD() { - let D3 = /* @__PURE__ */ new Map(), F2 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F2.color.gray = F2.color.blackBright, F2.bgColor.bgGray = F2.bgColor.bgBlackBright, F2.color.grey = F2.color.blackBright, F2.bgColor.bgGrey = F2.bgColor.bgBlackBright; - for (let [u2, C2] of Object.entries(F2)) { - for (let [t, E2] of Object.entries(C2)) - F2[t] = { open: `\x1B[${E2[0]}m`, close: `\x1B[${E2[1]}m` }, C2[t] = F2[t], D3.set(E2[0], E2[1]); - Object.defineProperty(F2, u2, { value: C2, enumerable: false }); +var U2 = (D4 = 0) => (F3) => `\x1B[${F3 + D4}m`; +var V2 = (D4 = 0) => (F3) => `\x1B[${38 + D4};5;${F3}m`; +var Y = (D4 = 0) => (F3, u3, C3) => `\x1B[${38 + D4};2;${F3};${u3};${C3}m`; +function AD2() { + let D4 = /* @__PURE__ */ new Map(), F3 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F3.color.gray = F3.color.blackBright, F3.bgColor.bgGray = F3.bgColor.bgBlackBright, F3.color.grey = F3.color.blackBright, F3.bgColor.bgGrey = F3.bgColor.bgBlackBright; + for (let [u3, C3] of Object.entries(F3)) { + for (let [t2, E3] of Object.entries(C3)) + F3[t2] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C3[t2] = F3[t2], D4.set(E3[0], E3[1]); + Object.defineProperty(F3, u3, { value: C3, enumerable: false }); } - return Object.defineProperty(F2, "codes", { value: D3, enumerable: false }), F2.color.close = "\x1B[39m", F2.bgColor.close = "\x1B[49m", F2.color.ansi = U3(), F2.color.ansi256 = V(), F2.color.ansi16m = Y(), F2.bgColor.ansi = U3(O), F2.bgColor.ansi256 = V(O), F2.bgColor.ansi16m = Y(O), Object.defineProperties(F2, { rgbToAnsi256: { value: (u2, C2, t) => u2 === C2 && C2 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C2 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - let C2 = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); - if (!C2) + return Object.defineProperty(F3, "codes", { value: D4, enumerable: false }), F3.color.close = "\x1B[39m", F3.bgColor.close = "\x1B[49m", F3.color.ansi = U2(), F3.color.ansi256 = V2(), F3.color.ansi16m = Y(), F3.bgColor.ansi = U2(O), F3.bgColor.ansi256 = V2(O), F3.bgColor.ansi16m = Y(O), Object.defineProperties(F3, { rgbToAnsi256: { value: (u3, C3, t2) => u3 === C3 && C3 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C3 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + let C3 = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); + if (!C3) return [0, 0, 0]; - let { colorString: t } = C2.groups; - t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); - let E2 = Number.parseInt(t, 16); - return [E2 >> 16 & 255, E2 >> 8 & 255, E2 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => F2.rgbToAnsi256(...F2.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let C2, t, E2; - if (u2 >= 232) - C2 = ((u2 - 232) * 10 + 8) / 255, t = C2, E2 = C2; + let { colorString: t2 } = C3.groups; + t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); + let E3 = Number.parseInt(t2, 16); + return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => F3.rgbToAnsi256(...F3.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let C3, t2, E3; + if (u3 >= 232) + C3 = ((u3 - 232) * 10 + 8) / 255, t2 = C3, E3 = C3; else { - u2 -= 16; - let n = u2 % 36; - C2 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E2 = n % 6 / 5; + u3 -= 16; + let n2 = u3 % 36; + C3 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E3 = n2 % 6 / 5; } - let e2 = Math.max(C2, t, E2) * 2; - if (e2 === 0) + let e3 = Math.max(C3, t2, E3) * 2; + if (e3 === 0) return 30; - let r2 = 30 + (Math.round(E2) << 2 | Math.round(t) << 1 | Math.round(C2)); - return e2 === 2 && (r2 += 60), r2; - }, enumerable: false }, rgbToAnsi: { value: (u2, C2, t) => F2.ansi256ToAnsi(F2.rgbToAnsi256(u2, C2, t)), enumerable: false }, hexToAnsi: { value: (u2) => F2.ansi256ToAnsi(F2.hexToAnsi256(u2)), enumerable: false } }), F2; + let r3 = 30 + (Math.round(E3) << 2 | Math.round(t2) << 1 | Math.round(C3)); + return e3 === 2 && (r3 += 60), r3; + }, enumerable: false }, rgbToAnsi: { value: (u3, C3, t2) => F3.ansi256ToAnsi(F3.rgbToAnsi256(u3, C3, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F3.ansi256ToAnsi(F3.hexToAnsi256(u3)), enumerable: false } }), F3; } -var fD = AD(); +var fD = AD2(); var pD = "]"; var M2 = `${pD}8;;`; i(); // node_modules/cleye/dist/index.mjs -var J = import_tty.default.WriteStream.prototype.hasColors(); -var y3 = /^[\w.-]+$/; +var J2 = import_tty.default.WriteStream.prototype.hasColors(); +var y2 = /^[\w.-]+$/; var { stringify: d3 } = JSON; -function G3(t, e2) { - if (!t) +function G2(t2, e3) { + if (!t2) throw new Error("Command options are required"); - const { name: r2 } = t; - if (t.name === void 0) + const { name: r3 } = t2; + if (t2.name === void 0) throw new Error("Command name is required"); - if (!y3.test(r2)) - throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); - return { options: t, callback: e2 }; + if (!y2.test(r3)) + throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); + return { options: t2, callback: e3 }; } // src/commands/config.ts -var dotenv = __toESM(require_main(), 1); +var dotenv = __toESM(require_main2(), 1); var import_fs = require("fs"); var import_ini = __toESM(require_ini(), 1); var import_os = require("os"); @@ -24145,6 +48270,32 @@ function getI18nLocal(value) { // src/commands/config.ts dotenv.config(); +var MODEL_LIST = { + openai: [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-turbo", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ], + anthropic: [ + "claude-3-haiku-20240307", + "claude-3-sonnet-20240229", + "claude-3-opus-20240229" + ] +}; +var getDefaultModel = (provider3) => { + switch (provider3) { + case "ollama": + return ""; + case "anthropic": + return MODEL_LIST.anthropic[0]; + default: + return MODEL_LIST.openai[0]; + } +}; var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -24154,11 +48305,11 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { validateConfig( - "API_KEY", - value || config7.OCO_AI_PROVIDER == "ollama" || config7.OCO_AI_PROVIDER == "test", - "You need to provide an API key" + "OpenAI API_KEY", + value || config8.OCO_ANTHROPIC_API_KEY || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, @@ -24167,11 +48318,19 @@ var configValidators = { ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config7["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, + config8["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, "Must be 51 characters long" ); return value; }, + ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config8 = {}) { + validateConfig( + "ANTHROPIC_API_KEY", + value || config8.OCO_OPENAI_API_KEY || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic API key" + ); + return value; + }, ["OCO_DESCRIPTION" /* OCO_DESCRIPTION */](value) { validateConfig( "OCO_DESCRIPTION" /* OCO_DESCRIPTION */, @@ -24239,16 +48398,8 @@ var configValidators = { ["OCO_MODEL" /* OCO_MODEL */](value) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-1106-preview", - "gpt-4-0125-preview", - "gpt-4-turbo", - "gpt-4-turbo-preview" - ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` ); return value; }, @@ -24282,10 +48433,11 @@ var configValidators = { [ "", "openai", + "anthropic", "ollama", "test" ].includes(value), - `${value} is not supported yet, use 'ollama' or 'openai' (default)` + `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` ); return value; }, @@ -24302,12 +48454,13 @@ var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); var getConfig = () => { const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, + OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", + OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", @@ -24319,19 +48472,19 @@ var getConfig = () => { if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config7 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config7)) { - if (["null", "undefined"].includes(config7[configKey])) { - config7[configKey] = void 0; + const config8 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config8)) { + if (["null", "undefined"].includes(config8[configKey])) { + config8[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config7[configKey] ?? configFromEnv[configKey], - config7 + config8[configKey] ?? configFromEnv[configKey], + config8 ); - config7[configKey] = validValue; + config8[configKey] = validValue; } catch (error) { ce(`Unknown '${configKey}' config option.`); ce( @@ -24340,10 +48493,10 @@ var getConfig = () => { process.exit(1); } } - return config7; + return config8; }; var setConfig = (keyValues) => { - const config7 = getConfig() || {}; + const config8 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -24355,12 +48508,12 @@ var setConfig = (keyValues) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config7[configKey] = validValue; + config8[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config7), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config8), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; -var configCommand = G3( +var configCommand = G2( { name: "config" /* config */, parameters: ["", ""] @@ -24368,19 +48521,19 @@ var configCommand = G3( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode2, keyValues } = argv._; - if (mode2 === "get" /* get */) { - const config7 = getConfig() || {}; + const { mode: mode3, keyValues } = argv._; + if (mode3 === "get" /* get */) { + const config8 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config7[key]}`); + ce(`${key}=${config8[key]}`); } - } else if (mode2 === "set" /* set */) { + } else if (mode3 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode3}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -24481,8 +48634,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config7) => { - const { rules, prompt } = config7; +var inferPromptsFromCommitlintConfig = (config8) => { + const { rules, prompt } = config8; if (!rules) return []; return Object.keys(rules).map( @@ -24588,7 +48741,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e2) { + } catch (e3) { exists = false; } return exists; @@ -24659,8 +48812,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - const pattern = "[object FormData]"; - return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); + let kind2; + return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -24668,21 +48821,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i2; - let l; + let i3; + let l3; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; fn.call(null, obj[key], key, obj); } } @@ -24690,10 +48843,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i2 = keys.length; + let i3 = keys.length; let _key; - while (i2-- > 0) { - _key = keys[i2]; + while (i3-- > 0) { + _key = keys[i3]; if (key === _key.toLowerCase()) { return _key; } @@ -24721,20 +48874,20 @@ function merge() { result[targetKey] = val; } }; - for (let i2 = 0, l = arguments.length; i2 < l; i2++) { - arguments[i2] && forEach(arguments[i2], assignValue); + for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + arguments[i3] && forEach(arguments[i3], assignValue); } return result; } -var extend = (a2, b2, thisArg, { allOwnKeys } = {}) => { - forEach(b2, (val, key) => { +var extend = (a3, b3, thisArg, { allOwnKeys } = {}) => { + forEach(b3, (val, key) => { if (thisArg && isFunction(val)) { - a2[key] = bind(val, thisArg); + a3[key] = bind(val, thisArg); } else { - a2[key] = val; + a3[key] = val; } }, { allOwnKeys }); - return a2; + return a3; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -24752,7 +48905,7 @@ var inherits = (constructor, superConstructor, props, descriptors2) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i2; + let i3; let prop; const merged = {}; destObj = destObj || {}; @@ -24760,9 +48913,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i2 = props.length; - while (i2-- > 0) { - prop = props[i2]; + i3 = props.length; + while (i3-- > 0) { + prop = props[i3]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -24786,12 +48939,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i2 = thing.length; - if (!isNumber(i2)) + let i3 = thing.length; + if (!isNumber(i3)) return null; - const arr = new Array(i2); - while (i2-- > 0) { - arr[i2] = thing[i2]; + const arr = new Array(i3); + while (i3-- > 0) { + arr[i3] = thing[i3]; } return arr; }; @@ -24821,8 +48974,8 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m3, p1, p2) { - return p1.toUpperCase() + p2; + function replacer(m4, p1, p22) { + return p1.toUpperCase() + p22; } ); }; @@ -24832,8 +48985,9 @@ var reduceDescriptors = (obj, reducer) => { const descriptors2 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors2, (descriptor, name) => { - if (reducer(descriptor, name, obj) !== false) { - reducedDescriptors[name] = descriptor; + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -24860,12 +49014,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define = (arr) => { + const define2 = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -24881,11 +49035,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet; + const { length } = alphabet2; while (size--) { - str += alphabet[Math.random() * length | 0]; + str += alphabet2[Math.random() * length | 0]; } return str; }; @@ -24894,19 +49048,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i2) => { + const visit = (source, i3) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i2] = source; + stack[i3] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i2 + 1); + const reducedValue = visit(value, i3 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i2] = void 0; + stack[i3] = void 0; return target; } } @@ -24914,6 +49068,8 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; +var isAsyncFn = kindOfTest("AsyncFunction"); +var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -24963,11 +49119,13 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject + toJSONObject, + isAsyncFn, + isThenable }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config7, request, response) { +function AxiosError(message, code, config8, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -24977,7 +49135,7 @@ function AxiosError(message, code, config7, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config7 && (this.config = config7); + config8 && (this.config = config8); request && (this.request = request); response && (this.response = response); } @@ -25018,14 +49176,14 @@ var descriptors = {}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config7, request, response, customProps) => { +AxiosError.from = (error, code, config8, request, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config7, request, response); + AxiosError.call(axiosError, error.message, code, config8, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -25047,9 +49205,9 @@ function removeBrackets(key) { function renderKey(path2, key, dots) { if (!path2) return key; - return path2.concat(key).map(function each(token, i2) { + return path2.concat(key).map(function each(token, i3) { token = removeBrackets(token); - return !dots && i2 ? "[" + token + "]" : token; + return !dots && i3 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -25235,9 +49393,9 @@ var InterceptorManager = class { } } forEach(fn) { - utils_default.forEach(this.handlers, function forEachHandler(h2) { - if (h2 !== null) { - fn(h2); + utils_default.forEach(this.handlers, function forEachHandler(h3) { + if (h3 !== null) { + fn(h3); } }); } @@ -25266,11 +49424,32 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; +// node_modules/axios/lib/platform/common/utils.js +var utils_exports = {}; +__export(utils_exports, { + hasBrowserEnv: () => hasBrowserEnv, + hasStandardBrowserEnv: () => hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv +}); +var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; +var hasStandardBrowserEnv = ((product) => { + return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; +})(typeof navigator !== "undefined" && navigator.product); +var hasStandardBrowserWebWorkerEnv = (() => { + return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; +})(); + +// node_modules/axios/lib/platform/index.js +var platform_default = { + ...utils_exports, + ...node_default +}; + // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path2, helpers) { - if (node_default.isNode && utils_default.isBuffer(value)) { + if (platform_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -25288,11 +49467,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i2; + let i3; const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; obj[key] = arr[key]; } return obj; @@ -25300,6 +49479,8 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path2, value, target, index) { let name = path2[index++]; + if (name === "__proto__") + return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path2.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -25332,17 +49513,14 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js -var DEFAULT_CONTENT_TYPE = { - "Content-Type": void 0 -}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -25358,11 +49536,8 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - if (!hasJSONContentType) { - return data; - } + const isFormData3 = utils_default.isFormData(data); + if (isFormData3) { return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -25404,12 +49579,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e3.name === "SyntaxError") { + throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e2; + throw e3; } } } @@ -25421,24 +49596,22 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: node_default.classes.FormData, - Blob: node_default.classes.Blob + FormData: platform_default.classes.FormData, + Blob: platform_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*" + "Accept": "application/json, text/plain, */*", + "Content-Type": void 0 } } }; -utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { +utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { defaults.headers[method] = {}; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); -}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -25465,11 +49638,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i2; + let i3; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i2 = line.indexOf(":"); - key = line.substring(0, i2).trim().toLowerCase(); - val = line.substring(i2 + 1).trim(); + i3 = line.indexOf(":"); + key = line.substring(0, i3).trim().toLowerCase(); + val = line.substring(i3 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -25506,9 +49679,7 @@ function parseTokens(str) { } return tokens; } -function isValidHeaderName(str) { - return /^[-_a-zA-Z]+$/.test(str.trim()); -} +var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -25526,7 +49697,7 @@ function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w3, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w4, char, str) => { return char.toUpperCase() + str; }); } @@ -25619,10 +49790,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i2 = keys.length; + let i3 = keys.length; let deleted = false; - while (i2--) { - const key = keys[i2]; + while (i3--) { + const key = keys[i3]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -25694,18 +49865,26 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.freezeMethods(AxiosHeaders.prototype); +utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + }; +}); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config7 = this || defaults_default; - const context2 = response || config7; + const config8 = this || defaults_default; + const context2 = response || config8; const headers = AxiosHeaders_default.from(context2.headers); let data = context2.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config7, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config8, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -25717,8 +49896,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config7, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config7, request); +function CanceledError(message, config8, request) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config8, request); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -25749,7 +49928,7 @@ function isAbsoluteURL(url2) { // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -25769,7 +49948,7 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.3.4"; +var VERSION = "1.6.8"; // node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url2) { @@ -25780,7 +49959,7 @@ function parseProtocol(url2) { // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || node_default.classes.Blob; + const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -25855,11 +50034,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i2 = tail; + let i3 = tail; let bytesCount = 0; - while (i2 !== head) { - bytesCount += bytes[i2++]; - i2 = i2 % samplesCount; + while (i3 !== head) { + bytesCount += bytes[i3++]; + i3 = i3 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -26025,7 +50204,7 @@ var AxiosTransformStream = class extends import_stream.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = __toESM(require("events"), 1); +var import_events = require("events"); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -26054,9 +50233,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName } = this.constructor; + const { escapeName: escapeName2 } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -26147,6 +50326,21 @@ var ZlibHeaderTransformStream = class extends import_stream3.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; +// node_modules/axios/lib/helpers/callbackify.js +var callbackify = (fn, reducer) => { + return utils_default.isAsyncFn(fn) ? function(...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +}; +var callbackify_default = callbackify; + // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -26159,15 +50353,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = node_default.protocols.map((protocol) => { +var supportedProtocols = platform_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options) { +function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options); + options.beforeRedirects.config(options, responseDetails); } } function setProxy(options, configProxy, location) { @@ -26225,21 +50419,43 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var http_default = isHttpAdapterSupported && function httpAdapter(config7) { +var resolveFamily = ({ address, family }) => { + if (!utils_default.isString(address)) { + throw TypeError("address must be a string"); + } + return { + address, + family: family || (address.indexOf(".") < 0 ? 6 : 4) + }; +}; +var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); +var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data } = config7; - const { responseType, responseEncoding } = config7; - const method = config7.method.toUpperCase(); + let { data, lookup, family } = config8; + const { responseType, responseEncoding } = config8; + const method = config8.method.toUpperCase(); let isDone; let rejected = false; let req; - const emitter = new import_events.default(); + if (lookup) { + const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + const emitter = new import_events.EventEmitter(); const onFinished = () => { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(abort); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(abort); } - if (config7.signal) { - config7.signal.removeEventListener("abort", abort); + if (config8.signal) { + config8.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -26251,16 +50467,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config7, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config8, req) : reason); } emitter.once("abort", reject); - if (config7.cancelToken || config7.signal) { - config7.cancelToken && config7.cancelToken.subscribe(abort); - if (config7.signal) { - config7.signal.aborted ? abort() : config7.signal.addEventListener("abort", abort); + if (config8.cancelToken || config8.signal) { + config8.cancelToken && config8.cancelToken.subscribe(abort); + if (config8.signal) { + config8.signal.aborted ? abort() : config8.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config7.baseURL, config7.url); + const fullPath = buildFullPath(config8.baseURL, config8.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -26270,15 +50486,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: 405, statusText: "method not allowed", headers: {}, - config: config7 + config: config8 }); } try { - convertedData = fromDataURI(config7.url, responseType === "blob", { - Blob: config7.env && config7.env.Blob + convertedData = fromDataURI(config8.url, responseType === "blob", { + Blob: config8.env && config8.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config7); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config8); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -26293,21 +50509,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config7 + config: config8 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config7 + config8 )); } - const headers = AxiosHeaders_default.from(config7.headers).normalize(); + const headers = AxiosHeaders_default.from(config8.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config7.onDownloadProgress; - const onUploadProgress = config7.onUploadProgress; - const maxRate = config7.maxRate; + const onDownloadProgress = config8.onDownloadProgress; + const onUploadProgress = config8.onUploadProgress; + const maxRate = config8.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -26324,7 +50540,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e2) { + } catch (e3) { } } } else if (utils_default.isBlob(data)) { @@ -26341,15 +50557,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config7 + config8 )); } headers.setContentLength(data.length, false); - if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { + if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config7 + config8 )); } } @@ -26375,9 +50591,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }); } let auth = void 0; - if (config7.auth) { - const username = config7.auth.username || ""; - const password = config7.auth.password || ""; + if (config8.auth) { + const username = config8.auth.username || ""; + const password = config8.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -26390,13 +50606,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { try { path2 = buildURL( parsed.pathname + parsed.search, - config7.params, - config7.paramsSerializer + config8.params, + config8.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config7; - customErr.url = config7.url; + customErr.config = config8; + customErr.url = config8.url; customErr.exists = true; return reject(customErr); } @@ -26409,42 +50625,44 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { path: path2, method, headers: headers.toJSON(), - agents: { http: config7.httpAgent, https: config7.httpsAgent }, + agents: { http: config8.httpAgent, https: config8.httpsAgent }, auth, protocol, + family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - if (config7.socketPath) { - options.socketPath = config7.socketPath; + !utils_default.isUndefined(lookup) && (options.lookup = lookup); + if (config8.socketPath) { + options.socketPath = config8.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config7.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config8.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; - if (config7.transport) { - transport = config7.transport; - } else if (config7.maxRedirects === 0) { + options.agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; + if (config8.transport) { + transport = config8.transport; + } else if (config8.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config7.maxRedirects) { - options.maxRedirects = config7.maxRedirects; + if (config8.maxRedirects) { + options.maxRedirects = config8.maxRedirects; } - if (config7.beforeRedirect) { - options.beforeRedirects.config = config7.beforeRedirect; + if (config8.beforeRedirect) { + options.beforeRedirects.config = config8.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config7.maxBodyLength > -1) { - options.maxBodyLength = config7.maxBodyLength; + if (config8.maxBodyLength > -1) { + options.maxBodyLength = config8.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config7.insecureHTTPParser) { - options.insecureHTTPParser = config7.insecureHTTPParser; + if (config8.insecureHTTPParser) { + options.insecureHTTPParser = config8.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -26465,11 +50683,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } let responseStream = res; const lastRequest = res.req || req; - if (config7.decompress !== false && res.headers["content-encoding"]) { + if (config8.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch (res.headers["content-encoding"]) { + switch ((res.headers["content-encoding"] || "").toLowerCase()) { case "gzip": case "x-gzip": case "compress": @@ -26498,7 +50716,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config7, + config: config8, request: lastRequest }; if (responseType === "stream") { @@ -26510,13 +50728,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { + if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config7.maxContentLength + " exceeded", + "maxContentLength size of " + config8.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config7, + config8, lastRequest )); } @@ -26526,9 +50744,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config7.maxContentLength + " exceeded", + "maxContentLength size of " + config8.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config7, + config8, lastRequest ); responseStream.destroy(err); @@ -26537,7 +50755,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config7, lastRequest)); + reject(AxiosError_default.from(err, null, config8, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -26550,7 +50768,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } response.data = responseData; } catch (err) { - reject(AxiosError_default.from(err, null, config7, response.request, response)); + return reject(AxiosError_default.from(err, null, config8, response.request, response)); } settle(resolve, reject, response); }); @@ -26567,18 +50785,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config7, req)); + reject(AxiosError_default.from(err, null, config8, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config7.timeout) { - const timeout = parseInt(config7.timeout, 10); - if (isNaN(timeout)) { + if (config8.timeout) { + const timeout = parseInt(config8.timeout, 10); + if (Number.isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config7, + config8, req )); return; @@ -26586,15 +50804,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config7.transitional || transitional_default; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config8.transitional || transitional_default; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config7, + config8, req )); abort(); @@ -26612,7 +50830,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config7, req)); + abort(new CanceledError_default("Request stream has been aborted", config8, req)); } }); data.pipe(req); @@ -26623,47 +50841,34 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { - return { - write: function write(name, value, expires, path2, domain, secure) { - const cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - if (utils_default.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - if (utils_default.isString(path2)) { - cookie.push("path=" + path2); - } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); - } - if (secure === true) { - cookie.push("secure"); - } - document.cookie = cookie.join("; "); - }, - read: function read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, "", Date.now() - 864e5); - } - }; -}() : function nonStandardBrowserEnv() { - return { - write: function write() { - }, - read: function read() { - return null; - }, - remove: function remove() { - } - }; -}(); +var cookies_default = platform_default.hasStandardBrowserEnv ? { + write(name, value, expires, path2, domain, secure) { + const cookie = [name + "=" + encodeURIComponent(value)]; + utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); + utils_default.isString(path2) && cookie.push("path=" + path2); + utils_default.isString(domain) && cookie.push("domain=" + domain); + secure === true && cookie.push("secure"); + document.cookie = cookie.join("; "); + }, + read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove(name) { + this.write(name, "", Date.now() - 864e5); + } +} : { + write() { + }, + read() { + return null; + }, + remove() { + } +}; // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { +var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; @@ -26690,7 +50895,7 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv2() { +}() : function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; @@ -26700,9 +50905,9 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e2) => { - const loaded = e2.loaded; - const total = e2.lengthComputable ? e2.total : void 0; + return (e3) => { + const loaded = e3.loaded; + const total = e3.lengthComputable ? e3.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -26714,39 +50919,45 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e2 + event: e3 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config7) { +var xhr_default = isXHRAdapterSupported && function(config8) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config7.data; - const requestHeaders = AxiosHeaders_default.from(config7.headers).normalize(); - const responseType = config7.responseType; + let requestData = config8.data; + const requestHeaders = AxiosHeaders_default.from(config8.headers).normalize(); + let { responseType, withXSRFToken } = config8; let onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } - if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { - requestHeaders.setContentType(false); + let contentType; + if (utils_default.isFormData(requestData)) { + if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { + requestHeaders.setContentType(false); + } else if ((contentType = requestHeaders.getContentType()) !== false) { + const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; + requestHeaders.setContentType([type || "multipart/form-data", ...tokens].join("; ")); + } } let request = new XMLHttpRequest(); - if (config7.auth) { - const username = config7.auth.username || ""; - const password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; + if (config8.auth) { + const username = config8.auth.username || ""; + const password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config7.baseURL, config7.url); - request.open(config7.method.toUpperCase(), buildURL(fullPath, config7.params, config7.paramsSerializer), true); - request.timeout = config7.timeout; + const fullPath = buildFullPath(config8.baseURL, config8.url); + request.open(config8.method.toUpperCase(), buildURL(fullPath, config8.params, config8.paramsSerializer), true); + request.timeout = config8.timeout; function onloadend() { if (!request) { return; @@ -26760,7 +50971,7 @@ var xhr_default = isXHRAdapterSupported && function(config7) { status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config7, + config: config8, request }; settle(function _resolve(value) { @@ -26789,31 +51000,34 @@ var xhr_default = isXHRAdapterSupported && function(config7) { if (!request) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config7, request)); + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config8, request)); request = null; }; request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config7, request)); + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config8, request)); request = null; }; request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config7.transitional || transitional_default; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config8.transitional || transitional_default; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config7, + config8, request )); request = null; }; - if (node_default.isStandardBrowserEnv) { - const xsrfValue = (config7.withCredentials || isURLSameOrigin_default(fullPath)) && config7.xsrfCookieName && cookies_default.read(config7.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config7.xsrfHeaderName, xsrfValue); + if (platform_default.hasStandardBrowserEnv) { + withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config8)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { + const xsrfValue = config8.xsrfHeaderName && config8.xsrfCookieName && cookies_default.read(config8.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config8.xsrfHeaderName, xsrfValue); + } } } requestData === void 0 && requestHeaders.setContentType(null); @@ -26822,35 +51036,35 @@ var xhr_default = isXHRAdapterSupported && function(config7) { request.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config7.withCredentials)) { - request.withCredentials = !!config7.withCredentials; + if (!utils_default.isUndefined(config8.withCredentials)) { + request.withCredentials = !!config8.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config7.responseType; + request.responseType = config8.responseType; } - if (typeof config7.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config7.onDownloadProgress, true)); + if (typeof config8.onDownloadProgress === "function") { + request.addEventListener("progress", progressEventReducer(config8.onDownloadProgress, true)); } - if (typeof config7.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config7.onUploadProgress)); + if (typeof config8.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", progressEventReducer(config8.onUploadProgress)); } - if (config7.cancelToken || config7.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = (cancel) => { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config7, request) : cancel); + reject(!cancel || cancel.type ? new CanceledError_default(null, config8, request) : cancel); request.abort(); request = null; }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && node_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config7)); + if (protocol && platform_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config8)); return; } request.send(requestData || null); @@ -26866,36 +51080,44 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e2) { + } catch (e3) { } Object.defineProperty(fn, "adapterName", { value }); } }); +var renderReason = (reason) => `- ${reason}`; +var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - for (let i2 = 0; i2 < length; i2++) { - nameOrAdapter = adapters[i2]; - if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { + const rejectedReasons = {}; + for (let i3 = 0; i3 < length; i3++) { + nameOrAdapter = adapters[i3]; + let id; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === void 0) { + throw new AxiosError_default(`Unknown adapter '${id}'`); + } + } + if (adapter) { break; } + rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - if (adapter === false) { - throw new AxiosError_default( - `Adapter ${nameOrAdapter} is not supported by the environment`, - "ERR_NOT_SUPPORT" - ); - } - throw new Error( - utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build") + ); + let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; + throw new AxiosError_default( + `There is no suitable adapter to dispatch the request ` + s2, + "ERR_NOT_SUPPORT" ); - } - if (!utils_default.isFunction(adapter)) { - throw new TypeError("adapter is not a function"); } return adapter; }, @@ -26903,41 +51125,41 @@ var adapters_default = { }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config7) { - if (config7.cancelToken) { - config7.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config8) { + if (config8.cancelToken) { + config8.cancelToken.throwIfRequested(); } - if (config7.signal && config7.signal.aborted) { - throw new CanceledError_default(null, config7); + if (config8.signal && config8.signal.aborted) { + throw new CanceledError_default(null, config8); } } -function dispatchRequest(config7) { - throwIfCancellationRequested(config7); - config7.headers = AxiosHeaders_default.from(config7.headers); - config7.data = transformData.call( - config7, - config7.transformRequest +function dispatchRequest(config8) { + throwIfCancellationRequested(config8); + config8.headers = AxiosHeaders_default.from(config8.headers); + config8.data = transformData.call( + config8, + config8.transformRequest ); - if (["post", "put", "patch"].indexOf(config7.method) !== -1) { - config7.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config8.method) !== -1) { + config8.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config7.adapter || defaults_default.adapter); - return adapter(config7).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config7); + const adapter = adapters_default.getAdapter(config8.adapter || defaults_default.adapter); + return adapter(config8).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config8); response.data = transformData.call( - config7, - config7.transformResponse, + config8, + config8.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config7); + throwIfCancellationRequested(config8); if (reason && reason.response) { reason.response.data = transformData.call( - config7, - config7.transformResponse, + config8, + config8.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -26948,10 +51170,10 @@ function dispatchRequest(config7) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config7 = {}; + const config8 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -26962,30 +51184,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a2, b2, caseless) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(a2, b2, caseless); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2, caseless); + function mergeDeepProperties(a3, b3, caseless) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(a3, b3, caseless); + } else if (!utils_default.isUndefined(a3)) { + return getMergedValue(void 0, a3, caseless); } } - function valueFromConfig2(a2, b2) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(void 0, b2); + function valueFromConfig2(a3, b3) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(void 0, b3); } } - function defaultToConfig2(a2, b2) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(void 0, b2); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2); + function defaultToConfig2(a3, b3) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(void 0, b3); + } else if (!utils_default.isUndefined(a3)) { + return getMergedValue(void 0, a3); } } - function mergeDirectKeys(a2, b2, prop) { + function mergeDirectKeys(a3, b3, prop) { if (prop in config22) { - return getMergedValue(a2, b2); + return getMergedValue(a3, b3); } else if (prop in config1) { - return getMergedValue(void 0, a2); + return getMergedValue(void 0, a3); } } const mergeMap = { @@ -26999,6 +51221,7 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -27016,21 +51239,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true) + headers: (a3, b3) => mergeDeepProperties(headersToObject(a3), headersToObject(b3), true) }; - utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); }); - return config7; + return config8; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { +["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i3) => { validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings = {}; @@ -27062,9 +51285,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i2 = keys.length; - while (i2-- > 0) { - const opt = keys[i2]; + let i3 = keys.length; + while (i3-- > 0) { + const opt = keys[i3]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -27094,15 +51317,32 @@ var Axios = class { response: new InterceptorManager_default() }; } - request(configOrUrl, config7) { - if (typeof configOrUrl === "string") { - config7 = config7 || {}; - config7.url = configOrUrl; - } else { - config7 = configOrUrl || {}; + async request(configOrUrl, config8) { + try { + return await this._request(configOrUrl, config8); + } catch (err) { + if (err instanceof Error) { + let dummy; + Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; + if (!err.stack) { + err.stack = stack; + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { + err.stack += "\n" + stack; + } + } + throw err; } - config7 = mergeConfig(this.defaults, config7); - const { transitional: transitional2, paramsSerializer, headers } = config7; + } + _request(configOrUrl, config8) { + if (typeof configOrUrl === "string") { + config8 = config8 || {}; + config8.url = configOrUrl; + } else { + config8 = configOrUrl || {}; + } + config8 = mergeConfig(this.defaults, config8); + const { transitional: transitional2, paramsSerializer, headers } = config8; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -27110,29 +51350,34 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer !== void 0) { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); + if (paramsSerializer != null) { + if (utils_default.isFunction(paramsSerializer)) { + config8.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); + } } - config7.method = (config7.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders; - contextHeaders = headers && utils_default.merge( + config8.method = (config8.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders = headers && utils_default.merge( headers.common, - headers[config7.method] + headers[config8.method] ); - contextHeaders && utils_default.forEach( + headers && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config7.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config8.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -27143,25 +51388,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i2 = 0; + let i3 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config7); - while (i2 < len) { - promise = promise.then(chain[i2++], chain[i2++]); + promise = Promise.resolve(config8); + while (i3 < len) { + promise = promise.then(chain[i3++], chain[i3++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config7; - i2 = 0; - while (i2 < len) { - const onFulfilled = requestInterceptorChain[i2++]; - const onRejected = requestInterceptorChain[i2++]; + let newConfig = config8; + i3 = 0; + while (i3 < len) { + const onFulfilled = requestInterceptorChain[i3++]; + const onRejected = requestInterceptorChain[i3++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -27174,32 +51419,32 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i2 = 0; + i3 = 0; len = responseInterceptorChain.length; - while (i2 < len) { - promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); + while (i3 < len) { + promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); } return promise; } - getUri(config7) { - config7 = mergeConfig(this.defaults, config7); - const fullPath = buildFullPath(config7.baseURL, config7.url); - return buildURL(fullPath, config7.params, config7.paramsSerializer); + getUri(config8) { + config8 = mergeConfig(this.defaults, config8); + const fullPath = buildFullPath(config8.baseURL, config8.url); + return buildURL(fullPath, config8.params, config8.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url2, config7) { - return this.request(mergeConfig(config7 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { + Axios.prototype[method] = function(url2, config8) { + return this.request(mergeConfig(config8 || {}, { method, url: url2, - data: (config7 || {}).data + data: (config8 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config7) { - return this.request(mergeConfig(config7 || {}, { + return function httpMethod(url2, data, config8) { + return this.request(mergeConfig(config8 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" @@ -27228,9 +51473,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i2 = token._listeners.length; - while (i2-- > 0) { - token._listeners[i2](cancel); + let i3 = token._listeners.length; + while (i3-- > 0) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -27245,11 +51490,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config7, request) { + executor(function cancel(message, config8, request) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config7, request); + token.reason = new CanceledError_default(message, config8, request); resolvePromise(token.reason); }); } @@ -27280,8 +51525,8 @@ var CancelToken = class { } static source() { let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; + const token = new CancelToken(function executor(c2) { + cancel = c2; }); return { token, @@ -27402,6 +51647,7 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -27422,6 +51668,7 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, + getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -27451,8 +51698,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama" || config3?.OCO_AI_PROVIDER == "test"; -if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { +var provider = config3?.OCO_AI_PROVIDER; +if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY= . If you are using GPT, make sure you add payment details, so API works.`" @@ -27463,6 +51710,14 @@ if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; +if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( + ", " + )}` + ); + process.exit(1); +} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -27483,7 +51738,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b2) => a2 + b2, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -27513,14 +51768,14 @@ var OllamaAi = class { async generateCommitMessage(messages) { const model = "mistral"; const url2 = "http://localhost:11434/api/chat"; - const p2 = { + const p3 = { model, messages, options: { temperature: 0, top_p: 0.1 }, stream: false }; try { - const response = await axios_default.post(url2, p2, { + const response = await axios_default.post(url2, p3, { headers: { "Content-Type": "application/json" } @@ -27535,6 +51790,2165 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// node_modules/@anthropic-ai/sdk/version.mjs +var VERSION3 = "0.19.2"; + +// node_modules/@anthropic-ai/sdk/_shims/registry.mjs +var auto = false; +var kind = void 0; +var fetch = void 0; +var Request = void 0; +var Response = void 0; +var Headers = void 0; +var FormData3 = void 0; +var Blob2 = void 0; +var File = void 0; +var ReadableStream = void 0; +var getMultipartRequestOptions = void 0; +var getDefaultAgent = void 0; +var fileFromPath = void 0; +var isFsReadStream = void 0; +function setShims(shims, options = { auto: false }) { + if (auto) { + throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); + } + if (kind) { + throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); + } + auto = options.auto; + kind = shims.kind; + fetch = shims.fetch; + Request = shims.Request; + Response = shims.Response; + Headers = shims.Headers; + FormData3 = shims.FormData; + Blob2 = shims.Blob; + File = shims.File; + ReadableStream = shims.ReadableStream; + getMultipartRequestOptions = shims.getMultipartRequestOptions; + getDefaultAgent = shims.getDefaultAgent; + fileFromPath = shims.fileFromPath; + isFsReadStream = shims.isFsReadStream; +} + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var nf = __toESM(require_lib3(), 1); + +// node_modules/formdata-node/lib/esm/FormData.js +var import_util4 = require("util"); +init_File(); +init_isFile(); + +// node_modules/formdata-node/lib/esm/isBlob.js +init_Blob(); +var isBlob2 = (value) => value instanceof Blob3; + +// node_modules/formdata-node/lib/esm/FormData.js +init_isFunction(); + +// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js +var import_util3 = require("util"); +var deprecateConstructorEntries = (0, import_util3.deprecate)(() => { +}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); + +// node_modules/formdata-node/lib/esm/FormData.js +var __classPrivateFieldGet3 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _FormData_instances; +var _FormData_entries; +var _FormData_setEntry; +var FormData4 = class { + constructor(entries) { + _FormData_instances.add(this); + _FormData_entries.set(this, /* @__PURE__ */ new Map()); + if (entries) { + deprecateConstructorEntries(); + entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); + } + } + static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { + return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); + } + append(name, value, fileName) { + __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: true, + rawValue: value, + argsLength: arguments.length + }); + } + set(name, value, fileName) { + __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: false, + rawValue: value, + argsLength: arguments.length + }); + } + get(name) { + const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return null; + } + return field[0]; + } + getAll(name) { + const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return []; + } + return field.slice(); + } + has(name) { + return __classPrivateFieldGet3(this, _FormData_entries, "f").has(String(name)); + } + delete(name) { + __classPrivateFieldGet3(this, _FormData_entries, "f").delete(String(name)); + } + *keys() { + for (const key of __classPrivateFieldGet3(this, _FormData_entries, "f").keys()) { + yield key; + } + } + *entries() { + for (const name of this.keys()) { + const values = this.getAll(name); + for (const value of values) { + yield [name, value]; + } + } + } + *values() { + for (const [, value] of this) { + yield value; + } + } + [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { + const methodName = append2 ? "append" : "set"; + if (argsLength < 2) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); + } + name = String(name); + let value; + if (isFile2(rawValue)) { + value = fileName === void 0 ? rawValue : new File2([rawValue], fileName, { + type: rawValue.type, + lastModified: rawValue.lastModified + }); + } else if (isBlob2(rawValue)) { + value = new File2([rawValue], fileName === void 0 ? "blob" : fileName, { + type: rawValue.type + }); + } else if (fileName) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); + } else { + value = String(rawValue); + } + const values = __classPrivateFieldGet3(this, _FormData_entries, "f").get(name); + if (!values) { + return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); + } + if (!append2) { + return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); + } + values.push(value); + }, Symbol.iterator)]() { + return this.entries(); + } + forEach(callback, thisArg) { + for (const [name, value] of this) { + callback.call(thisArg, value, name, this); + } + } + get [Symbol.toStringTag]() { + return "FormData"; + } + [import_util4.inspect.custom]() { + return this[Symbol.toStringTag]; + } +}; + +// node_modules/formdata-node/lib/esm/index.js +init_Blob(); +init_File(); + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); +var import_abort_controller = __toESM(require_abort_controller(), 1); +var import_node_fs = require("node:fs"); + +// node_modules/form-data-encoder/lib/esm/util/createBoundary.js +var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; +function createBoundary() { + let size = 16; + let res = ""; + while (size--) { + res += alphabet[Math.random() * alphabet.length << 0]; + } + return res; +} +var createBoundary_default = createBoundary; + +// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js +var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); +function isPlainObject2(value) { + if (getType(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var isPlainObject_default = isPlainObject2; + +// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js +var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { + if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { + return "\r\n"; + } + return match; +}); +var normalizeValue_default = normalizeValue2; + +// node_modules/form-data-encoder/lib/esm/util/escapeName.js +var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); +var escapeName_default = escapeName; + +// node_modules/form-data-encoder/lib/esm/util/isFunction.js +var isFunction3 = (value) => typeof value === "function"; +var isFunction_default = isFunction3; + +// node_modules/form-data-encoder/lib/esm/util/isFileLike.js +var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); + +// node_modules/form-data-encoder/lib/esm/util/isFormData.js +var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); + +// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js +var __classPrivateFieldSet3 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet4 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _FormDataEncoder_instances; +var _FormDataEncoder_CRLF; +var _FormDataEncoder_CRLF_BYTES; +var _FormDataEncoder_CRLF_BYTES_LENGTH; +var _FormDataEncoder_DASHES; +var _FormDataEncoder_encoder; +var _FormDataEncoder_footer; +var _FormDataEncoder_form; +var _FormDataEncoder_options; +var _FormDataEncoder_getFieldHeader; +var defaultOptions = { + enableAdditionalHeaders: false +}; +var FormDataEncoder = class { + constructor(form, boundaryOrOptions, options) { + _FormDataEncoder_instances.add(this); + _FormDataEncoder_CRLF.set(this, "\r\n"); + _FormDataEncoder_CRLF_BYTES.set(this, void 0); + _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); + _FormDataEncoder_DASHES.set(this, "-".repeat(2)); + _FormDataEncoder_encoder.set(this, new TextEncoder()); + _FormDataEncoder_footer.set(this, void 0); + _FormDataEncoder_form.set(this, void 0); + _FormDataEncoder_options.set(this, void 0); + if (!isFormData2(form)) { + throw new TypeError("Expected first argument to be a FormData instance."); + } + let boundary; + if (isPlainObject_default(boundaryOrOptions)) { + options = boundaryOrOptions; + } else { + boundary = boundaryOrOptions; + } + if (!boundary) { + boundary = createBoundary_default(); + } + if (typeof boundary !== "string") { + throw new TypeError("Expected boundary argument to be a string."); + } + if (options && !isPlainObject_default(options)) { + throw new TypeError("Expected options argument to be an object."); + } + __classPrivateFieldSet3(this, _FormDataEncoder_form, form, "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")), "f"); + __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); + this.boundary = `form-data-boundary-${boundary}`; + this.contentType = `multipart/form-data; boundary=${this.boundary}`; + __classPrivateFieldSet3(this, _FormDataEncoder_footer, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); + this.contentLength = String(this.getContentLength()); + this.headers = Object.freeze({ + "Content-Type": this.contentType, + "Content-Length": this.contentLength + }); + Object.defineProperties(this, { + boundary: { writable: false, configurable: false }, + contentType: { writable: false, configurable: false }, + contentLength: { writable: false, configurable: false }, + headers: { writable: false, configurable: false } + }); + } + getContentLength() { + let length = 0; + for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f")) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + length += __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; + length += isFileLike(value) ? value.size : value.byteLength; + length += __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); + } + return length + __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f").byteLength; + } + *values() { + for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f").entries()) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + yield __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); + yield value; + yield __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f"); + } + yield __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f"); + } + async *encode() { + for (const part of this.values()) { + if (isFileLike(part)) { + yield* part.stream(); + } else { + yield part; + } + } + } + [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { + let header = ""; + header += `${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; + if (isFileLike(value)) { + header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Type: ${value.type || "application/octet-stream"}`; + } + if (__classPrivateFieldGet4(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { + header += `${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; + } + return __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); + }, Symbol.iterator)]() { + return this.values(); + } + [Symbol.asyncIterator]() { + return this.encode(); + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_node_stream = require("node:stream"); + +// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs +var MultipartBody = class { + constructor(body) { + this.body = body; + } + get [Symbol.toStringTag]() { + return "MultipartBody"; + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); +var fileFromPathWarned = false; +async function fileFromPath3(path2, ...args) { + const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); + if (!fileFromPathWarned) { + console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path2)}) instead`); + fileFromPathWarned = true; + } + return await _fileFromPath(path2, ...args); +} +var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +async function getMultipartRequestOptions2(form, opts) { + const encoder = new FormDataEncoder(form); + const readable = import_node_stream.Readable.from(encoder); + const body = new MultipartBody(readable); + const headers = { + ...opts.headers, + ...encoder.headers, + "Content-Length": encoder.contentLength + }; + return { ...opts, body, headers }; +} +function getRuntime() { + if (typeof AbortController === "undefined") { + globalThis.AbortController = import_abort_controller.AbortController; + } + return { + kind: "node", + fetch: nf.default, + Request: nf.Request, + Response: nf.Response, + Headers: nf.Headers, + FormData: FormData4, + Blob: Blob3, + File: File2, + ReadableStream: import_ponyfill_es2018.ReadableStream, + getMultipartRequestOptions: getMultipartRequestOptions2, + getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, + fileFromPath: fileFromPath3, + isFsReadStream: (value) => value instanceof import_node_fs.ReadStream + }; +} + +// node_modules/@anthropic-ai/sdk/_shims/index.mjs +if (!kind) + setShims(getRuntime(), { auto: true }); + +// node_modules/@anthropic-ai/sdk/error.mjs +var error_exports = {}; +__export(error_exports, { + APIConnectionError: () => APIConnectionError, + APIConnectionTimeoutError: () => APIConnectionTimeoutError, + APIError: () => APIError, + APIUserAbortError: () => APIUserAbortError, + AnthropicError: () => AnthropicError, + AuthenticationError: () => AuthenticationError, + BadRequestError: () => BadRequestError, + ConflictError: () => ConflictError, + InternalServerError: () => InternalServerError, + NotFoundError: () => NotFoundError, + PermissionDeniedError: () => PermissionDeniedError, + RateLimitError: () => RateLimitError, + UnprocessableEntityError: () => UnprocessableEntityError +}); +var AnthropicError = class extends Error { +}; +var APIError = class extends AnthropicError { + constructor(status, error, message, headers) { + super(`${APIError.makeMessage(status, error, message)}`); + this.status = status; + this.headers = headers; + this.error = error; + } + static makeMessage(status, error, message) { + const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; + if (status && msg) { + return `${status} ${msg}`; + } + if (status) { + return `${status} status code (no body)`; + } + if (msg) { + return msg; + } + return "(no status code or body)"; + } + static generate(status, errorResponse, message, headers) { + if (!status) { + return new APIConnectionError({ cause: castToError(errorResponse) }); + } + const error = errorResponse; + if (status === 400) { + return new BadRequestError(status, error, message, headers); + } + if (status === 401) { + return new AuthenticationError(status, error, message, headers); + } + if (status === 403) { + return new PermissionDeniedError(status, error, message, headers); + } + if (status === 404) { + return new NotFoundError(status, error, message, headers); + } + if (status === 409) { + return new ConflictError(status, error, message, headers); + } + if (status === 422) { + return new UnprocessableEntityError(status, error, message, headers); + } + if (status === 429) { + return new RateLimitError(status, error, message, headers); + } + if (status >= 500) { + return new InternalServerError(status, error, message, headers); + } + return new APIError(status, error, message, headers); + } +}; +var APIUserAbortError = class extends APIError { + constructor({ message } = {}) { + super(void 0, void 0, message || "Request was aborted.", void 0); + this.status = void 0; + } +}; +var APIConnectionError = class extends APIError { + constructor({ message, cause }) { + super(void 0, void 0, message || "Connection error.", void 0); + this.status = void 0; + if (cause) + this.cause = cause; + } +}; +var APIConnectionTimeoutError = class extends APIConnectionError { + constructor({ message } = {}) { + super({ message: message ?? "Request timed out." }); + } +}; +var BadRequestError = class extends APIError { + constructor() { + super(...arguments); + this.status = 400; + } +}; +var AuthenticationError = class extends APIError { + constructor() { + super(...arguments); + this.status = 401; + } +}; +var PermissionDeniedError = class extends APIError { + constructor() { + super(...arguments); + this.status = 403; + } +}; +var NotFoundError = class extends APIError { + constructor() { + super(...arguments); + this.status = 404; + } +}; +var ConflictError = class extends APIError { + constructor() { + super(...arguments); + this.status = 409; + } +}; +var UnprocessableEntityError = class extends APIError { + constructor() { + super(...arguments); + this.status = 422; + } +}; +var RateLimitError = class extends APIError { + constructor() { + super(...arguments); + this.status = 429; + } +}; +var InternalServerError = class extends APIError { +}; + +// node_modules/@anthropic-ai/sdk/streaming.mjs +var Stream = class { + constructor(iterator, controller) { + this.iterator = iterator; + this.controller = controller; + } + static fromSSEResponse(response, controller) { + let consumed = false; + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const sse of _iterSSEMessages(response, controller)) { + if (sse.event === "completion") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "ping") { + continue; + } + if (sse.event === "error") { + const errText = sse.data; + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); + } + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + static fromReadableStream(readableStream, controller) { + let consumed = false; + async function* iterLines() { + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(readableStream); + for await (const chunk of iter) { + for (const line of lineDecoder.decode(chunk)) { + yield line; + } + } + for (const line of lineDecoder.flush()) { + yield line; + } + } + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const line of iterLines()) { + if (done) + continue; + if (line) + yield JSON.parse(line); + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + [Symbol.asyncIterator]() { + return this.iterator(); + } + tee() { + const left = []; + const right = []; + const iterator = this.iterator(); + const teeIterator = (queue) => { + return { + next: () => { + if (queue.length === 0) { + const result = iterator.next(); + left.push(result); + right.push(result); + } + return queue.shift(); + } + }; + }; + return [ + new Stream(() => teeIterator(left), this.controller), + new Stream(() => teeIterator(right), this.controller) + ]; + } + toReadableStream() { + const self2 = this; + let iter; + const encoder = new TextEncoder(); + return new ReadableStream({ + async start() { + iter = self2[Symbol.asyncIterator](); + }, + async pull(ctrl) { + try { + const { value, done } = await iter.next(); + if (done) + return ctrl.close(); + const bytes = encoder.encode(JSON.stringify(value) + "\n"); + ctrl.enqueue(bytes); + } catch (err) { + ctrl.error(err); + } + }, + async cancel() { + await iter.return?.(); + } + }); + } +}; +async function* _iterSSEMessages(response, controller) { + if (!response.body) { + controller.abort(); + throw new AnthropicError(`Attempted to iterate over a response with no body`); + } + const sseDecoder = new SSEDecoder(); + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(response.body); + for await (const sseChunk of iterSSEChunks(iter)) { + for (const line of lineDecoder.decode(sseChunk)) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } + } + for (const line of lineDecoder.flush()) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } +} +async function* iterSSEChunks(iterator) { + let data = new Uint8Array(); + for await (const chunk of iterator) { + if (chunk == null) { + continue; + } + const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; + let newData = new Uint8Array(data.length + binaryChunk.length); + newData.set(data); + newData.set(binaryChunk, data.length); + data = newData; + let patternIndex; + while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { + yield data.slice(0, patternIndex); + data = data.slice(patternIndex); + } + } + if (data.length > 0) { + yield data; + } +} +function findDoubleNewlineIndex(buffer) { + const newline = 10; + const carriage = 13; + for (let i3 = 0; i3 < buffer.length - 2; i3++) { + if (buffer[i3] === newline && buffer[i3 + 1] === newline) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { + return i3 + 4; + } + } + return -1; +} +var SSEDecoder = class { + constructor() { + this.event = null; + this.data = []; + this.chunks = []; + } + decode(line) { + if (line.endsWith("\r")) { + line = line.substring(0, line.length - 1); + } + if (!line) { + if (!this.event && !this.data.length) + return null; + const sse = { + event: this.event, + data: this.data.join("\n"), + raw: this.chunks + }; + this.event = null; + this.data = []; + this.chunks = []; + return sse; + } + this.chunks.push(line); + if (line.startsWith(":")) { + return null; + } + let [fieldname, _3, value] = partition(line, ":"); + if (value.startsWith(" ")) { + value = value.substring(1); + } + if (fieldname === "event") { + this.event = value; + } else if (fieldname === "data") { + this.data.push(value); + } + return null; + } +}; +var LineDecoder = class { + constructor() { + this.buffer = []; + this.trailingCR = false; + } + decode(chunk) { + let text = this.decodeText(chunk); + if (this.trailingCR) { + text = "\r" + text; + this.trailingCR = false; + } + if (text.endsWith("\r")) { + this.trailingCR = true; + text = text.slice(0, -1); + } + if (!text) { + return []; + } + const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); + let lines = text.split(LineDecoder.NEWLINE_REGEXP); + if (trailingNewline) { + lines.pop(); + } + if (lines.length === 1 && !trailingNewline) { + this.buffer.push(lines[0]); + return []; + } + if (this.buffer.length > 0) { + lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; + this.buffer = []; + } + if (!trailingNewline) { + this.buffer = [lines.pop() || ""]; + } + return lines; + } + decodeText(bytes) { + if (bytes == null) + return ""; + if (typeof bytes === "string") + return bytes; + if (typeof Buffer !== "undefined") { + if (bytes instanceof Buffer) { + return bytes.toString(); + } + if (bytes instanceof Uint8Array) { + return Buffer.from(bytes).toString(); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); + } + if (typeof TextDecoder !== "undefined") { + if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { + this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); + return this.textDecoder.decode(bytes); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); + } + throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); + } + flush() { + if (!this.buffer.length && !this.trailingCR) { + return []; + } + const lines = [this.buffer.join("")]; + this.buffer = []; + this.trailingCR = false; + return lines; + } +}; +LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); +LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; +function partition(str, delimiter) { + const index = str.indexOf(delimiter); + if (index !== -1) { + return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; + } + return [str, "", ""]; +} +function readableStreamAsyncIterable(stream4) { + if (stream4[Symbol.asyncIterator]) + return stream4; + const reader = stream4.getReader(); + return { + async next() { + try { + const result = await reader.read(); + if (result?.done) + reader.releaseLock(); + return result; + } catch (e3) { + reader.releaseLock(); + throw e3; + } + }, + async return() { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + await cancelPromise; + return { done: true, value: void 0 }; + }, + [Symbol.asyncIterator]() { + return this; + } + }; +} + +// node_modules/@anthropic-ai/sdk/uploads.mjs +var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; +var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); +var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; +async function toFile(value, name, options) { + value = await value; + options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); + if (isResponseLike(value)) { + const blob = await value.blob(); + name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); + return new File([blob], name, options); + } + const bits = await getBytes(value); + name || (name = getName(value) ?? "unknown_file"); + if (!options.type) { + const type = bits[0]?.type; + if (typeof type === "string") { + options = { ...options, type }; + } + } + return new File(bits, name, options); +} +async function getBytes(value) { + let parts = []; + if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { + parts.push(value); + } else if (isBlobLike(value)) { + parts.push(await value.arrayBuffer()); + } else if (isAsyncIterableIterator(value)) { + for await (const chunk of value) { + parts.push(chunk); + } + } else { + throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); + } + return parts; +} +function propsForError(value) { + const props = Object.getOwnPropertyNames(value); + return `[${props.map((p3) => `"${p3}"`).join(", ")}]`; +} +function getName(value) { + return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); +} +var getStringFromMaybeBuffer = (x2) => { + if (typeof x2 === "string") + return x2; + if (typeof Buffer !== "undefined" && x2 instanceof Buffer) + return String(x2); + return void 0; +}; +var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; +var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; + +// node_modules/@anthropic-ai/sdk/core.mjs +var __classPrivateFieldSet5 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet6 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _AbstractPage_client; +async function defaultParseResponse(props) { + const { response } = props; + if (props.options.stream) { + debug("response", response.status, response.url, response.headers, response.body); + if (props.options.__streamClass) { + return props.options.__streamClass.fromSSEResponse(response, props.controller); + } + return Stream.fromSSEResponse(response, props.controller); + } + if (response.status === 204) { + return null; + } + if (props.options.__binaryResponse) { + return response; + } + const contentType = response.headers.get("content-type"); + const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); + if (isJSON) { + const json = await response.json(); + debug("response", response.status, response.url, response.headers, json); + return json; + } + const text = await response.text(); + debug("response", response.status, response.url, response.headers, text); + return text; +} +var APIPromise = class extends Promise { + constructor(responsePromise, parseResponse = defaultParseResponse) { + super((resolve) => { + resolve(null); + }); + this.responsePromise = responsePromise; + this.parseResponse = parseResponse; + } + _thenUnwrap(transform) { + return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); + } + asResponse() { + return this.responsePromise.then((p3) => p3.response); + } + async withResponse() { + const [data, response] = await Promise.all([this.parse(), this.asResponse()]); + return { data, response }; + } + parse() { + if (!this.parsedPromise) { + this.parsedPromise = this.responsePromise.then(this.parseResponse); + } + return this.parsedPromise; + } + then(onfulfilled, onrejected) { + return this.parse().then(onfulfilled, onrejected); + } + catch(onrejected) { + return this.parse().catch(onrejected); + } + finally(onfinally) { + return this.parse().finally(onfinally); + } +}; +var APIClient = class { + constructor({ + baseURL, + maxRetries = 2, + timeout = 6e5, + httpAgent, + fetch: overridenFetch + }) { + this.baseURL = baseURL; + this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); + this.timeout = validatePositiveInteger("timeout", timeout); + this.httpAgent = httpAgent; + this.fetch = overridenFetch ?? fetch; + } + authHeaders(opts) { + return {}; + } + defaultHeaders(opts) { + return { + Accept: "application/json", + "Content-Type": "application/json", + "User-Agent": this.getUserAgent(), + ...getPlatformHeaders(), + ...this.authHeaders(opts) + }; + } + validateHeaders(headers, customHeaders) { + } + defaultIdempotencyKey() { + return `stainless-node-retry-${uuid4()}`; + } + get(path2, opts) { + return this.methodRequest("get", path2, opts); + } + post(path2, opts) { + return this.methodRequest("post", path2, opts); + } + patch(path2, opts) { + return this.methodRequest("patch", path2, opts); + } + put(path2, opts) { + return this.methodRequest("put", path2, opts); + } + delete(path2, opts) { + return this.methodRequest("delete", path2, opts); + } + methodRequest(method, path2, opts) { + return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path2, ...opts2 }))); + } + getAPIList(path2, Page, opts) { + return this.requestAPIList(Page, { method: "get", path: path2, ...opts }); + } + calculateContentLength(body) { + if (typeof body === "string") { + if (typeof Buffer !== "undefined") { + return Buffer.byteLength(body, "utf8").toString(); + } + if (typeof TextEncoder !== "undefined") { + const encoder = new TextEncoder(); + const encoded = encoder.encode(body); + return encoded.length.toString(); + } + } + return null; + } + buildRequest(options) { + const { method, path: path2, query, headers = {} } = options; + const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; + const contentLength = this.calculateContentLength(body); + const url2 = this.buildURL(path2, query); + if ("timeout" in options) + validatePositiveInteger("timeout", options.timeout); + const timeout = options.timeout ?? this.timeout; + const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); + const minAgentTimeout = timeout + 1e3; + if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { + httpAgent.options.timeout = minAgentTimeout; + } + if (this.idempotencyHeader && method !== "get") { + if (!options.idempotencyKey) + options.idempotencyKey = this.defaultIdempotencyKey(); + headers[this.idempotencyHeader] = options.idempotencyKey; + } + const reqHeaders = this.buildHeaders({ options, headers, contentLength }); + const req = { + method, + ...body && { body }, + headers: reqHeaders, + ...httpAgent && { agent: httpAgent }, + signal: options.signal ?? null + }; + return { req, url: url2, timeout }; + } + buildHeaders({ options, headers, contentLength }) { + const reqHeaders = {}; + if (contentLength) { + reqHeaders["content-length"] = contentLength; + } + const defaultHeaders = this.defaultHeaders(options); + applyHeadersMut(reqHeaders, defaultHeaders); + applyHeadersMut(reqHeaders, headers); + if (isMultipartBody(options.body) && kind !== "node") { + delete reqHeaders["content-type"]; + } + this.validateHeaders(reqHeaders, headers); + return reqHeaders; + } + async prepareOptions(options) { + } + async prepareRequest(request, { url: url2, options }) { + } + parseHeaders(headers) { + return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; + } + makeStatusError(status, error, message, headers) { + return APIError.generate(status, error, message, headers); + } + request(options, remainingRetries = null) { + return new APIPromise(this.makeRequest(options, remainingRetries)); + } + async makeRequest(optionsInput, retriesRemaining) { + const options = await optionsInput; + if (retriesRemaining == null) { + retriesRemaining = options.maxRetries ?? this.maxRetries; + } + await this.prepareOptions(options); + const { req, url: url2, timeout } = this.buildRequest(options); + await this.prepareRequest(req, { url: url2, options }); + debug("request", url2, options, req.headers); + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + const controller = new AbortController(); + const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); + if (response instanceof Error) { + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + if (retriesRemaining) { + return this.retryRequest(options, retriesRemaining); + } + if (response.name === "AbortError") { + throw new APIConnectionTimeoutError(); + } + throw new APIConnectionError({ cause: response }); + } + const responseHeaders = createResponseHeaders(response.headers); + if (!response.ok) { + if (retriesRemaining && this.shouldRetry(response)) { + const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; + debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); + return this.retryRequest(options, retriesRemaining, responseHeaders); + } + const errText = await response.text().catch((e3) => castToError(e3).message); + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; + debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); + const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); + throw err; + } + return { response, options, controller }; + } + requestAPIList(Page, options) { + const request = this.makeRequest(options, null); + return new PagePromise(this, request, Page); + } + buildURL(path2, query) { + const url2 = isAbsoluteURL2(path2) ? new URL(path2) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path2.startsWith("/") ? path2.slice(1) : path2)); + const defaultQuery = this.defaultQuery(); + if (!isEmptyObj(defaultQuery)) { + query = { ...defaultQuery, ...query }; + } + if (typeof query === "object" && query && !Array.isArray(query)) { + url2.search = this.stringifyQuery(query); + } + return url2.toString(); + } + stringifyQuery(query) { + return Object.entries(query).filter(([_3, value]) => typeof value !== "undefined").map(([key, value]) => { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + if (value === null) { + return `${encodeURIComponent(key)}=`; + } + throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); + }).join("&"); + } + async fetchWithTimeout(url2, init, ms, controller) { + const { signal, ...options } = init || {}; + if (signal) + signal.addEventListener("abort", () => controller.abort()); + const timeout = setTimeout(() => controller.abort(), ms); + return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { + clearTimeout(timeout); + }); + } + getRequestClient() { + return { fetch: this.fetch }; + } + shouldRetry(response) { + const shouldRetryHeader = response.headers.get("x-should-retry"); + if (shouldRetryHeader === "true") + return true; + if (shouldRetryHeader === "false") + return false; + if (response.status === 408) + return true; + if (response.status === 409) + return true; + if (response.status === 429) + return true; + if (response.status >= 500) + return true; + return false; + } + async retryRequest(options, retriesRemaining, responseHeaders) { + let timeoutMillis; + const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; + if (retryAfterMillisHeader) { + const timeoutMs = parseFloat(retryAfterMillisHeader); + if (!Number.isNaN(timeoutMs)) { + timeoutMillis = timeoutMs; + } + } + const retryAfterHeader = responseHeaders?.["retry-after"]; + if (retryAfterHeader && !timeoutMillis) { + const timeoutSeconds = parseFloat(retryAfterHeader); + if (!Number.isNaN(timeoutSeconds)) { + timeoutMillis = timeoutSeconds * 1e3; + } else { + timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); + } + } + if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { + const maxRetries = options.maxRetries ?? this.maxRetries; + timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); + } + await sleep(timeoutMillis); + return this.makeRequest(options, retriesRemaining - 1); + } + calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { + const initialRetryDelay = 0.5; + const maxRetryDelay = 8; + const numRetries = maxRetries - retriesRemaining; + const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); + const jitter = 1 - Math.random() * 0.25; + return sleepSeconds * jitter * 1e3; + } + getUserAgent() { + return `${this.constructor.name}/JS ${VERSION3}`; + } +}; +var AbstractPage = class { + constructor(client, response, body, options) { + _AbstractPage_client.set(this, void 0); + __classPrivateFieldSet5(this, _AbstractPage_client, client, "f"); + this.options = options; + this.response = response; + this.body = body; + } + hasNextPage() { + const items = this.getPaginatedItems(); + if (!items.length) + return false; + return this.nextPageInfo() != null; + } + async getNextPage() { + const nextInfo = this.nextPageInfo(); + if (!nextInfo) { + throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); + } + const nextOptions = { ...this.options }; + if ("params" in nextInfo && typeof nextOptions.query === "object") { + nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; + } else if ("url" in nextInfo) { + const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; + for (const [key, value] of params) { + nextInfo.url.searchParams.set(key, value); + } + nextOptions.query = void 0; + nextOptions.path = nextInfo.url.toString(); + } + return await __classPrivateFieldGet6(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); + } + async *iterPages() { + let page = this; + yield page; + while (page.hasNextPage()) { + page = await page.getNextPage(); + yield page; + } + } + async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { + for await (const page of this.iterPages()) { + for (const item of page.getPaginatedItems()) { + yield item; + } + } + } +}; +var PagePromise = class extends APIPromise { + constructor(client, request, Page) { + super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); + } + async *[Symbol.asyncIterator]() { + const page = await this; + for await (const item of page) { + yield item; + } + } +}; +var createResponseHeaders = (headers) => { + return new Proxy(Object.fromEntries( + headers.entries() + ), { + get(target, name) { + const key = name.toString(); + return target[key.toLowerCase()] || target[key]; + } + }); +}; +var getPlatformProperties = () => { + if (typeof Deno !== "undefined" && Deno.build != null) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(Deno.build.os), + "X-Stainless-Arch": normalizeArch(Deno.build.arch), + "X-Stainless-Runtime": "deno", + "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" + }; + } + if (typeof EdgeRuntime !== "undefined") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": `other:${EdgeRuntime}`, + "X-Stainless-Runtime": "edge", + "X-Stainless-Runtime-Version": process.version + }; + } + if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(process.platform), + "X-Stainless-Arch": normalizeArch(process.arch), + "X-Stainless-Runtime": "node", + "X-Stainless-Runtime-Version": process.version + }; + } + const browserInfo = getBrowserInfo(); + if (browserInfo) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": `browser:${browserInfo.browser}`, + "X-Stainless-Runtime-Version": browserInfo.version + }; + } + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": "unknown", + "X-Stainless-Runtime-Version": "unknown" + }; +}; +function getBrowserInfo() { + if (typeof navigator === "undefined" || !navigator) { + return null; + } + const browserPatterns = [ + { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } + ]; + for (const { key, pattern } of browserPatterns) { + const match = pattern.exec(navigator.userAgent); + if (match) { + const major = match[1] || 0; + const minor = match[2] || 0; + const patch = match[3] || 0; + return { browser: key, version: `${major}.${minor}.${patch}` }; + } + } + return null; +} +var normalizeArch = (arch) => { + if (arch === "x32") + return "x32"; + if (arch === "x86_64" || arch === "x64") + return "x64"; + if (arch === "arm") + return "arm"; + if (arch === "aarch64" || arch === "arm64") + return "arm64"; + if (arch) + return `other:${arch}`; + return "unknown"; +}; +var normalizePlatform = (platform) => { + platform = platform.toLowerCase(); + if (platform.includes("ios")) + return "iOS"; + if (platform === "android") + return "Android"; + if (platform === "darwin") + return "MacOS"; + if (platform === "win32") + return "Windows"; + if (platform === "freebsd") + return "FreeBSD"; + if (platform === "openbsd") + return "OpenBSD"; + if (platform === "linux") + return "Linux"; + if (platform) + return `Other:${platform}`; + return "Unknown"; +}; +var _platformHeaders; +var getPlatformHeaders = () => { + return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); +}; +var safeJSON = (text) => { + try { + return JSON.parse(text); + } catch (err) { + return void 0; + } +}; +var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); +var isAbsoluteURL2 = (url2) => { + return startsWithSchemeRegexp.test(url2); +}; +var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +var validatePositiveInteger = (name, n2) => { + if (typeof n2 !== "number" || !Number.isInteger(n2)) { + throw new AnthropicError(`${name} must be an integer`); + } + if (n2 < 0) { + throw new AnthropicError(`${name} must be a positive integer`); + } + return n2; +}; +var castToError = (err) => { + if (err instanceof Error) + return err; + return new Error(err); +}; +var readEnv = (env2) => { + if (typeof process !== "undefined") { + return process.env?.[env2]?.trim() ?? void 0; + } + if (typeof Deno !== "undefined") { + return Deno.env?.get?.(env2)?.trim(); + } + return void 0; +}; +function isEmptyObj(obj) { + if (!obj) + return true; + for (const _k in obj) + return false; + return true; +} +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} +function applyHeadersMut(targetHeaders, newHeaders) { + for (const k4 in newHeaders) { + if (!hasOwn(newHeaders, k4)) + continue; + const lowerKey = k4.toLowerCase(); + if (!lowerKey) + continue; + const val = newHeaders[k4]; + if (val === null) { + delete targetHeaders[lowerKey]; + } else if (val !== void 0) { + targetHeaders[lowerKey] = val; + } + } +} +function debug(action, ...args) { + if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { + console.log(`Anthropic:DEBUG:${action}`, ...args); + } +} +var uuid4 = () => { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c2) => { + const r3 = Math.random() * 16 | 0; + const v2 = c2 === "x" ? r3 : r3 & 3 | 8; + return v2.toString(16); + }); +}; + +// node_modules/@anthropic-ai/sdk/resource.mjs +var APIResource = class { + constructor(client) { + this._client = client; + } +}; + +// node_modules/@anthropic-ai/sdk/resources/completions.mjs +var Completions = class extends APIResource { + create(body, options) { + return this._client.post("/v1/complete", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } +}; +(function(Completions2) { +})(Completions || (Completions = {})); + +// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +var __classPrivateFieldSet6 = function(receiver, state, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; +}; +var __classPrivateFieldGet7 = function(receiver, state, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); +}; +var _MessageStream_instances; +var _MessageStream_currentMessageSnapshot; +var _MessageStream_connectedPromise; +var _MessageStream_resolveConnectedPromise; +var _MessageStream_rejectConnectedPromise; +var _MessageStream_endPromise; +var _MessageStream_resolveEndPromise; +var _MessageStream_rejectEndPromise; +var _MessageStream_listeners; +var _MessageStream_ended; +var _MessageStream_errored; +var _MessageStream_aborted; +var _MessageStream_catchingPromiseCreated; +var _MessageStream_getFinalMessage; +var _MessageStream_getFinalText; +var _MessageStream_handleError; +var _MessageStream_beginRequest; +var _MessageStream_addStreamEvent; +var _MessageStream_endRequest; +var _MessageStream_accumulateMessage; +var MessageStream = class { + constructor() { + _MessageStream_instances.add(this); + this.messages = []; + this.receivedMessages = []; + _MessageStream_currentMessageSnapshot.set(this, void 0); + this.controller = new AbortController(); + _MessageStream_connectedPromise.set(this, void 0); + _MessageStream_resolveConnectedPromise.set(this, () => { + }); + _MessageStream_rejectConnectedPromise.set(this, () => { + }); + _MessageStream_endPromise.set(this, void 0); + _MessageStream_resolveEndPromise.set(this, () => { + }); + _MessageStream_rejectEndPromise.set(this, () => { + }); + _MessageStream_listeners.set(this, {}); + _MessageStream_ended.set(this, false); + _MessageStream_errored.set(this, false); + _MessageStream_aborted.set(this, false); + _MessageStream_catchingPromiseCreated.set(this, false); + _MessageStream_handleError.set(this, (error) => { + __classPrivateFieldSet6(this, _MessageStream_errored, true, "f"); + if (error instanceof Error && error.name === "AbortError") { + error = new APIUserAbortError(); + } + if (error instanceof APIUserAbortError) { + __classPrivateFieldSet6(this, _MessageStream_aborted, true, "f"); + return this._emit("abort", error); + } + if (error instanceof AnthropicError) { + return this._emit("error", error); + } + if (error instanceof Error) { + const anthropicError = new AnthropicError(error.message); + anthropicError.cause = error; + return this._emit("error", anthropicError); + } + return this._emit("error", new AnthropicError(String(error))); + }); + __classPrivateFieldSet6(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_resolveConnectedPromise, resolve, "f"); + __classPrivateFieldSet6(this, _MessageStream_rejectConnectedPromise, reject, "f"); + }), "f"); + __classPrivateFieldSet6(this, _MessageStream_endPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_resolveEndPromise, resolve, "f"); + __classPrivateFieldSet6(this, _MessageStream_rejectEndPromise, reject, "f"); + }), "f"); + __classPrivateFieldGet7(this, _MessageStream_connectedPromise, "f").catch(() => { + }); + __classPrivateFieldGet7(this, _MessageStream_endPromise, "f").catch(() => { + }); + } + static fromReadableStream(stream4) { + const runner = new MessageStream(); + runner._run(() => runner._fromReadableStream(stream4)); + return runner; + } + static createMessage(messages, params, options) { + const runner = new MessageStream(); + for (const message of params.messages) { + runner._addMessageParam(message); + } + runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); + return runner; + } + _run(executor) { + executor().then(() => { + this._emitFinal(); + this._emit("end"); + }, __classPrivateFieldGet7(this, _MessageStream_handleError, "f")); + } + _addMessageParam(message) { + this.messages.push(message); + } + _addMessage(message, emit = true) { + this.receivedMessages.push(message); + if (emit) { + this._emit("message", message); + } + } + async _createMessage(messages, params, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); + this._connected(); + for await (const event of stream4) { + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + _connected() { + if (this.ended) + return; + __classPrivateFieldGet7(this, _MessageStream_resolveConnectedPromise, "f").call(this); + this._emit("connect"); + } + get ended() { + return __classPrivateFieldGet7(this, _MessageStream_ended, "f"); + } + get errored() { + return __classPrivateFieldGet7(this, _MessageStream_errored, "f"); + } + get aborted() { + return __classPrivateFieldGet7(this, _MessageStream_aborted, "f"); + } + abort() { + this.controller.abort(); + } + on(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener }); + return this; + } + off(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; + if (!listeners) + return this; + const index = listeners.findIndex((l3) => l3.listener === listener); + if (index >= 0) + listeners.splice(index, 1); + return this; + } + once(event, listener) { + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener, once: true }); + return this; + } + emitted(event) { + return new Promise((resolve, reject) => { + __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); + if (event !== "error") + this.once("error", reject); + this.once(event, resolve); + }); + } + async done() { + __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); + await __classPrivateFieldGet7(this, _MessageStream_endPromise, "f"); + } + get currentMessage() { + return __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + } + async finalMessage() { + await this.done(); + return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); + } + async finalText() { + await this.done(); + return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); + } + _emit(event, ...args) { + if (__classPrivateFieldGet7(this, _MessageStream_ended, "f")) + return; + if (event === "end") { + __classPrivateFieldSet6(this, _MessageStream_ended, true, "f"); + __classPrivateFieldGet7(this, _MessageStream_resolveEndPromise, "f").call(this); + } + const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; + if (listeners) { + __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); + listeners.forEach(({ listener }) => listener(...args)); + } + if (event === "abort") { + const error = args[0]; + if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + return; + } + if (event === "error") { + const error = args[0]; + if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + } + } + _emitFinal() { + const finalMessage = this.receivedMessages.at(-1); + if (finalMessage) { + this._emit("finalMessage", __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); + } + } + async _fromReadableStream(readableStream, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + this._connected(); + const stream4 = Stream.fromReadableStream(readableStream, this.controller); + for await (const event of stream4) { + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + return this.receivedMessages.at(-1); + }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); + if (textBlocks.length === 0) { + throw new AnthropicError("stream ended without producing a content block with type=text"); + } + return textBlocks.join(" "); + }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { + if (this.ended) + return; + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { + if (this.ended) + return; + const messageSnapshot = __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); + this._emit("streamEvent", event, messageSnapshot); + switch (event.type) { + case "content_block_delta": { + if (event.delta.type === "text_delta") { + this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); + } + break; + } + case "message_stop": { + this._addMessageParam(messageSnapshot); + this._addMessage(messageSnapshot, true); + break; + } + case "content_block_stop": { + this._emit("contentBlock", messageSnapshot.content.at(-1)); + break; + } + case "message_start": { + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); + break; + } + case "content_block_start": + case "message_delta": + break; + } + }, _MessageStream_endRequest = function _MessageStream_endRequest2() { + if (this.ended) { + throw new AnthropicError(`stream has ended, this shouldn't happen`); + } + const snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + if (!snapshot) { + throw new AnthropicError(`request ended without sending any chunks`); + } + __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + return snapshot; + }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { + let snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); + if (event.type === "message_start") { + if (snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); + } + return event.message; + } + if (!snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); + } + switch (event.type) { + case "message_stop": + return snapshot; + case "message_delta": + snapshot.stop_reason = event.delta.stop_reason; + snapshot.stop_sequence = event.delta.stop_sequence; + snapshot.usage.output_tokens = event.usage.output_tokens; + return snapshot; + case "content_block_start": + snapshot.content.push(event.content_block); + return snapshot; + case "content_block_delta": { + const snapshotContent = snapshot.content.at(event.index); + if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { + snapshotContent.text += event.delta.text; + } + return snapshot; + } + case "content_block_stop": + return snapshot; + } + }, Symbol.asyncIterator)]() { + const pushQueue = []; + const readQueue = []; + let done = false; + this.on("streamEvent", (event) => { + const reader = readQueue.shift(); + if (reader) { + reader.resolve(event); + } else { + pushQueue.push(event); + } + }); + this.on("end", () => { + done = true; + for (const reader of readQueue) { + reader.resolve(void 0); + } + readQueue.length = 0; + }); + this.on("abort", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + this.on("error", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + return { + next: async () => { + if (!pushQueue.length) { + if (done) { + return { value: void 0, done: true }; + } + return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); + } + const chunk = pushQueue.shift(); + return { value: chunk, done: false }; + }, + return: async () => { + this.abort(); + return { value: void 0, done: true }; + } + }; + } + toReadableStream() { + const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); + return stream4.toReadableStream(); + } +}; + +// node_modules/@anthropic-ai/sdk/resources/messages.mjs +var Messages = class extends APIResource { + create(body, options) { + return this._client.post("/v1/messages", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } + stream(body, options) { + return MessageStream.createMessage(this, body, options); + } +}; +(function(Messages2) { +})(Messages || (Messages = {})); + +// node_modules/@anthropic-ai/sdk/index.mjs +var _a; +var Anthropic = class extends APIClient { + constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey3 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { + const options = { + apiKey: apiKey3, + authToken, + ...opts, + baseURL: baseURL || `https://api.anthropic.com` + }; + super({ + baseURL: options.baseURL, + timeout: options.timeout ?? 6e5, + httpAgent: options.httpAgent, + maxRetries: options.maxRetries, + fetch: options.fetch + }); + this.completions = new Completions(this); + this.messages = new Messages(this); + this._options = options; + this.apiKey = apiKey3; + this.authToken = authToken; + } + defaultQuery() { + return this._options.defaultQuery; + } + defaultHeaders(opts) { + return { + ...super.defaultHeaders(opts), + "anthropic-version": "2023-06-01", + ...this._options.defaultHeaders + }; + } + validateHeaders(headers, customHeaders) { + if (this.apiKey && headers["x-api-key"]) { + return; + } + if (customHeaders["x-api-key"] === null) { + return; + } + if (this.authToken && headers["authorization"]) { + return; + } + if (customHeaders["authorization"] === null) { + return; + } + throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); + } + authHeaders(opts) { + const apiKeyAuth = this.apiKeyAuth(opts); + const bearerAuth = this.bearerAuth(opts); + if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { + return apiKeyAuth; + } + if (bearerAuth != null && !isEmptyObj(bearerAuth)) { + return bearerAuth; + } + return {}; + } + apiKeyAuth(opts) { + if (this.apiKey == null) { + return {}; + } + return { "X-Api-Key": this.apiKey }; + } + bearerAuth(opts) { + if (this.authToken == null) { + return {}; + } + return { Authorization: `Bearer ${this.authToken}` }; + } +}; +_a = Anthropic; +Anthropic.Anthropic = _a; +Anthropic.HUMAN_PROMPT = "\n\nHuman:"; +Anthropic.AI_PROMPT = "\n\nAssistant:"; +Anthropic.AnthropicError = AnthropicError; +Anthropic.APIError = APIError; +Anthropic.APIConnectionError = APIConnectionError; +Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; +Anthropic.APIUserAbortError = APIUserAbortError; +Anthropic.NotFoundError = NotFoundError; +Anthropic.ConflictError = ConflictError; +Anthropic.RateLimitError = RateLimitError; +Anthropic.BadRequestError = BadRequestError; +Anthropic.AuthenticationError = AuthenticationError; +Anthropic.InternalServerError = InternalServerError; +Anthropic.PermissionDeniedError = PermissionDeniedError; +Anthropic.UnprocessableEntityError = UnprocessableEntityError; +var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; +var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; +(function(Anthropic2) { + Anthropic2.toFile = toFile; + Anthropic2.fileFromPath = fileFromPath; + Anthropic2.Completions = Completions; + Anthropic2.Messages = Messages; +})(Anthropic || (Anthropic = {})); +var sdk_default = Anthropic; + +// src/engine/anthropic.ts +var config4 = getConfig(); +var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var provider2 = config4?.OCO_AI_PROVIDER; +var apiKey2 = config4?.OCO_ANTHROPIC_API_KEY; +var [command2, mode2] = process.argv.slice(2); +if (provider2 === "anthropic" && !apiKey2 && command2 !== "config" && mode2 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY= . If you are using Claude, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL2 = config4?.OCO_MODEL; +if (provider2 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL2) && command2 !== "config" && mode2 !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL2} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( + ", " + )}` + ); + process.exit(1); +} +var AnthropicAi = class { + anthropicAiApiConfiguration = { + apiKey: apiKey2 + }; + anthropicAI; + constructor() { + this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); + } + generateCommitMessage = async (messages) => { + const systemMessage = messages.find((msg) => msg.role === "system")?.content; + const restMessages = messages.filter((msg) => msg.role !== "system"); + const params = { + model: MODEL2, + system: systemMessage, + messages: restMessages, + temperature: 0, + top_p: 0.1, + max_tokens: MAX_TOKENS_OUTPUT2 + }; + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.anthropicAI.messages.create(params); + const message = data?.content[0].text; + return message; + } catch (error) { + ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const anthropicAiError = error.response.data.error; + if (anthropicAiError?.message) + ce(anthropicAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var anthropicAi = new AnthropicAi(); + // src/engine/testAi.ts var TestAi = class { async generateCommitMessage(messages) { @@ -27545,18 +53959,20 @@ var testAi = new TestAi(); // src/utils/engine.ts function getEngine() { - const config7 = getConfig(); - if (config7?.OCO_AI_PROVIDER == "ollama") { + const config8 = getConfig(); + if (config8?.OCO_AI_PROVIDER == "ollama") { return ollamaAi; - } else if (config7?.OCO_AI_PROVIDER == "test") { + } else if (config8?.OCO_AI_PROVIDER == "anthropic") { + return anthropicAi; + } else if (config8?.OCO_AI_PROVIDER == "test") { return testAi; } return api; } // src/modules/commitlint/config.ts -var config4 = getConfig(); -var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; +var config5 = getConfig(); +var translation2 = i18n[config5?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -27600,15 +54016,15 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config5 = getConfig(); -var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config6 = getConfig(); +var translation3 = i18n[config6?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config6?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config6?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config6?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { @@ -27640,12 +54056,12 @@ var INIT_DIFF_PROMPT = { }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + content: `${config6?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config6?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config6?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config5?.OCO_PROMPT_MODULE) { + switch (config6?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -27690,9 +54106,9 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config6 = getConfig(); -var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config7 = getConfig(); +var MAX_TOKENS_INPUT3 = config7?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT3 = config7?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; @@ -27715,8 +54131,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a2, b2) => a2 + b2, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; + ).reduce((a3, b3) => a3 + b3, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT3 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT3; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -27829,12 +54245,12 @@ function randomIntFromInterval(min, max) { } // src/utils/sleep.ts -function sleep(ms) { +function sleep2(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // src/github-action.ts -var GITHUB_TOKEN = import_core3.default.getInput("GITHUB_TOKEN"); +var GITHUB_TOKEN = import_core5.default.getInput("GITHUB_TOKEN"); var octokit = import_github.default.getOctokit(GITHUB_TOKEN); var context = import_github.default.context; var owner = context.repo.owner; @@ -27865,9 +54281,9 @@ async function improveMessagesInChunks(diffsAndSHAs) { try { const chunkOfImprovedMessages = await Promise.all(chunkOfPromises); const chunkOfImprovedMessagesBySha = chunkOfImprovedMessages.map( - (improvedMsg, i2) => { + (improvedMsg, i3) => { const index = improvedMessagesAndSHAs.length; - const sha = diffsAndSHAs[index + i2].sha; + const sha = diffsAndSHAs[index + i3].sha; return { sha, msg: improvedMsg }; } ); @@ -27876,12 +54292,12 @@ async function improveMessagesInChunks(diffsAndSHAs) { ce( `Improved ${chunkOfPromises.length} messages. Sleeping for ${sleepFor}` ); - await sleep(sleepFor); + await sleep2(sleepFor); } catch (error) { ce(error); const sleepFor = 6e4 + 1e3 * randomIntFromInterval(1, 5); ce(`Retrying after sleeping for ${sleepFor}`); - await sleep(sleepFor); + await sleep2(sleepFor); step -= chunkSize; } } @@ -27918,12 +54334,12 @@ async function improveCommitMessages(commitsToImprove) { console.log("No changes in commit messages detected, skipping rebase"); return; } - const createCommitMessageFile = (message, index) => (0, import_fs2.writeFileSync)(`./commit-${index}.txt`, message); + const createCommitMessageFile = (message, index) => (0, import_fs3.writeFileSync)(`./commit-${index}.txt`, message); improvedMessagesWithSHAs.forEach( - ({ msg }, i2) => createCommitMessageFile(msg, i2) + ({ msg }, i3) => createCommitMessageFile(msg, i3) ); - (0, import_fs2.writeFileSync)(`./count.txt`, "0"); - (0, import_fs2.writeFileSync)( + (0, import_fs3.writeFileSync)(`./count.txt`, "0"); + (0, import_fs3.writeFileSync)( "./rebase-exec.sh", `#!/bin/bash count=$(cat count.txt) @@ -27942,10 +54358,10 @@ async function improveCommitMessages(commitsToImprove) { } } ); - const deleteCommitMessageFile = (index) => (0, import_fs2.unlinkSync)(`./commit-${index}.txt`); - commitsToImprove.forEach((_commit, i2) => deleteCommitMessageFile(i2)); - (0, import_fs2.unlinkSync)("./count.txt"); - (0, import_fs2.unlinkSync)("./rebase-exec.sh"); + const deleteCommitMessageFile = (index) => (0, import_fs3.unlinkSync)(`./commit-${index}.txt`); + commitsToImprove.forEach((_commit, i3) => deleteCommitMessageFile(i3)); + (0, import_fs3.unlinkSync)("./count.txt"); + (0, import_fs3.unlinkSync)("./rebase-exec.sh"); ce("Force pushing non-interactively rebased commits into remote."); await import_exec.default.exec("git", ["status"]); await import_exec.default.exec("git", ["push", `--force`]); @@ -27966,16 +54382,21 @@ async function run() { await improveCommitMessages(commits); } else { ce("Wrong action."); - import_core3.default.error( + import_core5.default.error( `OpenCommit was called on ${import_github.default.context.payload.action}. OpenCommit is supposed to be used on "push" action.` ); } } catch (error) { const err = error?.message || error; - import_core3.default.setFailed(err); + import_core5.default.setFailed(err); } } run(); +/*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse + * MIT Licensed + */ /*! * is-plain-object * @@ -27994,3 +54415,21 @@ run(); * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ +/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting & David Frank */ +/*! formdata-polyfill. MIT License. Jimmy WΓ€rting */ +/*! node-domexception. MIT License. Jimmy WΓ€rting */ +/*! ws. MIT License. Einar Otto Stangvik */ +/** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ +/** + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ diff --git a/out/tiktoken_bg.wasm b/out/tiktoken_bg.wasm index 3eab768b15e53379aa9a765e5bc1ebb8741ef9e2..23afb47991e0fc21be9a71896c3a1f27b5c3ddfe 100644 GIT binary patch literal 1098236 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

$ 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 z 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

Mg`ri;=0I0zNRh&5r`qP);_>Ce;^_Cv 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

lJUk4Oe17%H3c^A;0ip5p0buE><eR<HXodr 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 b-CZPsASK>RUH(vy+r@vk^z%+{zrX80HE*Jh literal 794184 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 diff --git a/package-lock.json b/package-lock.json index 28c4112..fd70713 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "opencommit", - "version": "3.0.12", + "version": "3.0.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencommit", - "version": "3.0.12", + "version": "3.0.13", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", "@octokit/webhooks-schemas": "^6.11.0", @@ -50,10 +51,19 @@ "typescript": "^4.9.3" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", + "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -78,77 +88,13 @@ "@octokit/plugin-rest-endpoint-methods": "^5.13.0" } }, - "node_modules/@actions/github/node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@actions/github/node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, "node_modules/@actions/http-client": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", - "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz", + "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", "dependencies": { - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "undici": "^5.25.4" } }, "node_modules/@actions/io": { @@ -157,24 +103,47 @@ "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.19.2.tgz", + "integrity": "sha512-lsMl7IOFpFCZKUbNdLR0bYN8bevAmvw1Ak79Pp9RIFMwU6nMsMiWWhuBqccK8wi25h6skWE/lY/c0x29rEJFMw==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@anthropic-ai/sdk/node_modules/@types/node": { + "version": "18.19.28", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.28.tgz", + "integrity": "sha512-J5cOGD9n4x3YGgVuaND6khm5x07MMdAKkRyXnjVR6KFhLMNh2yONGiP7Z+4+tBOt5mK+GvDTiacTOVGGpqiecw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@babel/code-frame": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.1.tgz", - "integrity": "sha512-bC49z4spJQR3j8vFtJBLqzyzFV0ciuL5HYX7qfSl3KEqeMVV+eTquRvmXxpvB0AMubRrvv7y5DILiLLPi57Ewg==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.24.1", + "@babel/highlight": "^7.24.2", "picocolors": "^1.0.0" }, "engines": { @@ -191,13 +160,13 @@ } }, "node_modules/@babel/core": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.1.tgz", - "integrity": "sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.1", + "@babel/code-frame": "^7.24.2", "@babel/generator": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", @@ -244,16 +213,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@babel/helper-compilation-targets": { "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", @@ -270,15 +229,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -288,12 +238,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", @@ -329,9 +273,9 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.1.tgz", - "integrity": "sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, "dependencies": { "@babel/types": "^7.24.0" @@ -434,9 +378,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.1.tgz", - "integrity": "sha512-EPmDPxidWe/Ex+HTFINpvXdPHRmgSF3T8hGvzondYjmgzTQ/0EbLpSxyt+w3zzlYSk9cNBQNF9k0dT5Z2NiBjw==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -474,21 +418,6 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -784,9 +713,9 @@ "dev": true }, "node_modules/@clack/core": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.2.tgz", - "integrity": "sha512-FZnsNynwGDIDktx6PEZK1EuCkFpY4ldEX6VYvfl0dqeoLPb9Jpw1xoUXaVcGR8ExmYNm1w2vdGdJkEUYD/2pqg==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.4.tgz", + "integrity": "sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==", "dependencies": { "picocolors": "^1.0.0", "sisteransi": "^1.0.5" @@ -818,9 +747,9 @@ } }, "node_modules/@commitlint/types": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", - "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", + "version": "17.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.8.1.tgz", + "integrity": "sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -860,6 +789,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@commitlint/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@commitlint/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -872,10 +819,20 @@ "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@dqbd/tiktoken": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@dqbd/tiktoken/-/tiktoken-1.0.6.tgz", - "integrity": "sha512-umSdeZTy/SbPPKVuZKV/XKyFPmXSN145CcM3iHjBbmhlohBJg7vaDp4cPCW+xNlWL6L2U1sp7T2BD+di2sUKdA==" + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@dqbd/tiktoken/-/tiktoken-1.0.13.tgz", + "integrity": "sha512-941kjlHjfI97l6NuH/AwuXV4mHuVnRooDcHNSlzi98hz+4ug3wT4gJcWjSwSZHqeGAEn90lC9sFD+8a9d5Jvxg==" }, "node_modules/@esbuild/android-arm": { "version": "0.15.18", @@ -909,15 +866,39 @@ "node": ">=12" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", - "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -933,22 +914,30 @@ } }, "node_modules/@eslint/js": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", - "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -969,9 +958,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { @@ -1130,6 +1119,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/core": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", @@ -1177,21 +1184,6 @@ } } }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1223,18 +1215,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/core/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=7.0.0" } }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -1350,16 +1348,6 @@ } } }, - "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1391,6 +1379,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -1417,16 +1423,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@jest/test-result": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", @@ -1483,16 +1479,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1524,6 +1510,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/types": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", @@ -1572,6 +1576,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -1585,19 +1607,10 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } @@ -1616,12 +1629,23 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@ljharb/through": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/@nodelib/fs.scandir": { @@ -1660,121 +1684,45 @@ } }, "node_modules/@octokit/auth-token": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", - "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", - "peer": true, + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dependencies": { - "@octokit/types": "^9.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/auth-token/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" + "@octokit/types": "^6.0.3" } }, "node_modules/@octokit/core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", - "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", - "peer": true, + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" } }, "node_modules/@octokit/endpoint": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", - "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", - "peer": true, + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dependencies": { - "@octokit/types": "^9.0.0", + "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" } }, "node_modules/@octokit/graphql": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", - "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", - "peer": true, + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/graphql/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" } }, "node_modules/@octokit/openapi-types": { @@ -1806,64 +1754,26 @@ } }, "node_modules/@octokit/request": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", - "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", - "peer": true, + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" } }, "node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "peer": true, + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dependencies": { - "@octokit/types": "^9.0.0", + "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" - } - }, - "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.1.2.tgz", - "integrity": "sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==", - "peer": true - }, - "node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz", - "integrity": "sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==", - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^17.1.2" } }, "node_modules/@octokit/types": { @@ -1909,9 +1819,9 @@ } }, "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true }, "node_modules/@tsconfig/node12": { @@ -1927,9 +1837,9 @@ "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, "node_modules/@types/babel__core": { @@ -1974,9 +1884,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", - "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "peer": true }, "node_modules/@types/graceful-fs": { @@ -1989,15 +1899,15 @@ } }, "node_modules/@types/ini": { - "version": "1.3.31", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.31.tgz", - "integrity": "sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w==", + "version": "1.3.34", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.34.tgz", + "integrity": "sha512-FafeLhwmWucTi31ZYg/6aHBZNyrogQ35aDvSW7zMAz3HMhUqQ4G/NBya8c5pe2jwoYsDFwra8O9/yZotong76g==", "dev": true }, "node_modules/@types/inquirer": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.3.tgz", - "integrity": "sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.7.tgz", + "integrity": "sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==", "dev": true, "dependencies": { "@types/through": "*", @@ -2039,21 +1949,29 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/node": { - "version": "16.18.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz", - "integrity": "sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw==", - "dev": true + "version": "16.18.93", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.93.tgz", + "integrity": "sha512-epWuohp6c0bQt0j3RYCiP9x52axHVn+CjS1Rx1VjPwF+ySg8lrigH3yXGs88XqnA+jGM2qnSMuFTsBxft+hO1Q==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@types/stack-utils": { @@ -2063,9 +1981,9 @@ "dev": true }, "node_modules/@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -2087,19 +2005,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.1.tgz", - "integrity": "sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/type-utils": "5.54.1", - "@typescript-eslint/utils": "5.54.1", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" }, @@ -2121,14 +2039,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.1.tgz", - "integrity": "sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/typescript-estree": "5.54.1", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { @@ -2148,13 +2066,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz", - "integrity": "sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/visitor-keys": "5.54.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2165,13 +2083,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.1.tgz", - "integrity": "sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.54.1", - "@typescript-eslint/utils": "5.54.1", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2192,9 +2110,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.1.tgz", - "integrity": "sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2205,13 +2123,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz", - "integrity": "sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/visitor-keys": "5.54.1", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2232,18 +2150,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.1.tgz", - "integrity": "sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/typescript-estree": "5.54.1", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" }, "engines": { @@ -2258,12 +2176,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz", - "integrity": "sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2274,14 +2192,21 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@vue/compiler-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", - "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", "peer": true, "dependencies": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } @@ -2293,30 +2218,29 @@ "peer": true }, "node_modules/@vue/compiler-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", - "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", "peer": true, "dependencies": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", - "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", "peer": true, "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", "source-map-js": "^1.0.2" } }, @@ -2327,87 +2251,79 @@ "peer": true }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", - "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", "peer": true, "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/reactivity": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", - "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz", + "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", "peer": true, "dependencies": { - "@vue/shared": "3.3.4" + "@vue/shared": "3.4.21" } }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", - "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "peer": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" - } - }, - "node_modules/@vue/reactivity-transform/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "peer": true - }, "node_modules/@vue/runtime-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", - "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz", + "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", "peer": true, "dependencies": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/reactivity": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/runtime-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", - "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz", + "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==", "peer": true, "dependencies": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" + "@vue/runtime-core": "3.4.21", + "@vue/shared": "3.4.21", + "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", - "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz", + "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==", "peer": true, "dependencies": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21" }, "peerDependencies": { - "vue": "3.3.4" + "vue": "3.4.21" } }, "node_modules/@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", "peer": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -2425,18 +2341,29 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, "engines": { "node": ">=0.4.0" } }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/ai": { - "version": "2.2.14", - "resolved": "https://registry.npmjs.org/ai/-/ai-2.2.14.tgz", - "integrity": "sha512-4kL2iYPVhH1pl6jJFIJCYcgx5mHzGOmdwiSYWVadmSkNOxKqokgevHyJKiyL9B9DjlreM9cDqkQop56Hdfkb0w==", + "version": "2.2.37", + "resolved": "https://registry.npmjs.org/ai/-/ai-2.2.37.tgz", + "integrity": "sha512-JIYm5N1muGVqBqWnvkt29FmXhESoO5TcDxw74OE41SsM+uIou6NPDDs0XWb/ABcd1gmp6k5zym64KWMPM2xm0A==", "dependencies": { "eventsource-parser": "1.0.0", "nanoid": "3.3.6", @@ -2487,25 +2414,25 @@ } }, "node_modules/ansi-escapes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.0.0.tgz", - "integrity": "sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { - "type-fest": "^3.0.0" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=14.16" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.6.1.tgz", - "integrity": "sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2515,17 +2442,17 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -2589,19 +2516,19 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", "peer": true, "dependencies": { "dequal": "^2.0.3" @@ -2659,6 +2586,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -2785,11 +2730,11 @@ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "buffer": "^6.0.3", + "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } @@ -2870,9 +2815,9 @@ } }, "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -2889,7 +2834,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "ieee754": "^1.1.13" } }, "node_modules/buffer-from": { @@ -2898,6 +2843,24 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2917,9 +2880,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001599", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", - "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==", + "version": "1.0.30001605", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", + "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", "dev": true, "funding": [ { @@ -2937,9 +2900,9 @@ ] }, "node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -2995,23 +2958,20 @@ } }, "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dependencies": { - "restore-cursor": "^4.0.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "engines": { "node": ">=6" }, @@ -3040,85 +3000,6 @@ "node": ">=12" } }, - "node_modules/cli-testing-library/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-testing-library/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cli-testing-library/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/cli-testing-library/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/cli-testing-library/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/cli-testing-library/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/cli-testing-library/node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -3133,37 +3014,16 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/cli-testing-library/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cli-testing-library/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/cli-testing-library/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cli-width": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.0.0.tgz", - "integrity": "sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "engines": { "node": ">= 12" } @@ -3197,26 +3057,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -3272,21 +3130,18 @@ "dev": true }, "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "color-name": "1.1.3" } }, "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/combined-stream": { @@ -3364,6 +3219,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -3403,9 +3276,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "peer": true }, "node_modules/debug": { @@ -3465,6 +3338,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3505,12 +3394,12 @@ } }, "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/dir-glob": { @@ -3538,23 +3427,21 @@ } }, "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "dev": true, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "node_modules/electron-to-chromium": { - "version": "1.4.710", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.710.tgz", - "integrity": "sha512-w+9yAVHoHhysCa+gln7AzbO9CdjFcL/wN/5dd+XW/Msl2d/4+WisEaCF1nty0xbAKaxdaJfgLB2296U7zZB7BA==", + "version": "1.4.723", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.723.tgz", + "integrity": "sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==", "dev": true }, "node_modules/emittery": { @@ -3570,9 +3457,21 @@ } }, "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/error-ex": { "version": "1.3.2", @@ -3583,6 +3482,25 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.15.18", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", @@ -3962,26 +3880,28 @@ } }, "node_modules/eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", - "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^2.0.0", - "@eslint/js": "8.35.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -3989,23 +3909,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -4031,40 +3947,16 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/ansi-styles": { @@ -4098,10 +3990,28 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -4109,6 +4019,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -4121,14 +4034,14 @@ } }, "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4219,6 +4132,14 @@ "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/eventsource-parser": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.0.0.tgz", @@ -4228,9 +4149,9 @@ } }, "node_modules/execa": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.0.0.tgz", - "integrity": "sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -4249,6 +4170,17 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/execa/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -4274,6 +4206,94 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -4294,9 +4314,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -4334,9 +4354,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -4352,29 +4372,25 @@ } }, "node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/figures/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { @@ -4418,12 +4434,13 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -4431,15 +4448,15 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -4468,6 +4485,31 @@ "node": ">= 6" } }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/formdata-node/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4492,7 +4534,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4515,6 +4556,24 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -4568,9 +4627,9 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4602,32 +4661,74 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -4642,13 +4743,21 @@ "dev": true }, "node_modules/human-signals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.0.tgz", - "integrity": "sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "engines": { "node": ">=14.18.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -4680,9 +4789,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } @@ -4764,53 +4873,28 @@ } }, "node_modules/inquirer": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.1.4.tgz", - "integrity": "sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==", + "version": "9.2.17", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.17.tgz", + "integrity": "sha512-Vr3Ia2ud5sGnioURkE69endl4SkeJcMzTF6SosKcX5GALJfId7C+JvO5ZZb6y1LOXnEofCPbwzoQ1q0e8Gaduw==", "dependencies": { - "ansi-escapes": "^6.0.0", - "chalk": "^5.1.2", - "cli-cursor": "^4.0.0", - "cli-width": "^4.0.0", - "external-editor": "^3.0.3", - "figures": "^5.0.0", + "@ljharb/through": "^2.3.13", + "ansi-escapes": "^4.3.2", + "chalk": "^5.3.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "figures": "^3.2.0", "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^6.1.2", - "run-async": "^2.4.0", - "rxjs": "^7.5.7", - "string-width": "^5.1.2", - "strip-ansi": "^7.0.1", - "through": "^2.3.6", - "wrap-ansi": "^8.0.1" + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, "node_modules/is-arrayish": { @@ -4844,7 +4928,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -4871,14 +4954,11 @@ } }, "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/is-number": { @@ -4928,11 +5008,11 @@ } }, "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4968,21 +5048,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -5144,15 +5209,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-changed-files/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/jest-circus": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", @@ -5215,6 +5271,63 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/jest-cli": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", @@ -5279,6 +5392,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-config": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", @@ -5355,34 +5486,37 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-diff/node_modules/chalk": { @@ -5401,6 +5535,68 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-diff/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "node_modules/jest-docblock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", @@ -5460,6 +5656,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -5525,33 +5739,18 @@ } }, "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils/node_modules/chalk": { @@ -5570,6 +5769,68 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-matcher-utils/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", @@ -5621,6 +5882,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-mock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", @@ -5725,6 +6004,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-runner": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", @@ -5788,6 +6085,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-runtime": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", @@ -5852,6 +6167,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-snapshot": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", @@ -5914,19 +6247,61 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util": { @@ -5977,6 +6352,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-validate": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", @@ -6037,6 +6430,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-watcher": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", @@ -6056,21 +6467,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -6102,18 +6498,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=7.0.0" } }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-worker": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", @@ -6144,16 +6546,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6183,6 +6575,12 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -6213,6 +6611,15 @@ "node": ">=6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -6289,20 +6696,65 @@ "dev": true }, "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -6316,15 +6768,12 @@ } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, "node_modules/lz-string": { @@ -6337,9 +6786,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", - "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -6363,21 +6812,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -6480,13 +6914,15 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/nanoid": { "version": "3.3.6", @@ -6517,10 +6953,28 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -6558,9 +7012,9 @@ } }, "node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dependencies": { "path-key": "^4.0.0" }, @@ -6605,9 +7059,9 @@ } }, "node_modules/openai": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-3.2.1.tgz", - "integrity": "sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz", + "integrity": "sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ==", "dependencies": { "axios": "^0.26.0", "form-data": "^4.0.0" @@ -6622,69 +7076,89 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/ora": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz", - "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dependencies": { - "bl": "^5.0.0", - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "strip-ansi": "^7.0.1", + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -6905,9 +7379,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -6924,14 +7398,32 @@ ], "peer": true, "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6942,9 +7434,9 @@ } }, "node_modules/prettier": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", - "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -6970,18 +7462,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -7001,18 +7481,18 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -7095,18 +7575,6 @@ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7173,18 +7641,15 @@ } }, "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/restore-cursor/node_modules/mimic-fn": { @@ -7235,9 +7700,9 @@ } }, "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", "engines": { "node": ">=0.12.0" } @@ -7266,9 +7731,9 @@ } }, "node_modules/rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { "tslib": "^2.1.0" } @@ -7298,9 +7763,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7312,15 +7777,61 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/seroval": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-0.5.1.tgz", - "integrity": "sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.5.tgz", + "integrity": "sha512-TM+Z11tHHvQVQKeNlOUonOWnsNM+2IBwZ4vwoi4j3zKzIpc5IDw8WPwCfcc8F17wy6cBcJGbZbFOR0UCuTZHQA==", "peer": true, "engines": { "node": ">=10" } }, + "node_modules/seroval-plugins": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.5.tgz", + "integrity": "sha512-8+pDC1vOedPXjKG7oz8o+iiHrtF2WswaMQJ7CKFpccvSYfrzmvKY9zOJWCg+881722wIHfwkdnRmiiDm9ym+zQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7391,14 +7902,33 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/solid-js": { - "version": "1.7.12", - "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.7.12.tgz", - "integrity": "sha512-QoyoOUKu14iLoGxjxWFIU8+/1kLT4edQ7mZESFPonsEXZ//VJtPKD8Ud1aTKzotj+MNWmSs9YzK6TdY+fO9Eww==", + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.8.16.tgz", + "integrity": "sha512-rja94MNU9flF3qQRLNsu60QHKBDKBkVE1DldJZPIfn2ypIn3NV2WpSbGTQIvsyGPBo+9E2IMjwqnqpbgfWuzeg==", "peer": true, "dependencies": { "csstype": "^3.1.0", - "seroval": "^0.5.0" + "seroval": "^1.0.4", + "seroval-plugins": "^1.0.3" } }, "node_modules/solid-swr-store": { @@ -7423,9 +7953,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "peer": true, "engines": { "node": ">=0.10.0" @@ -7501,51 +8031,22 @@ } }, "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=8" } }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -7563,14 +8064,12 @@ } }, "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/strip-indent": { @@ -7601,7 +8100,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7622,39 +8120,30 @@ } }, "node_modules/svelte": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", - "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==", + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.12.tgz", + "integrity": "sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==", "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", "acorn": "^8.9.0", "aria-query": "^5.3.0", - "axobject-query": "^3.2.1", + "axobject-query": "^4.0.0", "code-red": "^1.0.3", "css-tree": "^2.3.1", "estree-walker": "^3.0.3", "is-reference": "^3.0.1", "locate-character": "^3.0.0", - "magic-string": "^0.30.0", + "magic-string": "^0.30.4", "periscopic": "^3.1.0" }, "engines": { "node": ">=16" } }, - "node_modules/svelte/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/swr": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.0.tgz", @@ -7718,11 +8207,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -7818,25 +8302,10 @@ } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -7877,9 +8346,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -7955,7 +8424,7 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7964,10 +8433,26 @@ "node": ">=4.2.0" } }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" }, "node_modules/update-browserslist-db": { "version": "1.0.13", @@ -8049,27 +8534,25 @@ "node": ">=10.12.0" } }, - "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/vue": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", - "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz", + "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==", "peer": true, "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-sfc": "3.4.21", + "@vue/runtime-dom": "3.4.21", + "@vue/server-renderer": "3.4.21", + "@vue/shared": "3.4.21" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/walker": { @@ -8089,6 +8572,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -8117,56 +8608,49 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "ansi-regex": "^6.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=7.0.0" } }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -8195,9 +8679,9 @@ } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/yargs": { @@ -8227,26 +8711,6 @@ "node": ">=12" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index b9f645d..2ea70a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencommit", - "version": "3.0.12", + "version": "3.0.13", "description": "Auto-generate impressive commits in 1 second. Killing lame commits with AI πŸ€―πŸ”«", "keywords": [ "git", @@ -73,6 +73,7 @@ "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", "@octokit/webhooks-schemas": "^6.11.0", diff --git a/src/commands/config.ts b/src/commands/config.ts index b914abd..79cdb6f 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -15,6 +15,7 @@ dotenv.config(); export enum CONFIG_KEYS { OCO_OPENAI_API_KEY = 'OCO_OPENAI_API_KEY', + OCO_ANTHROPIC_API_KEY = 'OCO_ANTHROPIC_API_KEY', OCO_TOKENS_MAX_INPUT = 'OCO_TOKENS_MAX_INPUT', OCO_TOKENS_MAX_OUTPUT = 'OCO_TOKENS_MAX_OUTPUT', OCO_OPENAI_BASE_PATH = 'OCO_OPENAI_BASE_PATH', @@ -34,6 +35,31 @@ export enum CONFIG_MODES { set = 'set' } +export const MODEL_LIST = { + openai: ['gpt-3.5-turbo', + 'gpt-3.5-turbo-0125', + 'gpt-4', + 'gpt-4-turbo', + 'gpt-4-1106-preview', + 'gpt-4-turbo-preview', + 'gpt-4-0125-preview'], + + anthropic: ['claude-3-haiku-20240307', + 'claude-3-sonnet-20240229', + 'claude-3-opus-20240229'] +} + +const getDefaultModel = (provider: string | undefined): string => { + switch (provider) { + case 'ollama': + return ''; + case 'anthropic': + return MODEL_LIST.anthropic[0]; + default: + return MODEL_LIST.openai[0]; + } +}; + export enum DEFAULT_TOKEN_LIMITS { DEFAULT_MAX_TOKENS_INPUT = 4096, DEFAULT_MAX_TOKENS_OUTPUT = 500 @@ -57,9 +83,9 @@ export const configValidators = { [CONFIG_KEYS.OCO_OPENAI_API_KEY](value: any, config: any = {}) { //need api key unless running locally with ollama validateConfig( - 'API_KEY', - value || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', - 'You need to provide an API key' + 'OpenAI API_KEY', + value || config.OCO_ANTHROPIC_API_KEY || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', + 'You need to provide an OpenAI/Anthropic API key' ); validateConfig( CONFIG_KEYS.OCO_OPENAI_API_KEY, @@ -75,6 +101,16 @@ export const configValidators = { return value; }, + [CONFIG_KEYS.OCO_ANTHROPIC_API_KEY](value: any, config: any = {}) { + validateConfig( + 'ANTHROPIC_API_KEY', + value || config.OCO_OPENAI_API_KEY || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', + 'You need to provide an OpenAI/Anthropic API key' + ); + + return value; + }, + [CONFIG_KEYS.OCO_DESCRIPTION](value: any) { validateConfig( CONFIG_KEYS.OCO_DESCRIPTION, @@ -154,19 +190,12 @@ export const configValidators = { [CONFIG_KEYS.OCO_MODEL](value: any) { validateConfig( CONFIG_KEYS.OCO_MODEL, - [ - 'gpt-3.5-turbo', - 'gpt-3.5-turbo-0125', - 'gpt-4', - 'gpt-4-1106-preview', - 'gpt-4-0125-preview', - 'gpt-4-turbo', - 'gpt-4-turbo-preview' - ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-0125-preview' or 'gpt-4-turbo-preview'` + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` ); return value; }, + [CONFIG_KEYS.OCO_MESSAGE_TEMPLATE_PLACEHOLDER](value: any) { validateConfig( CONFIG_KEYS.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, @@ -200,10 +229,11 @@ export const configValidators = { [ '', 'openai', + 'anthropic', 'ollama', 'test' ].includes(value), - `${value} is not supported yet, use 'ollama' or 'openai' (default)` + `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` ); return value; }, @@ -228,6 +258,7 @@ const configPath = pathJoin(homedir(), '.opencommit'); export const getConfig = (): ConfigType | null => { const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, + OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : undefined, @@ -237,7 +268,7 @@ export const getConfig = (): ConfigType | null => { OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === 'true' ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === 'true' ? true : false, - OCO_MODEL: process.env.OCO_MODEL || 'gpt-3.5-turbo', + OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), OCO_LANGUAGE: process.env.OCO_LANGUAGE || 'en', OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || '$msg', diff --git a/src/engine/anthropic.ts b/src/engine/anthropic.ts new file mode 100644 index 0000000..1aaf532 --- /dev/null +++ b/src/engine/anthropic.ts @@ -0,0 +1,124 @@ +import axios from 'axios'; +import chalk from 'chalk'; + +import Anthropic from '@anthropic-ai/sdk'; +import {ChatCompletionRequestMessage} from 'openai' +import { MessageCreateParamsNonStreaming, MessageParam } from '@anthropic-ai/sdk/resources'; + +import { intro, outro } from '@clack/prompts'; + +import { + CONFIG_MODES, + DEFAULT_TOKEN_LIMITS, + getConfig +} from '../commands/config'; +import { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff'; +import { tokenCount } from '../utils/tokenCount'; +import { AiEngine } from './Engine'; +import { MODEL_LIST } from '../commands/config'; + +const config = getConfig(); + +const MAX_TOKENS_OUTPUT = + config?.OCO_TOKENS_MAX_OUTPUT || + DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; +const MAX_TOKENS_INPUT = + config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; + +let provider = config?.OCO_AI_PROVIDER; +let apiKey = config?.OCO_ANTHROPIC_API_KEY; +const [command, mode] = process.argv.slice(2); +if ( + provider === 'anthropic' && + !apiKey && + command !== 'config' && + mode !== CONFIG_MODES.set +) { + intro('opencommit'); + + outro( + 'OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY=<your token> . If you are using Claude, make sure you add payment details, so API works.`' + ); + outro( + 'For help look into README https://github.com/di-sukharev/opencommit#setup' + ); + + process.exit(1); +} + +const MODEL = config?.OCO_MODEL; +if (provider === 'anthropic' && + !MODEL_LIST.anthropic.includes(MODEL) && + command !== 'config' && + mode !== CONFIG_MODES.set) { + outro( + `${chalk.red('βœ–')} Unsupported model ${MODEL} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( + ', ' + )}` + ); + process.exit(1); +} + +class AnthropicAi implements AiEngine { + private anthropicAiApiConfiguration = { + apiKey: apiKey + }; + private anthropicAI!: Anthropic; + + constructor() { + this.anthropicAI = new Anthropic(this.anthropicAiApiConfiguration); + } + + public generateCommitMessage = async ( + messages: Array<ChatCompletionRequestMessage> + ): Promise<string | undefined> => { + + const systemMessage = messages.find(msg => msg.role === 'system')?.content as string; + const restMessages = messages.filter((msg) => msg.role !== 'system') as MessageParam[]; + + const params: MessageCreateParamsNonStreaming = { + model: MODEL, + system: systemMessage, + messages: restMessages, + temperature: 0, + top_p: 0.1, + max_tokens: MAX_TOKENS_OUTPUT + }; + try { + const REQUEST_TOKENS = messages + .map((msg) => tokenCount(msg.content as string) + 4) + .reduce((a, b) => a + b, 0); + + if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { + throw new Error(GenerateCommitMessageErrorEnum.tooMuchTokens); + } + + const data = await this.anthropicAI.messages.create(params); + + const message = data?.content[0].text; + + return message; + } catch (error) { + outro(`${chalk.red('βœ–')} ${JSON.stringify(params)}`); + + const err = error as Error; + outro(`${chalk.red('βœ–')} ${err?.message || err}`); + + if ( + axios.isAxiosError<{ error?: { message: string } }>(error) && + error.response?.status === 401 + ) { + const anthropicAiError = error.response.data.error; + + if (anthropicAiError?.message) outro(anthropicAiError.message); + outro( + 'For help look into README https://github.com/di-sukharev/opencommit#setup' + ); + } + + throw err; + } + }; +} + +export const anthropicAi = new AnthropicAi(); \ No newline at end of file diff --git a/src/engine/openAi.ts b/src/engine/openAi.ts index 15d63be..5f530a6 100644 --- a/src/engine/openAi.ts +++ b/src/engine/openAi.ts @@ -1,6 +1,7 @@ import axios from 'axios'; import chalk from 'chalk'; import { execa } from 'execa'; + import { ChatCompletionRequestMessage, Configuration as OpenAiApiConfiguration, @@ -17,20 +18,28 @@ import { import { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff'; import { tokenCount } from '../utils/tokenCount'; import { AiEngine } from './Engine'; +import { MODEL_LIST } from '../commands/config'; const config = getConfig(); -const MAX_TOKENS_OUTPUT = config?.OCO_TOKENS_MAX_OUTPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; -const MAX_TOKENS_INPUT = config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; +const MAX_TOKENS_OUTPUT = + config?.OCO_TOKENS_MAX_OUTPUT || + DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; +const MAX_TOKENS_INPUT = + config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; let basePath = config?.OCO_OPENAI_BASE_PATH; -let apiKey = config?.OCO_OPENAI_API_KEY +let apiKey = config?.OCO_OPENAI_API_KEY; const [command, mode] = process.argv.slice(2); -const isLocalModel = config?.OCO_AI_PROVIDER == 'ollama' || config?.OCO_AI_PROVIDER == 'test'; +const provider = config?.OCO_AI_PROVIDER; - -if (!apiKey && command !== 'config' && mode !== CONFIG_MODES.set && !isLocalModel) { +if ( + provider === 'openai' && + !apiKey && + command !== 'config' && + mode !== CONFIG_MODES.set +) { intro('opencommit'); outro( @@ -44,6 +53,18 @@ if (!apiKey && command !== 'config' && mode !== CONFIG_MODES.set && !isLocalMode } const MODEL = config?.OCO_MODEL || 'gpt-3.5-turbo'; +if (provider === 'openai' && + !MODEL_LIST.openai.includes(MODEL) && + command !== 'config' && + mode !== CONFIG_MODES.set) { + outro( + `${chalk.red('βœ–')} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( + ', ' + )}` + ); + + process.exit(1); +} class OpenAi implements AiEngine { private openAiApiConfiguration = new OpenAiApiConfiguration({ @@ -105,6 +126,4 @@ class OpenAi implements AiEngine { }; } - - export const api = new OpenAi(); diff --git a/src/utils/engine.ts b/src/utils/engine.ts index c95dd96..2694c05 100644 --- a/src/utils/engine.ts +++ b/src/utils/engine.ts @@ -2,12 +2,15 @@ import { AiEngine } from '../engine/Engine'; import { api } from '../engine/openAi'; import { getConfig } from '../commands/config'; import { ollamaAi } from '../engine/ollama'; +import { anthropicAi } from '../engine/anthropic' import { testAi } from '../engine/testAi'; export function getEngine(): AiEngine { const config = getConfig(); if (config?.OCO_AI_PROVIDER == 'ollama') { return ollamaAi; + } else if (config?.OCO_AI_PROVIDER == 'anthropic') { + return anthropicAi; } else if (config?.OCO_AI_PROVIDER == 'test') { return testAi; } From e19305dee280dc7598d196653f04b6128662666f Mon Sep 17 00:00:00 2001 From: Takanori Matsumoto <matscube@gmail.com> Date: Thu, 2 May 2024 18:07:21 +0900 Subject: [PATCH 06/11] =?UTF-8?q?=F0=9F=90=9Bbug=20fix:=20enable=20to=20us?= =?UTF-8?q?e=20the=20new=20format=20of=20OpenAI's=20project=20API=20Key=20?= =?UTF-8?q?(#328)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(config.ts): remove validation for OCO_OPENAI_API_KEY length to accommodate variable key lengths * build --- out/cli.cjs | 7 +------ out/github-action.cjs | 5 ----- package.json | 2 +- src/commands/config.ts | 5 ----- 4 files changed, 2 insertions(+), 17 deletions(-) diff --git a/out/cli.cjs b/out/cli.cjs index 523e6da..bc41113 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -26936,7 +26936,7 @@ function G3(t2, e3) { // package.json var package_default = { name: "opencommit", - version: "3.0.13", + version: "3.0.14", description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}", keywords: [ "git", @@ -29496,11 +29496,6 @@ var configValidators = { value.startsWith("sk-"), 'Must start with "sk-"' ); - validateConfig( - "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config9["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, - "Must be 51 characters long" - ); return value; }, ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config9 = {}) { diff --git a/out/github-action.cjs b/out/github-action.cjs index 8cf0a28..f86b730 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -48316,11 +48316,6 @@ var configValidators = { value.startsWith("sk-"), 'Must start with "sk-"' ); - validateConfig( - "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config8["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, - "Must be 51 characters long" - ); return value; }, ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config8 = {}) { diff --git a/package.json b/package.json index 2ea70a8..56e6a65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencommit", - "version": "3.0.13", + "version": "3.0.14", "description": "Auto-generate impressive commits in 1 second. Killing lame commits with AI πŸ€―πŸ”«", "keywords": [ "git", diff --git a/src/commands/config.ts b/src/commands/config.ts index 79cdb6f..e038312 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -92,11 +92,6 @@ export const configValidators = { value.startsWith('sk-'), 'Must start with "sk-"' ); - validateConfig( - CONFIG_KEYS.OCO_OPENAI_API_KEY, - config[CONFIG_KEYS.OCO_OPENAI_BASE_PATH] || value.length === 51, - 'Must be 51 characters long' - ); return value; }, From 278e4cb4c27b470858ce8c68f42434ef6d928a5a Mon Sep 17 00:00:00 2001 From: Takanori Matsumoto <matscube@gmail.com> Date: Mon, 6 May 2024 00:46:15 +0900 Subject: [PATCH 07/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(config.ts):?= =?UTF-8?q?=20Addition=20of=20UnitTest=20environment=20and=20unittest=20fo?= =?UTF-8?q?r=20commands/config.ts#getConfig=20(#330)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(jest.config.ts): update jest preset for TS ESM support and ignore patterns feat(package.json): add test:unit script with NODE_OPTIONS for ESM refactor(src/commands/config.ts): improve dotenv usage with dynamic paths feat(src/commands/config.ts): allow custom config and env paths in getConfig refactor(src/commands/config.ts): streamline environment variable access feat(test/unit): add unit tests for config handling and utility functions - Implement unit tests for `getConfig` function to ensure correct behavior in various scenarios including default values, global config, and local env file precedence. - Add utility function `prepareFile` for creating temporary files during tests, facilitating testing of file-based configurations. * feat(e2e.yml): add unit-test job to GitHub Actions for running unit tests on pull requests * ci(test.yml): add GitHub Actions workflow for unit and e2e tests on pull requests * refactor(config.ts): streamline environment variable access using process.env directly test(config.test.ts): add setup and teardown for environment variables in tests to ensure test isolation * feat(package.json): add `test:all` script to run all tests in Docker refactor(package.json): consolidate Docker build steps into `test:docker-build` script for DRY principle fix(package.json): ensure `test:unit:docker` and `test:e2e:docker` scripts use the same Docker image and remove container after run chore(test/Dockerfile): remove default CMD to allow dynamic test script execution in Docker * refactor(config.test.ts): anonymize API keys in tests for better security practices * feat(config.test.ts): add tests for OCO_ANTHROPIC_API_KEY configuration * refactor(config.ts): streamline path imports and remove unused DotenvParseOutput - Simplify path module imports by removing default import and using named imports for `pathJoin` and `pathResolve`. - Remove unused `DotenvParseOutput` import to clean up the code. * refactor(config.test.ts): simplify API key mock values for clarity in tests * test(config.test.ts): remove tests for default config values and redundant cases - Removed tests that checked for default config values when no config or env files are present, as these scenarios are now handled differently. - Eliminated tests for empty global config and local env files to streamline testing focus on actual config loading logic. - Removed test for prioritizing local env over global config due to changes in config loading strategy, simplifying the configuration management. --- .github/workflows/{e2e.yml => test.yml} | 17 +++- jest.config.ts | 4 +- package.json | 6 +- src/commands/config.ts | 18 ++-- test/Dockerfile | 2 - test/unit/config.test.ts | 105 ++++++++++++++++++++++++ test/unit/utils.ts | 29 +++++++ 7 files changed, 170 insertions(+), 11 deletions(-) rename .github/workflows/{e2e.yml => test.yml} (63%) create mode 100644 test/unit/config.test.ts create mode 100644 test/unit/utils.ts diff --git a/.github/workflows/e2e.yml b/.github/workflows/test.yml similarity index 63% rename from .github/workflows/e2e.yml rename to .github/workflows/test.yml index f4f092d..b1e49e3 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/test.yml @@ -1,8 +1,23 @@ -name: E2E Testing +name: Testing on: [pull_request] jobs: + unit-test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [20.x] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + - name: Install dependencies + run: npm install + - name: Run Unit Tests + run: npm run test:unit e2e-test: runs-on: ubuntu-latest strategy: diff --git a/jest.config.ts b/jest.config.ts index 2130dc1..6bca393 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -11,15 +11,17 @@ const config: Config = { "node_modules", "src", ], - preset: 'ts-jest', + preset: 'ts-jest/presets/js-with-ts-esm', setupFilesAfterEnv: ['<rootDir>/test/jest-setup.ts'], testEnvironment: "node", testRegex: [ '.*\\.test\\.ts$', ], + transformIgnorePatterns: ['node_modules/(?!cli-testing-library)'], transform: { '^.+\\.(ts|tsx)$': ['ts-jest', { diagnostics: false, + useESM: true }], } }; diff --git a/package.json b/package.json index 56e6a65..6764a61 100644 --- a/package.json +++ b/package.json @@ -48,8 +48,12 @@ "deploy": "npm version patch && npm run build:push && git push --tags && npm publish --tag latest", "lint": "eslint src --ext ts && tsc --noEmit", "format": "prettier --write src", + "test:all": "npm run test:unit:docker && npm run test:e2e:docker", + "test:docker-build": "docker build -t oco-test -f test/Dockerfile .", + "test:unit": "NODE_OPTIONS=--experimental-vm-modules jest test/unit", + "test:unit:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:unit", "test:e2e": "jest test/e2e", - "test:e2e:docker": "docker build -t oco-e2e -f test/Dockerfile . && DOCKER_CONTENT_TRUST=0 docker run oco-e2e" + "test:e2e:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:e2e" }, "devDependencies": { "@commitlint/types": "^17.4.4", diff --git a/src/commands/config.ts b/src/commands/config.ts index e038312..d877db3 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -4,15 +4,13 @@ import * as dotenv from 'dotenv'; import { existsSync, readFileSync, writeFileSync } from 'fs'; import { parse as iniParse, stringify as iniStringify } from 'ini'; import { homedir } from 'os'; -import { join as pathJoin } from 'path'; +import { join as pathJoin, resolve as pathResolve } from 'path'; import { intro, outro } from '@clack/prompts'; import { COMMANDS } from '../CommandsEnum'; import { getI18nLocal } from '../i18n'; -dotenv.config(); - export enum CONFIG_KEYS { OCO_OPENAI_API_KEY = 'OCO_OPENAI_API_KEY', OCO_ANTHROPIC_API_KEY = 'OCO_ANTHROPIC_API_KEY', @@ -248,9 +246,17 @@ export type ConfigType = { [key in CONFIG_KEYS]?: any; }; -const configPath = pathJoin(homedir(), '.opencommit'); +const defaultConfigPath = pathJoin(homedir(), '.opencommit'); +const defaultEnvPath = pathResolve(process.cwd(), '.env'); -export const getConfig = (): ConfigType | null => { +export const getConfig = ({ + configPath = defaultConfigPath, + envPath = defaultEnvPath +}: { + configPath?: string + envPath?: string +} = {}): ConfigType | null => { + dotenv.config({ path: envPath }); const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, @@ -306,7 +312,7 @@ export const getConfig = (): ConfigType | null => { return config; }; -export const setConfig = (keyValues: [key: string, value: string][]) => { +export const setConfig = (keyValues: [key: string, value: string][], configPath: string = defaultConfigPath) => { const config = getConfig() || {}; for (const [configKey, configValue] of keyValues) { diff --git a/test/Dockerfile b/test/Dockerfile index 80c8f3c..5b77917 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -17,5 +17,3 @@ RUN ls -la RUN npm install RUN npm run build - -CMD ["npm", "run", "test:e2e"] diff --git a/test/unit/config.test.ts b/test/unit/config.test.ts new file mode 100644 index 0000000..4c596ae --- /dev/null +++ b/test/unit/config.test.ts @@ -0,0 +1,105 @@ +import { getConfig } from '../../src/commands/config'; +import { prepareFile } from './utils'; + +describe('getConfig', () => { + const originalEnv = { ...process.env }; + function resetEnv(env: NodeJS.ProcessEnv) { + Object.keys(process.env).forEach((key) => { + if (!(key in env)) { + delete process.env[key]; + } else { + process.env[key] = env[key]; + } + }); + } + + beforeEach(() => { + resetEnv(originalEnv); + }); + + afterAll(() => { + resetEnv(originalEnv); + }); + + it('return config values from the global config file', async () => { + const configFile = await prepareFile( + '.opencommit', + ` +OCO_OPENAI_API_KEY="sk-key" +OCO_ANTHROPIC_API_KEY="secret-key" +OCO_TOKENS_MAX_INPUT="8192" +OCO_TOKENS_MAX_OUTPUT="1000" +OCO_OPENAI_BASE_PATH="/openai/api" +OCO_DESCRIPTION="true" +OCO_EMOJI="true" +OCO_MODEL="gpt-4" +OCO_LANGUAGE="de" +OCO_MESSAGE_TEMPLATE_PLACEHOLDER="$m" +OCO_PROMPT_MODULE="@commitlint" +OCO_AI_PROVIDER="ollama" +OCO_GITPUSH="false" +OCO_ONE_LINE_COMMIT="true" +` + ); + const config = getConfig({ configPath: configFile.filePath, envPath: '' }); + + expect(config).not.toEqual(null); + expect(config!['OCO_OPENAI_API_KEY']).toEqual('sk-key'); + expect(config!['OCO_ANTHROPIC_API_KEY']).toEqual('secret-key'); + expect(config!['OCO_TOKENS_MAX_INPUT']).toEqual(8192); + expect(config!['OCO_TOKENS_MAX_OUTPUT']).toEqual(1000); + expect(config!['OCO_OPENAI_BASE_PATH']).toEqual('/openai/api'); + expect(config!['OCO_DESCRIPTION']).toEqual(true); + expect(config!['OCO_EMOJI']).toEqual(true); + expect(config!['OCO_MODEL']).toEqual('gpt-4'); + expect(config!['OCO_LANGUAGE']).toEqual('de'); + expect(config!['OCO_MESSAGE_TEMPLATE_PLACEHOLDER']).toEqual('$m'); + expect(config!['OCO_PROMPT_MODULE']).toEqual('@commitlint'); + expect(config!['OCO_AI_PROVIDER']).toEqual('ollama'); + expect(config!['OCO_GITPUSH']).toEqual(false); + expect(config!['OCO_ONE_LINE_COMMIT']).toEqual(true); + + await configFile.cleanup(); + }); + + it('return config values from the local env file', async () => { + const envFile = await prepareFile( + '.env', + ` +OCO_OPENAI_API_KEY="sk-key" +OCO_ANTHROPIC_API_KEY="secret-key" +OCO_TOKENS_MAX_INPUT="8192" +OCO_TOKENS_MAX_OUTPUT="1000" +OCO_OPENAI_BASE_PATH="/openai/api" +OCO_DESCRIPTION="true" +OCO_EMOJI="true" +OCO_MODEL="gpt-4" +OCO_LANGUAGE="de" +OCO_MESSAGE_TEMPLATE_PLACEHOLDER="$m" +OCO_PROMPT_MODULE="@commitlint" +OCO_AI_PROVIDER="ollama" +OCO_GITPUSH="false" +OCO_ONE_LINE_COMMIT="true" + ` + ); + const config = getConfig({ configPath: '', envPath: envFile.filePath }); + + expect(config).not.toEqual(null); + expect(config!['OCO_OPENAI_API_KEY']).toEqual('sk-key'); + expect(config!['OCO_ANTHROPIC_API_KEY']).toEqual('secret-key'); + expect(config!['OCO_TOKENS_MAX_INPUT']).toEqual(8192); + expect(config!['OCO_TOKENS_MAX_OUTPUT']).toEqual(1000); + expect(config!['OCO_OPENAI_BASE_PATH']).toEqual('/openai/api'); + expect(config!['OCO_DESCRIPTION']).toEqual(true); + expect(config!['OCO_EMOJI']).toEqual(true); + expect(config!['OCO_MODEL']).toEqual('gpt-4'); + expect(config!['OCO_LANGUAGE']).toEqual('de'); + expect(config!['OCO_MESSAGE_TEMPLATE_PLACEHOLDER']).toEqual('$m'); + expect(config!['OCO_PROMPT_MODULE']).toEqual('@commitlint'); + expect(config!['OCO_AI_PROVIDER']).toEqual('ollama'); + expect(config!['OCO_GITPUSH']).toEqual(false); + expect(config!['OCO_ONE_LINE_COMMIT']).toEqual(true); + + await envFile.cleanup(); + }); +}); diff --git a/test/unit/utils.ts b/test/unit/utils.ts new file mode 100644 index 0000000..1443344 --- /dev/null +++ b/test/unit/utils.ts @@ -0,0 +1,29 @@ +import path from 'path'; +import { mkdtemp, rm, writeFile } from 'fs'; +import { promisify } from 'util'; +import { tmpdir } from 'os'; +const fsMakeTempDir = promisify(mkdtemp); +const fsRemove = promisify(rm); +const fsWriteFile = promisify(writeFile); + +/** + * Prepare tmp file for the test + */ +export async function prepareFile( + fileName: string, + content: string +): Promise<{ + filePath: string; + cleanup: () => Promise<void>; +}> { + const tempDir = await fsMakeTempDir(path.join(tmpdir(), 'opencommit-test-')); + const filePath = path.resolve(tempDir, fileName); + await fsWriteFile(filePath, content); + const cleanup = async () => { + return fsRemove(tempDir, { recursive: true }); + }; + return { + filePath, + cleanup + }; +} From 058bad95cd78fa97886889b828cf1032747144e5 Mon Sep 17 00:00:00 2001 From: di-sukharev <dim.sukharev@gmail.com> Date: Sun, 5 May 2024 19:04:19 +0300 Subject: [PATCH 08/11] new version --- README.md | 1 + jest.config.ts | 27 +++++++++++++-------------- package-lock.json | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 538b9f8..1d8933a 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,7 @@ All available languages are currently listed in the [i18n](https://github.com/di ### Push to git Pushing to git is on by default but if you would like to turn it off just use: + ```sh oc config set OCO_GITPUSH=false ``` diff --git a/jest.config.ts b/jest.config.ts index 6bca393..ee0d397 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -3,26 +3,25 @@ * https://jestjs.io/docs/configuration */ -import type {Config} from 'jest'; +import type { Config } from 'jest'; const config: Config = { - coverageProvider: "v8", - moduleDirectories: [ - "node_modules", - "src", - ], + testTimeout: 100_000, + coverageProvider: 'v8', + moduleDirectories: ['node_modules', 'src'], preset: 'ts-jest/presets/js-with-ts-esm', setupFilesAfterEnv: ['<rootDir>/test/jest-setup.ts'], - testEnvironment: "node", - testRegex: [ - '.*\\.test\\.ts$', - ], + testEnvironment: 'node', + testRegex: ['.*\\.test\\.ts$'], transformIgnorePatterns: ['node_modules/(?!cli-testing-library)'], transform: { - '^.+\\.(ts|tsx)$': ['ts-jest', { - diagnostics: false, - useESM: true - }], + '^.+\\.(ts|tsx)$': [ + 'ts-jest', + { + diagnostics: false, + useESM: true + } + ] } }; diff --git a/package-lock.json b/package-lock.json index fd70713..96892ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "opencommit", - "version": "3.0.13", + "version": "3.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencommit", - "version": "3.0.13", + "version": "3.0.14", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", From 74024a49970b0c67b3d80094ad73eac96afe2bd4 Mon Sep 17 00:00:00 2001 From: tumf <y.takahara@gmail.com> Date: Tue, 7 May 2024 14:51:24 +0700 Subject: [PATCH 09/11] improve OCO_AI_PROVIDER=ollama[/model name] (#327) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * πŸ› (config.ts, engine/ollama.ts, utils/engine.ts): improve Ollama AI configuration and usage ✨ (config.ts): add support for multiple Ollama models and allow users to specify the model in their config βœ… (engine/ollama.ts, utils/engine.ts): refactor code to use the specified Ollama model instead of hardcoding it * add build results --- out/cli.cjs | 17415 +++------------------- out/github-action.cjs | 30744 +++------------------------------------ src/commands/config.ts | 7 +- src/engine/ollama.ts | 7 +- src/utils/engine.ts | 9 +- 5 files changed, 4302 insertions(+), 43880 deletions(-) diff --git a/out/cli.cjs b/out/cli.cjs index dbd2e30..6938b59 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -6,16 +6,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; -var __export = (target, all3) => { - for (var name in all3) - __defProp(target, name, { get: all3[name], enumerable: true }); -}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -34,7 +27,7 @@ var require_windows = __commonJS({ "node_modules/isexe/windows.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs5 = require("fs"); + var fs4 = require("fs"); function checkPathExt(path5, options) { var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT; if (!pathext) { @@ -44,8 +37,8 @@ var require_windows = __commonJS({ if (pathext.indexOf("") !== -1) { return true; } - for (var i3 = 0; i3 < pathext.length; i3++) { - var p4 = pathext[i3].toLowerCase(); + for (var i2 = 0; i2 < pathext.length; i2++) { + var p4 = pathext[i2].toLowerCase(); if (p4 && path5.substr(-p4.length).toLowerCase() === p4) { return true; } @@ -59,12 +52,12 @@ var require_windows = __commonJS({ return checkPathExt(path5, options); } function isexe(path5, options, cb) { - fs5.stat(path5, function(er2, stat) { - cb(er2, er2 ? false : checkStat(stat, path5, options)); + fs4.stat(path5, function(er, stat) { + cb(er, er ? false : checkStat(stat, path5, options)); }); } function sync(path5, options) { - return checkStat(fs5.statSync(path5), path5, options); + return checkStat(fs4.statSync(path5), path5, options); } } }); @@ -74,14 +67,14 @@ var require_mode = __commonJS({ "node_modules/isexe/mode.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs5 = require("fs"); + var fs4 = require("fs"); function isexe(path5, options, cb) { - fs5.stat(path5, function(er2, stat) { - cb(er2, er2 ? false : checkStat(stat, options)); + fs4.stat(path5, function(er, stat) { + cb(er, er ? false : checkStat(stat, options)); }); } function sync(path5, options) { - return checkStat(fs5.statSync(path5), options); + return checkStat(fs4.statSync(path5), options); } function checkStat(stat, options) { return stat.isFile() && checkMode(stat, options); @@ -92,11 +85,11 @@ var require_mode = __commonJS({ var gid = stat.gid; var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid(); var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid(); - var u3 = parseInt("100", 8); - var g4 = parseInt("010", 8); - var o3 = parseInt("001", 8); - var ug = u3 | g4; - var ret = mod & o3 || mod & g4 && gid === myGid || mod & u3 && uid === myUid || mod & ug && myUid === 0; + var u2 = parseInt("100", 8); + var g3 = parseInt("010", 8); + var o2 = parseInt("001", 8); + var ug = u2 | g3; + var ret = mod & o2 || mod & g3 && gid === myGid || mod & u2 && uid === myUid || mod & ug && myUid === 0; return ret; } } @@ -105,7 +98,7 @@ var require_mode = __commonJS({ // node_modules/isexe/index.js var require_isexe = __commonJS({ "node_modules/isexe/index.js"(exports, module2) { - var fs5 = require("fs"); + var fs4 = require("fs"); var core; if (process.platform === "win32" || global.TESTING_WINDOWS) { core = require_windows(); @@ -124,33 +117,33 @@ var require_isexe = __commonJS({ throw new TypeError("callback not provided"); } return new Promise(function(resolve, reject) { - isexe(path5, options || {}, function(er2, is) { - if (er2) { - reject(er2); + isexe(path5, options || {}, function(er, is) { + if (er) { + reject(er); } else { resolve(is); } }); }); } - core(path5, options || {}, function(er2, is) { - if (er2) { - if (er2.code === "EACCES" || options && options.ignoreErrors) { - er2 = null; + core(path5, options || {}, function(er, is) { + if (er) { + if (er.code === "EACCES" || options && options.ignoreErrors) { + er = null; is = false; } } - cb(er2, is); + cb(er, is); }); } function sync(path5, options) { try { return core.sync(path5, options || {}); - } catch (er2) { - if (options && options.ignoreErrors || er2.code === "EACCES") { + } catch (er) { + if (options && options.ignoreErrors || er.code === "EACCES") { return false; } else { - throw er2; + throw er; } } } @@ -192,27 +185,27 @@ var require_which = __commonJS({ opt = {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - const step = (i3) => new Promise((resolve, reject) => { - if (i3 === pathEnv.length) + const step = (i2) => new Promise((resolve, reject) => { + if (i2 === pathEnv.length) return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd)); - const ppRaw = pathEnv[i3]; + const ppRaw = pathEnv[i2]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - resolve(subStep(p4, i3, 0)); + resolve(subStep(p4, i2, 0)); }); - const subStep = (p4, i3, ii) => new Promise((resolve, reject) => { + const subStep = (p4, i2, ii) => new Promise((resolve, reject) => { if (ii === pathExt.length) - return resolve(step(i3 + 1)); + return resolve(step(i2 + 1)); const ext = pathExt[ii]; - isexe(p4 + ext, { pathExt: pathExtExe }, (er2, is) => { - if (!er2 && is) { + isexe(p4 + ext, { pathExt: pathExtExe }, (er, is) => { + if (!er && is) { if (opt.all) found.push(p4 + ext); else return resolve(p4 + ext); } - return resolve(subStep(p4, i3, ii + 1)); + return resolve(subStep(p4, i2, ii + 1)); }); }); return cb ? step(0).then((res) => cb(null, res), cb) : step(0); @@ -221,13 +214,13 @@ var require_which = __commonJS({ opt = opt || {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - for (let i3 = 0; i3 < pathEnv.length; i3++) { - const ppRaw = pathEnv[i3]; + for (let i2 = 0; i2 < pathEnv.length; i2++) { + const ppRaw = pathEnv[i2]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - for (let j4 = 0; j4 < pathExt.length; j4++) { - const cur = p4 + pathExt[j4]; + for (let j3 = 0; j3 < pathExt.length; j3++) { + const cur = p4 + pathExt[j3]; try { const is = isexe.sync(cur, { pathExt: pathExtExe }); if (is) { @@ -292,7 +285,7 @@ var require_resolveCommand = __commonJS({ path: env2[getPathKey({ env: env2 })], pathExt: withoutPathExt ? path5.delimiter : void 0 }); - } catch (e3) { + } catch (e2) { } finally { if (shouldSwitchCwd) { process.chdir(cwd); @@ -367,17 +360,17 @@ var require_shebang_command = __commonJS({ var require_readShebang = __commonJS({ "node_modules/cross-spawn/lib/util/readShebang.js"(exports, module2) { "use strict"; - var fs5 = require("fs"); + var fs4 = require("fs"); var shebangCommand = require_shebang_command(); - function readShebang(command3) { + function readShebang(command2) { const size = 150; const buffer = Buffer.alloc(size); let fd; try { - fd = fs5.openSync(command3, "r"); - fs5.readSync(fd, buffer, 0, size, 0); - fs5.closeSync(fd); - } catch (e3) { + fd = fs4.openSync(command2, "r"); + fs4.readSync(fd, buffer, 0, size, 0); + fs4.closeSync(fd); + } catch (e2) { } return shebangCommand(buffer.toString()); } @@ -424,7 +417,7 @@ var require_parse = __commonJS({ } return parsed; } - function parse(command3, args, options) { + function parse(command2, args, options) { if (args && !Array.isArray(args)) { options = args; args = null; @@ -432,12 +425,12 @@ var require_parse = __commonJS({ args = args ? args.slice(0) : []; options = Object.assign({}, options); const parsed = { - command: command3, + command: command2, args, options, file: void 0, original: { - command: command3, + command: command2, args } }; @@ -504,14 +497,14 @@ var require_cross_spawn = __commonJS({ var cp = require("child_process"); var parse = require_parse(); var enoent = require_enoent(); - function spawn(command3, args, options) { - const parsed = parse(command3, args, options); + function spawn(command2, args, options) { + const parsed = parse(command2, args, options); const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); enoent.hookChildProcess(spawned, parsed); return spawned; } - function spawnSync(command3, args, options) { - const parsed = parse(command3, args, options); + function spawnSync(command2, args, options) { + const parsed = parse(command2, args, options); const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); return result; @@ -561,11 +554,11 @@ var require_signals = __commonJS({ // node_modules/signal-exit/index.js var require_signal_exit = __commonJS({ "node_modules/signal-exit/index.js"(exports, module2) { - var process7 = global.process; - var processOk = function(process8) { - return process8 && typeof process8 === "object" && typeof process8.removeListener === "function" && typeof process8.emit === "function" && typeof process8.reallyExit === "function" && typeof process8.listeners === "function" && typeof process8.kill === "function" && typeof process8.pid === "number" && typeof process8.on === "function"; + var process5 = global.process; + var processOk = function(process6) { + return process6 && typeof process6 === "object" && typeof process6.removeListener === "function" && typeof process6.emit === "function" && typeof process6.reallyExit === "function" && typeof process6.listeners === "function" && typeof process6.kill === "function" && typeof process6.pid === "number" && typeof process6.on === "function"; }; - if (!processOk(process7)) { + if (!processOk(process5)) { module2.exports = function() { return function() { }; @@ -573,15 +566,15 @@ var require_signal_exit = __commonJS({ } else { assert = require("assert"); signals = require_signals(); - isWin = /^win/i.test(process7.platform); + isWin = /^win/i.test(process5.platform); EE = require("events"); if (typeof EE !== "function") { EE = EE.EventEmitter; } - if (process7.__signal_exit_emitter__) { - emitter = process7.__signal_exit_emitter__; + if (process5.__signal_exit_emitter__) { + emitter = process5.__signal_exit_emitter__; } else { - emitter = process7.__signal_exit_emitter__ = new EE(); + emitter = process5.__signal_exit_emitter__ = new EE(); emitter.count = 0; emitter.emitted = {}; } @@ -618,12 +611,12 @@ var require_signal_exit = __commonJS({ loaded = false; signals.forEach(function(sig) { try { - process7.removeListener(sig, sigListeners[sig]); - } catch (er2) { + process5.removeListener(sig, sigListeners[sig]); + } catch (er) { } }); - process7.emit = originalProcessEmit; - process7.reallyExit = originalProcessReallyExit; + process5.emit = originalProcessEmit; + process5.reallyExit = originalProcessReallyExit; emitter.count -= 1; }; module2.exports.unload = unload; @@ -640,7 +633,7 @@ var require_signal_exit = __commonJS({ if (!processOk(global.process)) { return; } - var listeners = process7.listeners(sig); + var listeners = process5.listeners(sig); if (listeners.length === emitter.count) { unload(); emit("exit", null, sig); @@ -648,7 +641,7 @@ var require_signal_exit = __commonJS({ if (isWin && sig === "SIGHUP") { sig = "SIGINT"; } - process7.kill(process7.pid, sig); + process5.kill(process5.pid, sig); } }; }); @@ -664,35 +657,35 @@ var require_signal_exit = __commonJS({ emitter.count += 1; signals = signals.filter(function(sig) { try { - process7.on(sig, sigListeners[sig]); + process5.on(sig, sigListeners[sig]); return true; - } catch (er2) { + } catch (er) { return false; } }); - process7.emit = processEmit; - process7.reallyExit = processReallyExit; + process5.emit = processEmit; + process5.reallyExit = processReallyExit; }; module2.exports.load = load; - originalProcessReallyExit = process7.reallyExit; + originalProcessReallyExit = process5.reallyExit; processReallyExit = function processReallyExit2(code) { if (!processOk(global.process)) { return; } - process7.exitCode = code || 0; - emit("exit", process7.exitCode, null); - emit("afterexit", process7.exitCode, null); - originalProcessReallyExit.call(process7, process7.exitCode); + process5.exitCode = code || 0; + emit("exit", process5.exitCode, null); + emit("afterexit", process5.exitCode, null); + originalProcessReallyExit.call(process5, process5.exitCode); }; - originalProcessEmit = process7.emit; + originalProcessEmit = process5.emit; processEmit = function processEmit2(ev, arg) { if (ev === "exit" && processOk(global.process)) { if (arg !== void 0) { - process7.exitCode = arg; + process5.exitCode = arg; } var ret = originalProcessEmit.apply(this, arguments); - emit("exit", process7.exitCode, null); - emit("afterexit", process7.exitCode, null); + emit("exit", process5.exitCode, null); + emit("afterexit", process5.exitCode, null); return ret; } else { return originalProcessEmit.apply(this, arguments); @@ -845,8 +838,8 @@ var require_merge_stream = __commonJS({ return sources.length == 0; } function remove(source) { - sources = sources.filter(function(it2) { - return it2 !== source; + sources = sources.filter(function(it) { + return it !== source; }); if (!sources.length && output.readable) { output.end(); @@ -864,21 +857,21 @@ var require_src = __commonJS({ var CSI = `${ESC}[`; var beep = "\x07"; var cursor = { - to(x5, y6) { - if (!y6) - return `${CSI}${x5 + 1}G`; - return `${CSI}${y6 + 1};${x5 + 1}H`; + to(x4, y5) { + if (!y5) + return `${CSI}${x4 + 1}G`; + return `${CSI}${y5 + 1};${x4 + 1}H`; }, - move(x5, y6) { + move(x4, y5) { let ret = ""; - if (x5 < 0) - ret += `${CSI}${-x5}D`; - else if (x5 > 0) - ret += `${CSI}${x5}C`; - if (y6 < 0) - ret += `${CSI}${-y6}A`; - else if (y6 > 0) - ret += `${CSI}${y6}B`; + if (x4 < 0) + ret += `${CSI}${-x4}D`; + else if (x4 > 0) + ret += `${CSI}${x4}C`; + if (y5 < 0) + ret += `${CSI}${-y5}A`; + else if (y5 > 0) + ret += `${CSI}${y5}B`; return ret; }, up: (count = 1) => `${CSI}${count}A`, @@ -906,8 +899,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i3 = 0; i3 < count; i3++) - clear += this.line + (i3 < count - 1 ? cursor.up() : ""); + for (let i2 = 0; i2 < count; i2++) + clear += this.line + (i2 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -935,7 +928,7 @@ var require_picocolors = __commonJS({ }; var createColors = (enabled = isColorSupported) => ({ isColorSupported: enabled, - reset: enabled ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, + reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, @@ -973,8 +966,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i3 = 0; i3 < args.length; i3++) { - args[i3] = arguments[i3]; + for (var i2 = 0; i2 < args.length; i2++) { + args[i2] = arguments[i2]; } return fn.apply(thisArg, args); }; @@ -1000,7 +993,7 @@ var require_utils = __commonJS({ function isArrayBuffer2(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData3(val) { + function isFormData2(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -1021,7 +1014,7 @@ var require_utils = __commonJS({ function isObject2(val) { return val !== null && typeof val === "object"; } - function isPlainObject4(val) { + function isPlainObject2(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -1031,17 +1024,17 @@ var require_utils = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile3(val) { + function isFile2(val) { return toString3.call(val) === "[object File]"; } - function isBlob3(val) { + function isBlob2(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction4(val) { + function isFunction2(val) { return toString3.call(val) === "[object Function]"; } function isStream3(val) { - return isObject2(val) && isFunction4(val.pipe); + return isObject2(val) && isFunction2(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -1063,8 +1056,8 @@ var require_utils = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { - fn.call(null, obj[i3], i3, obj); + for (var i2 = 0, l = obj.length; i2 < l; i2++) { + fn.call(null, obj[i2], i2, obj); } } else { for (var key in obj) { @@ -1077,9 +1070,9 @@ var require_utils = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject4(result[key]) && isPlainObject4(val)) { + if (isPlainObject2(result[key]) && isPlainObject2(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject4(val)) { + } else if (isPlainObject2(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -1087,20 +1080,20 @@ var require_utils = __commonJS({ result[key] = val; } } - for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { - forEach2(arguments[i3], assignValue); + for (var i2 = 0, l = arguments.length; i2 < l; i2++) { + forEach2(arguments[i2], assignValue); } return result; } - function extend2(a4, b7, thisArg) { - forEach2(b7, function assignValue(val, key) { + function extend2(a2, b6, thisArg) { + forEach2(b6, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a4[key] = bind2(val, thisArg); + a2[key] = bind2(val, thisArg); } else { - a4[key] = val; + a2[key] = val; } }); - return a4; + return a2; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -1112,17 +1105,17 @@ var require_utils = __commonJS({ isArray: isArray2, isArrayBuffer: isArrayBuffer2, isBuffer: isBuffer2, - isFormData: isFormData3, + isFormData: isFormData2, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, isObject: isObject2, - isPlainObject: isPlainObject4, + isPlainObject: isPlainObject2, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile3, - isBlob: isBlob3, - isFunction: isFunction4, + isFile: isFile2, + isBlob: isBlob2, + isFunction: isFunction2, isStream: isStream3, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, @@ -1143,9 +1136,9 @@ var require_buildURL = __commonJS({ function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } - module2.exports = function buildURL2(url2, params, paramsSerializer) { + module2.exports = function buildURL2(url3, params, paramsSerializer) { if (!params) { - return url2; + return url3; } var serializedParams; if (paramsSerializer) { @@ -1163,25 +1156,25 @@ var require_buildURL = __commonJS({ } else { val = [val]; } - utils.forEach(val, function parseValue(v5) { - if (utils.isDate(v5)) { - v5 = v5.toISOString(); - } else if (utils.isObject(v5)) { - v5 = JSON.stringify(v5); + utils.forEach(val, function parseValue(v4) { + if (utils.isDate(v4)) { + v4 = v4.toISOString(); + } else if (utils.isObject(v4)) { + v4 = JSON.stringify(v4); } - parts.push(encode3(key) + "=" + encode3(v5)); + parts.push(encode3(key) + "=" + encode3(v4)); }); }); serializedParams = parts.join("&"); } if (serializedParams) { - var hashmarkIndex = url2.indexOf("#"); + var hashmarkIndex = url3.indexOf("#"); if (hashmarkIndex !== -1) { - url2 = url2.slice(0, hashmarkIndex); + url3 = url3.slice(0, hashmarkIndex); } - url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url2; + return url3; }; } }); @@ -1239,8 +1232,8 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config9, code, request, response) { - error.config = config9; + module2.exports = function enhanceError(error, config8, code, request, response) { + error.config = config8; if (code) { error.code = code; } @@ -1284,9 +1277,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config9, code, request, response) { + module2.exports = function createError(message, config8, code, request, response) { var error = new Error(message); - return enhanceError(error, config9, code, request, response); + return enhanceError(error, config8, code, request, response); }; } }); @@ -1318,7 +1311,7 @@ var require_cookies = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { return { write: function write(name, value, expires, path5, domain, secure) { var cookie = []; @@ -1345,7 +1338,7 @@ var require_cookies = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv2() { + }() : function nonStandardBrowserEnv3() { return { write: function write() { }, @@ -1363,8 +1356,8 @@ var require_cookies = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL3(url2) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); + module2.exports = function isAbsoluteURL2(url3) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); }; } }); @@ -1383,10 +1376,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL3 = require_isAbsoluteURL(); + var isAbsoluteURL2 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL3(requestedURL)) { + if (baseURL && !isAbsoluteURL2(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -1422,14 +1415,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i3; + var i2; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i3 = line.indexOf(":"); - key = utils.trim(line.substr(0, i3)).toLowerCase(); - val = utils.trim(line.substr(i3 + 1)); + i2 = line.indexOf(":"); + key = utils.trim(line.substr(0, i2)).toLowerCase(); + val = utils.trim(line.substr(i2 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -1451,12 +1444,12 @@ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; - function resolveURL(url2) { - var href = url2; + function resolveURL(url3) { + var href = url3; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -1478,7 +1471,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv2() { + }() : function nonStandardBrowserEnv3() { return function isURLSameOrigin() { return true; }; @@ -1515,32 +1508,32 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config9) { + module2.exports = function xhrAdapter(config8) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config9.data; - var requestHeaders = config9.headers; - var responseType = config9.responseType; + var requestData = config8.data; + var requestHeaders = config8.headers; + var responseType = config8.responseType; var onCanceled; function done() { - if (config9.cancelToken) { - config9.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config9.signal) { - config9.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } var request = new XMLHttpRequest(); - if (config9.auth) { - var username = config9.auth.username || ""; - var password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; + if (config8.auth) { + var username = config8.auth.username || ""; + var password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config9.baseURL, config9.url); - request.open(config9.method.toUpperCase(), buildURL2(fullPath, config9.params, config9.paramsSerializer), true); - request.timeout = config9.timeout; + var fullPath = buildFullPath2(config8.baseURL, config8.url); + request.open(config8.method.toUpperCase(), buildURL2(fullPath, config8.params, config8.paramsSerializer), true); + request.timeout = config8.timeout; function onloadend() { if (!request) { return; @@ -1552,7 +1545,7 @@ var require_xhr = __commonJS({ status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config9, + config: config8, request }; settle2(function _resolve(value) { @@ -1581,31 +1574,31 @@ var require_xhr = __commonJS({ if (!request) { return; } - reject(createError("Request aborted", config9, "ECONNABORTED", request)); + reject(createError("Request aborted", config8, "ECONNABORTED", request)); request = null; }; request.onerror = function handleError() { - reject(createError("Network Error", config9, null, request)); + reject(createError("Network Error", config8, null, request)); request = null; }; request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config9.transitional || transitionalDefaults; - if (config9.timeoutErrorMessage) { - timeoutErrorMessage = config9.timeoutErrorMessage; + var timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config8.transitional || transitionalDefaults; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config9, + config8, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", request )); request = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config9.withCredentials || isURLSameOrigin(fullPath)) && config9.xsrfCookieName ? cookies.read(config9.xsrfCookieName) : void 0; + var xsrfValue = (config8.withCredentials || isURLSameOrigin(fullPath)) && config8.xsrfCookieName ? cookies.read(config8.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config9.xsrfHeaderName] = xsrfValue; + requestHeaders[config8.xsrfHeaderName] = xsrfValue; } } if ("setRequestHeader" in request) { @@ -1617,19 +1610,19 @@ var require_xhr = __commonJS({ } }); } - if (!utils.isUndefined(config9.withCredentials)) { - request.withCredentials = !!config9.withCredentials; + if (!utils.isUndefined(config8.withCredentials)) { + request.withCredentials = !!config8.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config9.responseType; + request.responseType = config8.responseType; } - if (typeof config9.onDownloadProgress === "function") { - request.addEventListener("progress", config9.onDownloadProgress); + if (typeof config8.onDownloadProgress === "function") { + request.addEventListener("progress", config8.onDownloadProgress); } - if (typeof config9.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config9.onUploadProgress); + if (typeof config8.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", config8.onUploadProgress); } - if (config9.cancelToken || config9.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = function(cancel) { if (!request) { return; @@ -1638,9 +1631,9 @@ var require_xhr = __commonJS({ request.abort(); request = null; }; - config9.cancelToken && config9.cancelToken.subscribe(onCanceled); - if (config9.signal) { - config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } if (!requestData) { @@ -1655,12 +1648,12 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s2 = 1e3; - var m5 = s2 * 60; - var h4 = m5 * 60; - var d7 = h4 * 24; - var w7 = d7 * 7; - var y6 = d7 * 365.25; + var s = 1e3; + var m4 = s * 60; + var h4 = m4 * 60; + var d6 = h4 * 24; + var w6 = d6 * 7; + var y5 = d6 * 365.25; module2.exports = function(val, options) { options = options || {}; var type = typeof val; @@ -1684,7 +1677,7 @@ var require_ms = __commonJS({ if (!match) { return; } - var n2 = parseFloat(match[1]); + var n = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": @@ -1692,78 +1685,78 @@ var require_ms = __commonJS({ case "yrs": case "yr": case "y": - return n2 * y6; + return n * y5; case "weeks": case "week": case "w": - return n2 * w7; + return n * w6; case "days": case "day": case "d": - return n2 * d7; + return n * d6; case "hours": case "hour": case "hrs": case "hr": case "h": - return n2 * h4; + return n * h4; case "minutes": case "minute": case "mins": case "min": case "m": - return n2 * m5; + return n * m4; case "seconds": case "second": case "secs": case "sec": case "s": - return n2 * s2; + return n * s; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n2; + return n; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d7) { - return Math.round(ms / d7) + "d"; + if (msAbs >= d6) { + return Math.round(ms / d6) + "d"; } if (msAbs >= h4) { return Math.round(ms / h4) + "h"; } - if (msAbs >= m5) { - return Math.round(ms / m5) + "m"; + if (msAbs >= m4) { + return Math.round(ms / m4) + "m"; } - if (msAbs >= s2) { - return Math.round(ms / s2) + "s"; + if (msAbs >= s) { + return Math.round(ms / s) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d7) { - return plural(ms, msAbs, d7, "day"); + if (msAbs >= d6) { + return plural(ms, msAbs, d6, "day"); } if (msAbs >= h4) { return plural(ms, msAbs, h4, "hour"); } - if (msAbs >= m5) { - return plural(ms, msAbs, m5, "minute"); + if (msAbs >= m4) { + return plural(ms, msAbs, m4, "minute"); } - if (msAbs >= s2) { - return plural(ms, msAbs, s2, "second"); + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n2, name) { - var isPlural = msAbs >= n2 * 1.5; - return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); } } }); @@ -1788,8 +1781,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i3 = 0; i3 < namespace.length; i3++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i3); + for (let i2 = 0; i2 < namespace.length; i2++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i2); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -1800,11 +1793,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug2(...args) { - if (!debug2.enabled) { + function debug(...args) { + if (!debug.enabled) { return; } - const self2 = debug2; + const self2 = debug; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -1834,12 +1827,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug2.namespace = namespace; - debug2.useColors = createDebug.useColors(); - debug2.color = createDebug.selectColor(namespace); - debug2.extend = extend2; - debug2.destroy = createDebug.destroy; - Object.defineProperty(debug2, "enabled", { + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend2; + debug.destroy = createDebug.destroy; + Object.defineProperty(debug, "enabled", { enumerable: true, configurable: false, get: () => { @@ -1852,14 +1845,14 @@ var require_common = __commonJS({ } return enabledCache; }, - set: (v5) => { - enableOverride = v5; + set: (v4) => { + enableOverride = v4; } }); if (typeof createDebug.init === "function") { - createDebug.init(debug2); + createDebug.init(debug); } - return debug2; + return debug; } function extend2(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); @@ -1871,14 +1864,14 @@ var require_common = __commonJS({ createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i3; + let i2; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i3 = 0; i3 < len; i3++) { - if (!split[i3]) { + for (i2 = 0; i2 < len; i2++) { + if (!split[i2]) { continue; } - namespaces = split[i3].replace(/\*/g, ".*?"); + namespaces = split[i2].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -1898,15 +1891,15 @@ var require_common = __commonJS({ if (name[name.length - 1] === "*") { return true; } - let i3; + let i2; let len; - for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { - if (createDebug.skips[i3].test(name)) { + for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { + if (createDebug.skips[i2].test(name)) { return false; } } - for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { - if (createDebug.names[i3].test(name)) { + for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { + if (createDebug.names[i2].test(name)) { return true; } } @@ -2068,15 +2061,15 @@ var require_browser = __commonJS({ } } function load() { - let r3; + let r2; try { - r3 = exports.storage.getItem("debug"); + r2 = exports.storage.getItem("debug"); } catch (error) { } - if (!r3 && typeof process !== "undefined" && "env" in process) { - r3 = process.env.DEBUG; + if (!r2 && typeof process !== "undefined" && "env" in process) { + r2 = process.env.DEBUG; } - return r3; + return r2; } function localstorage() { try { @@ -2086,9 +2079,9 @@ var require_browser = __commonJS({ } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.j = function(v5) { + formatters.j = function(v4) { try { - return JSON.stringify(v5); + return JSON.stringify(v4); } catch (error) { return "[UnexpectedJSONParseError]: " + error.message; } @@ -2315,8 +2308,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_7, k7) => { - return k7.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_6, k6) => { + return k6.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -2365,22 +2358,22 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug2) { - debug2.inspectOpts = {}; + function init(debug) { + debug.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i3 = 0; i3 < keys.length; i3++) { - debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; + for (let i2 = 0; i2 < keys.length; i2++) { + debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; } } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.o = function(v5) { + formatters.o = function(v4) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v5, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util2.inspect(v4, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; - formatters.O = function(v5) { + formatters.O = function(v4) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v5, this.inspectOpts); + return util2.inspect(v4, this.inspectOpts); }; } }); @@ -2399,19 +2392,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug2; + var debug; module2.exports = function() { - if (!debug2) { + if (!debug) { try { - debug2 = require_src2()("follow-redirects"); + debug = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug2 !== "function") { - debug2 = function() { + if (typeof debug !== "function") { + debug = function() { }; } } - debug2.apply(null, arguments); + debug.apply(null, arguments); }; } }); @@ -2419,32 +2412,13 @@ var require_debug = __commonJS({ // node_modules/follow-redirects/index.js var require_follow_redirects = __commonJS({ "node_modules/follow-redirects/index.js"(exports, module2) { - var url2 = require("url"); - var URL2 = url2.URL; + var url3 = require("url"); + var URL2 = url3.URL; var http2 = require("http"); var https2 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug2 = require_debug(); - var useNativeURL = false; - try { - assert(new URL2()); - } catch (error) { - useNativeURL = error.code === "ERR_INVALID_URL"; - } - var preservedUrlFields = [ - "auth", - "host", - "hostname", - "href", - "path", - "pathname", - "port", - "protocol", - "query", - "search", - "hash" - ]; + var debug = require_debug(); var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -2463,8 +2437,7 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded", - RedirectionError + "Maximum number of redirects exceeded" ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -2474,7 +2447,6 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); - var destroy = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -2490,25 +2462,15 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - try { - self2._processResponse(response); - } catch (cause) { - self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); - } + self2._processResponse(response); }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - destroyRequest(this._currentRequest); - this._currentRequest.abort(); + abortRequest(this._currentRequest); this.emit("abort"); }; - RedirectableRequest.prototype.destroy = function(error) { - destroyRequest(this._currentRequest, error); - destroy.call(this, error); - return this; - }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -2516,7 +2478,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction4(encoding)) { + if (isFunction2(encoding)) { callback = encoding; encoding = null; } @@ -2536,10 +2498,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction4(data)) { + if (isFunction2(data)) { callback = data; data = encoding = null; - } else if (isFunction4(encoding)) { + } else if (isFunction2(encoding)) { callback = encoding; encoding = null; } @@ -2589,7 +2551,6 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); - self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -2609,7 +2570,6 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); - this.on("close", clearTimer); return this; }; [ @@ -2618,8 +2578,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a4, b7) { - return this._currentRequest[method](a4, b7); + RedirectableRequest.prototype[method] = function(a2, b6) { + return this._currentRequest[method](a2, b6); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -2653,7 +2613,8 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - throw new TypeError("Unsupported protocol " + protocol); + this.emit("error", new TypeError("Unsupported protocol " + protocol)); + return; } if (this._options.agents) { var scheme = protocol.slice(0, -1); @@ -2664,17 +2625,17 @@ var require_follow_redirects = __commonJS({ for (var event of events) { request.on(event, eventHandlers[event]); } - this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; + this._currentUrl = /^\//.test(this._options.path) ? url3.format(this._options) : this._options.path; if (this._isRedirect) { - var i3 = 0; + var i2 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { if (request === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i3 < buffers.length) { - var buffer = buffers[i3++]; + } else if (i2 < buffers.length) { + var buffer = buffers[i2++]; if (!request.finished) { request.write(buffer.data, buffer.encoding, writeNext); } @@ -2702,10 +2663,11 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - destroyRequest(this._currentRequest); + abortRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - throw new TooManyRedirectsError(); + this.emit("error", new TooManyRedirectsError()); + return; } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -2721,17 +2683,24 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = parseUrl(this._currentUrl); + var currentUrlParts = url3.parse(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; - var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl = resolveUrl(location, currentUrl); - debug2("redirecting to", redirectUrl.href); - this._isRedirect = true; - spreadUrlObject(redirectUrl, this._options); - if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { - removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url3.format(Object.assign(currentUrlParts, { host: currentHost })); + var redirectUrl; + try { + redirectUrl = url3.resolve(currentUrl, location); + } catch (cause) { + this.emit("error", new RedirectionError({ cause })); + return; } - if (isFunction4(beforeRedirect)) { + debug("redirecting to", redirectUrl); + this._isRedirect = true; + var redirectUrlParts = url3.parse(redirectUrl); + Object.assign(this._options, redirectUrlParts); + if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { + removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + } + if (isFunction2(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -2741,10 +2710,19 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - beforeRedirect(this._options, responseDetails, requestDetails); + try { + beforeRedirect(this._options, responseDetails, requestDetails); + } catch (err) { + this.emit("error", err); + return; + } this._sanitizeOptions(this._options); } - this._performRequest(); + try { + this._performRequest(); + } catch (cause) { + this.emit("error", new RedirectionError({ cause })); + } }; function wrap(protocols) { var exports2 = { @@ -2757,16 +2735,25 @@ var require_follow_redirects = __commonJS({ var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); function request(input, options, callback) { - if (isURL(input)) { - input = spreadUrlObject(input); - } else if (isString2(input)) { - input = spreadUrlObject(parseUrl(input)); + if (isString2(input)) { + var parsed; + try { + parsed = urlToOptions(new URL2(input)); + } catch (err) { + parsed = url3.parse(input); + } + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } + input = parsed; + } else if (URL2 && input instanceof URL2) { + input = urlToOptions(input); } else { callback = options; - options = validateUrl(input); + options = input; input = { protocol }; } - if (isFunction4(options)) { + if (isFunction2(options)) { callback = options; options = null; } @@ -2779,7 +2766,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug2("options", options); + debug("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -2796,43 +2783,20 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function parseUrl(input) { - var parsed; - if (useNativeURL) { - parsed = new URL2(input); - } else { - parsed = validateUrl(url2.parse(input)); - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } + function urlToOptions(urlObject) { + var options = { + protocol: urlObject.protocol, + hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, + hash: urlObject.hash, + search: urlObject.search, + pathname: urlObject.pathname, + path: urlObject.pathname + urlObject.search, + href: urlObject.href + }; + if (urlObject.port !== "") { + options.port = Number(urlObject.port); } - return parsed; - } - function resolveUrl(relative, base) { - return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); - } - function validateUrl(input) { - if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { - throw new InvalidUrlError({ input: input.href || input }); - } - if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { - throw new InvalidUrlError({ input: input.href || input }); - } - return input; - } - function spreadUrlObject(urlObject, target) { - var spread3 = target || {}; - for (var key of preservedUrlFields) { - spread3[key] = urlObject[key]; - } - if (spread3.hostname.startsWith("[")) { - spread3.hostname = spread3.hostname.slice(1, -1); - } - if (spread3.port !== "") { - spread3.port = Number(spread3.port); - } - spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; - return spread3; + return options; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -2852,24 +2816,16 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - Object.defineProperties(CustomError.prototype, { - constructor: { - value: CustomError, - enumerable: false - }, - name: { - value: "Error [" + code + "]", - enumerable: false - } - }); + CustomError.prototype.constructor = CustomError; + CustomError.prototype.name = "Error [" + code + "]"; return CustomError; } - function destroyRequest(request, error) { + function abortRequest(request) { for (var event of events) { request.removeListener(event, eventHandlers[event]); } request.on("error", noop2); - request.destroy(error); + request.abort(); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -2879,15 +2835,12 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction4(value) { + function isFunction2(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } - function isURL(value) { - return URL2 && value instanceof URL2; - } module2.exports = wrap({ http: http2, https: https2 }); module2.exports.wrap = wrap; } @@ -2914,9 +2867,9 @@ var require_http = __commonJS({ var https2 = require("https"); var httpFollow2 = require_follow_redirects().http; var httpsFollow2 = require_follow_redirects().https; - var url2 = require("url"); + var url3 = require("url"); var zlib2 = require("zlib"); - var VERSION4 = require_data().version; + var VERSION3 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -2936,15 +2889,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config9) { + module2.exports = function httpAdapter2(config8) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config9.cancelToken) { - config9.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config9.signal) { - config9.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -2957,8 +2910,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config9.data; - var headers = config9.headers; + var data = config8.data; + var headers = config8.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -2968,7 +2921,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION4; + headers["User-Agent"] = "axios/" + VERSION3; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -2979,24 +2932,24 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config9 + config8 )); } - if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config9)); + if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config8)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config9.auth) { - var username = config9.auth.username || ""; - var password = config9.auth.password || ""; + if (config8.auth) { + var username = config8.auth.username || ""; + var password = config8.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config9.baseURL, config9.url); - var parsed = url2.parse(fullPath); + var fullPath = buildFullPath2(config8.baseURL, config8.url); + var parsed = url3.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { var urlAuth = parsed.auth.split(":"); @@ -3008,41 +2961,41 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; + var agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; try { - buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config9; - customErr.url = config9.url; + customErr.config = config8; + customErr.url = config8.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""), - method: config9.method.toUpperCase(), + path: buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""), + method: config8.method.toUpperCase(), headers, agent, - agents: { http: config9.httpAgent, https: config9.httpsAgent }, + agents: { http: config8.httpAgent, https: config8.httpsAgent }, auth }; - if (config9.socketPath) { - options.socketPath = config9.socketPath; + if (config8.socketPath) { + options.socketPath = config8.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config9.proxy; + var proxy = config8.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; if (proxyUrl) { - var parsedProxyUrl = url2.parse(proxyUrl); + var parsedProxyUrl = url3.parse(proxyUrl); var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s2) { - return s2.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s) { + return s.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -3079,28 +3032,28 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config9.transport) { - transport = config9.transport; - } else if (config9.maxRedirects === 0) { + if (config8.transport) { + transport = config8.transport; + } else if (config8.maxRedirects === 0) { transport = isHttpsProxy ? https2 : http2; } else { - if (config9.maxRedirects) { - options.maxRedirects = config9.maxRedirects; + if (config8.maxRedirects) { + options.maxRedirects = config8.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config9.maxBodyLength > -1) { - options.maxBodyLength = config9.maxBodyLength; + if (config8.maxBodyLength > -1) { + options.maxBodyLength = config8.maxBodyLength; } - if (config9.insecureHTTPParser) { - options.insecureHTTPParser = config9.insecureHTTPParser; + if (config8.insecureHTTPParser) { + options.insecureHTTPParser = config8.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config9.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config8.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": @@ -3114,10 +3067,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config9, + config: config8, request: lastRequest }; - if (config9.responseType === "stream") { + if (config8.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -3126,12 +3079,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { + if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config9.maxContentLength + " exceeded", - config9, + "maxContentLength size of " + config8.maxContentLength + " exceeded", + config8, null, lastRequest )); @@ -3142,25 +3095,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config9, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config8, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config9, null, lastRequest)); + reject(enhanceError(err, config8, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config9.responseType !== "arraybuffer") { - responseData = responseData.toString(config9.responseEncoding); - if (!config9.responseEncoding || config9.responseEncoding === "utf8") { + if (config8.responseType !== "arraybuffer") { + responseData = responseData.toString(config8.responseEncoding); + if (!config8.responseEncoding || config8.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config9, err.code, response.request, response)); + reject(enhanceError(err, config8, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -3169,17 +3122,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config9, null, req)); + reject(enhanceError(err, config8, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config9.timeout) { - var timeout = parseInt(config9.timeout, 10); + if (config8.timeout) { + var timeout = parseInt(config8.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config9, + config8, "ERR_PARSE_TIMEOUT", req )); @@ -3188,35 +3141,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config9.timeoutErrorMessage) { - timeoutErrorMessage = config9.timeoutErrorMessage; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config9.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config8.timeout + "ms exceeded"; } - var transitional2 = config9.transitional || transitionalDefaults; + var transitional2 = config8.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config9, + config8, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config9.cancelToken || config9.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config9.cancelToken && config9.cancelToken.subscribe(onCanceled); - if (config9.signal) { - config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config9, null, req)); + reject(enhanceError(err, config8, null, req)); }).pipe(req); } else { req.end(data); @@ -3234,7 +3187,7 @@ var require_defaults = __commonJS({ var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE = { + var DEFAULT_CONTENT_TYPE2 = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -3256,9 +3209,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e3) { - if (e3.name !== "SyntaxError") { - throw e3; + } catch (e2) { + if (e2.name !== "SyntaxError") { + throw e2; } } } @@ -3294,12 +3247,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e3) { + } catch (e2) { if (strictJSONParsing) { - if (e3.name === "SyntaxError") { - throw enhanceError(e3, this, "E_JSON_PARSE"); + if (e2.name === "SyntaxError") { + throw enhanceError(e2, this, "E_JSON_PARSE"); } - throw e3; + throw e2; } } } @@ -3319,11 +3272,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); }); module2.exports = defaults2; } @@ -3364,53 +3317,53 @@ var require_dispatchRequest = __commonJS({ var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config9) { - if (config9.cancelToken) { - config9.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config8) { + if (config8.cancelToken) { + config8.cancelToken.throwIfRequested(); } - if (config9.signal && config9.signal.aborted) { + if (config8.signal && config8.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config9) { - throwIfCancellationRequested2(config9); - config9.headers = config9.headers || {}; - config9.data = transformData2.call( - config9, - config9.data, - config9.headers, - config9.transformRequest + module2.exports = function dispatchRequest2(config8) { + throwIfCancellationRequested2(config8); + config8.headers = config8.headers || {}; + config8.data = transformData2.call( + config8, + config8.data, + config8.headers, + config8.transformRequest ); - config9.headers = utils.merge( - config9.headers.common || {}, - config9.headers[config9.method] || {}, - config9.headers + config8.headers = utils.merge( + config8.headers.common || {}, + config8.headers[config8.method] || {}, + config8.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config9.headers[method]; + delete config8.headers[method]; } ); - var adapter = config9.adapter || defaults2.adapter; - return adapter(config9).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config9); + var adapter = config8.adapter || defaults2.adapter; + return adapter(config8).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config8); response.data = transformData2.call( - config9, + config8, response.data, response.headers, - config9.transformResponse + config8.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config9); + throwIfCancellationRequested2(config8); if (reason && reason.response) { reason.response.data = transformData2.call( - config9, + config8, reason.response.data, reason.response.headers, - config9.transformResponse + config8.transformResponse ); } } @@ -3427,7 +3380,7 @@ var require_mergeConfig = __commonJS({ var utils = require_utils(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config9 = {}; + var config8 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -3495,9 +3448,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); }); - return config9; + return config8; }; } }); @@ -3506,17 +3459,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION4 = require_data().version; + var VERSION3 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i3) { + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -3539,9 +3492,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i3 = keys.length; - while (i3-- > 0) { - var opt = keys[i3]; + var i2 = keys.length; + while (i2-- > 0) { + var opt = keys[i2]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -3581,22 +3534,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config9) { + Axios3.prototype.request = function request(configOrUrl, config8) { if (typeof configOrUrl === "string") { - config9 = config9 || {}; - config9.url = configOrUrl; + config8 = config8 || {}; + config8.url = configOrUrl; } else { - config9 = configOrUrl || {}; + config8 = configOrUrl || {}; } - config9 = mergeConfig3(this.defaults, config9); - if (config9.method) { - config9.method = config9.method.toLowerCase(); + config8 = mergeConfig3(this.defaults, config8); + if (config8.method) { + config8.method = config8.method.toLowerCase(); } else if (this.defaults.method) { - config9.method = this.defaults.method.toLowerCase(); + config8.method = this.defaults.method.toLowerCase(); } else { - config9.method = "get"; + config8.method = "get"; } - var transitional2 = config9.transitional; + var transitional2 = config8.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -3607,7 +3560,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -3622,13 +3575,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config9); + promise = Promise.resolve(config8); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config9; + var newConfig = config8; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -3649,24 +3602,24 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config9) { - config9 = mergeConfig3(this.defaults, config9); - return buildURL2(config9.url, config9.params, config9.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config8) { + config8 = mergeConfig3(this.defaults, config8); + return buildURL2(config8.url, config8.params, config8.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios3.prototype[method] = function(url2, config9) { - return this.request(mergeConfig3(config9 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { + Axios3.prototype[method] = function(url3, config8) { + return this.request(mergeConfig3(config8 || {}, { method, - url: url2, - data: (config9 || {}).data + url: url3, + data: (config8 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { - Axios3.prototype[method] = function(url2, data, config9) { - return this.request(mergeConfig3(config9 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { + Axios3.prototype[method] = function(url3, data, config8) { + return this.request(mergeConfig3(config8 || {}, { method, - url: url2, + url: url3, data })); }; @@ -3692,10 +3645,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i3; - var l3 = token._listeners.length; - for (i3 = 0; i3 < l3; i3++) { - token._listeners[i3](cancel); + var i2; + var l = token._listeners.length; + for (i2 = 0; i2 < l; i2++) { + token._listeners[i2](cancel); } token._listeners = null; }); @@ -3862,25 +3815,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P4 ? value : new P4(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P4 || (P4 = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -3944,18 +3897,18 @@ var require_common2 = __commonJS({ } } } - exports.setSearchParams = function(url2, ...objects) { - const searchParams = new URLSearchParams(url2.search); + exports.setSearchParams = function(url3, ...objects) { + const searchParams = new URLSearchParams(url3.search); setFlattenedQueryParams(searchParams, objects); - url2.search = searchParams.toString(); + url3.search = searchParams.toString(); }; exports.serializeDataIfNeeded = function(value, requestOptions, configuration) { const nonString = typeof value !== "string"; const needsSerialization = nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers["Content-Type"]) : nonString; return needsSerialization ? JSON.stringify(value !== void 0 ? value : {}) : value || ""; }; - exports.toPathString = function(url2) { - return url2.pathname + url2.search + url2.hash; + exports.toPathString = function(url3) { + return url3.pathname + url3.search + url3.hash; }; exports.createRequestFunction = function(axiosArgs, globalAxios, BASE_PATH, configuration) { return (axios2 = globalAxios, basePath2 = BASE_PATH) => { @@ -3970,25 +3923,25 @@ var require_common2 = __commonJS({ var require_api = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P4 ? value : new P4(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P4 || (P4 = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -4005,14 +3958,12 @@ var require_api = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant", - Function: "function" + Assistant: "assistant" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant", - Function: "function" + Assistant: "assistant" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -4241,7 +4192,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -4263,8 +4214,8 @@ var require_api = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n2 !== void 0) { - localVarFormParams.append("n", n2); + if (n !== void 0) { + localVarFormParams.append("n", n); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4285,7 +4236,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4300,8 +4251,8 @@ var require_api = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n2 !== void 0) { - localVarFormParams.append("n", n2); + if (n !== void 0) { + localVarFormParams.append("n", n); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4736,15 +4687,15 @@ var require_api = __commonJS({ return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n2, size, responseFormat, user, options) { + createImageVariation(image, n, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, @@ -4879,11 +4830,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); }, - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, - createImageVariation(image, n2, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, createModeration(createModerationRequest, options) { return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); @@ -4966,11 +4917,11 @@ var require_api = __commonJS({ createImage(createImageRequest, options) { return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } - createImageVariation(image, n2, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); @@ -5030,7 +4981,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.3.0", + version: "3.2.1", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -5065,7 +5016,7 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream2 = require("stream").Stream; + var Stream = require("stream").Stream; var util2 = require("util"); module2.exports = DelayedStream; function DelayedStream() { @@ -5077,7 +5028,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream2); + util2.inherits(DelayedStream, Stream); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -5124,9 +5075,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r3 = Stream2.prototype.pipe.apply(this, arguments); + var r2 = Stream.prototype.pipe.apply(this, arguments); this.resume(); - return r3; + return r2; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -5157,7 +5108,7 @@ var require_delayed_stream = __commonJS({ var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { var util2 = require("util"); - var Stream2 = require("stream").Stream; + var Stream = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -5172,7 +5123,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream2); + util2.inherits(CombinedStream, Stream); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -5204,7 +5155,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream2.prototype.pipe.call(this, dest, options); + Stream.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -13931,8 +13882,8 @@ var require_mime_types = __commonJS({ return; } extensions[type] = exts; - for (var i3 = 0; i3 < exts.length; i3++) { - var extension2 = exts[i3]; + for (var i2 = 0; i2 < exts.length; i2++) { + var extension2 = exts[i2]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -14047,8 +13998,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a4, b7) { - return sortMethod(list[a4], list[b7]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b6) { + return sortMethod(list[a2], list[b6]); }); } return initState; @@ -14125,11 +14076,11 @@ var require_serialOrdered = __commonJS({ }); return terminator.bind(state, callback); } - function ascending(a4, b7) { - return a4 < b7 ? -1 : a4 > b7 ? 1 : 0; + function ascending(a2, b6) { + return a2 < b6 ? -1 : a2 > b6 ? 1 : 0; } - function descending(a4, b7) { - return -1 * ascending(a4, b7); + function descending(a2, b6) { + return -1 * ascending(a2, b6); } } }); @@ -14177,16 +14128,16 @@ var require_form_data = __commonJS({ var http2 = require("http"); var https2 = require("https"); var parseUrl = require("url").parse; - var fs5 = require("fs"); - var Stream2 = require("stream").Stream; + var fs4 = require("fs"); + var Stream = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData5; - util2.inherits(FormData5, CombinedStream); - function FormData5(options) { - if (!(this instanceof FormData5)) { - return new FormData5(options); + module2.exports = FormData3; + util2.inherits(FormData3, CombinedStream); + function FormData3(options) { + if (!(this instanceof FormData3)) { + return new FormData3(options); } this._overheadLength = 0; this._valueLength = 0; @@ -14197,9 +14148,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData5.LINE_BREAK = "\r\n"; - FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData5.prototype.append = function(field, value, options) { + FormData3.LINE_BREAK = "\r\n"; + FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData3.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -14219,7 +14170,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData5.prototype._trackLength = function(header, value, options) { + FormData3.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -14229,20 +14180,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { + this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData5.prototype._lengthRetriever = function(value, callback) { + FormData3.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs5.stat(value.path, function(err, stat) { + fs4.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -14264,7 +14215,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData5.prototype._multiPartHeader = function(field, value, options) { + FormData3.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -14290,12 +14241,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; + return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; }; - FormData5.prototype._getContentDisposition = function(value, options) { + FormData3.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path5.normalize(options.filepath).replace(/\\/g, "/"); @@ -14309,7 +14260,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData5.prototype._getContentType = function(value, options) { + FormData3.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -14324,13 +14275,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData5.DEFAULT_CONTENT_TYPE; + contentType = FormData3.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData5.prototype._multiPartFooter = function() { + FormData3.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData5.LINE_BREAK; + var footer = FormData3.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -14338,10 +14289,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData5.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; + FormData3.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; }; - FormData5.prototype.getHeaders = function(userHeaders) { + FormData3.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -14353,40 +14304,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData5.prototype.setBoundary = function(boundary) { + FormData3.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData5.prototype.getBoundary = function() { + FormData3.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData5.prototype.getBuffer = function() { + FormData3.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { - if (typeof this._streams[i3] !== "function") { - if (Buffer.isBuffer(this._streams[i3])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); + for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { + if (typeof this._streams[i2] !== "function") { + if (Buffer.isBuffer(this._streams[i2])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); } - if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); + if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData5.prototype._generateBoundary = function() { + FormData3.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i3 = 0; i3 < 24; i3++) { + for (var i2 = 0; i2 < 24; i2++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData5.prototype.getLengthSync = function() { + FormData3.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14396,14 +14347,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData5.prototype.hasKnownLength = function() { + FormData3.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData5.prototype.getLength = function(cb) { + FormData3.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14423,7 +14374,7 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData5.prototype.submit = function(params, cb) { + FormData3.prototype.submit = function(params, cb) { var request, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); @@ -14468,14 +14419,14 @@ var require_form_data = __commonJS({ }.bind(this)); return request; }; - FormData5.prototype._error = function(err) { + FormData3.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData5.prototype.toString = function() { + FormData3.prototype.toString = function() { return "[object FormData]"; }; } @@ -14522,21 +14473,21 @@ var require_configuration = __commonJS({ var require_dist = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { if (k22 === void 0) - k22 = k7; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m5[k7]; + k22 = k6; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m4[k6]; } }); - } : function(o3, m5, k7, k22) { + } : function(o2, m4, k6, k22) { if (k22 === void 0) - k22 = k7; - o3[k22] = m5[k7]; + k22 = k6; + o2[k22] = m4[k6]; }); - var __exportStar = exports && exports.__exportStar || function(m5, exports2) { - for (var p4 in m5) + var __exportStar = exports && exports.__exportStar || function(m4, exports2) { + for (var p4 in m4) if (p4 !== "default" && !exports2.hasOwnProperty(p4)) - __createBinding(exports2, m5, p4); + __createBinding(exports2, m4, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_api(), exports); @@ -14549,14 +14500,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.4.5", + version: "16.0.3", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - types: "./lib/main.d.ts", require: "./lib/main.js", + types: "./lib/main.d.ts", default: "./lib/main.js" }, "./config": "./config.js", @@ -14573,7 +14524,6 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", - "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -14581,7 +14531,6 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, - funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -14594,22 +14543,19 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@definitelytyped/dtslint": "^0.0.133", - "@types/node": "^18.11.3", + "@types/node": "^17.0.9", decache: "^4.6.1", - sinon: "^14.0.1", - standard: "^17.0.0", + dtslint: "^3.7.0", + sinon: "^12.0.1", + standard: "^16.0.4", "standard-markdown": "^7.1.0", - "standard-version": "^9.5.0", - tap: "^16.3.0", + "standard-version": "^9.3.2", + tap: "^15.1.6", tar: "^6.1.11", - typescript: "^4.8.4" + typescript: "^4.5.4" }, engines: { node: ">=12" - }, - browser: { - fs: false } }; } @@ -14618,10 +14564,9 @@ var require_package2 = __commonJS({ // node_modules/dotenv/lib/main.js var require_main = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs5 = require("fs"); + var fs4 = require("fs"); var path5 = require("path"); var os3 = require("os"); - var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -14644,240 +14589,57 @@ var require_main = __commonJS({ } return obj; } - function _parseVault(options) { - const vaultPath = _vaultPath(options); - const result = DotenvModule.configDotenv({ path: vaultPath }); - if (!result.parsed) { - const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); - err.code = "MISSING_DATA"; - throw err; - } - const keys = _dotenvKey(options).split(","); - const length = keys.length; - let decrypted; - for (let i3 = 0; i3 < length; i3++) { - try { - const key = keys[i3].trim(); - const attrs = _instructions(result, key); - decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); - break; - } catch (error) { - if (i3 + 1 >= length) { - throw error; - } - } - } - return DotenvModule.parse(decrypted); - } function _log(message) { - console.log(`[dotenv@${version}][INFO] ${message}`); - } - function _warn(message) { - console.log(`[dotenv@${version}][WARN] ${message}`); - } - function _debug(message) { console.log(`[dotenv@${version}][DEBUG] ${message}`); } - function _dotenvKey(options) { - if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { - return options.DOTENV_KEY; - } - if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { - return process.env.DOTENV_KEY; - } - return ""; - } - function _instructions(result, dotenvKey) { - let uri; - try { - uri = new URL(dotenvKey); - } catch (error) { - if (error.code === "ERR_INVALID_URL") { - const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - throw error; - } - const key = uri.password; - if (!key) { - const err = new Error("INVALID_DOTENV_KEY: Missing key part"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - const environment = uri.searchParams.get("environment"); - if (!environment) { - const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; - const ciphertext = result.parsed[environmentKey]; - if (!ciphertext) { - const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); - err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; - throw err; - } - return { ciphertext, key }; - } - function _vaultPath(options) { - let possibleVaultPath = null; - if (options && options.path && options.path.length > 0) { - if (Array.isArray(options.path)) { - for (const filepath of options.path) { - if (fs5.existsSync(filepath)) { - possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; - } - } - } else { - possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; - } - } else { - possibleVaultPath = path5.resolve(process.cwd(), ".env.vault"); - } - if (fs5.existsSync(possibleVaultPath)) { - return possibleVaultPath; - } - return null; - } function _resolveHome(envPath) { return envPath[0] === "~" ? path5.join(os3.homedir(), envPath.slice(1)) : envPath; } - function _configVault(options) { - _log("Loading env from encrypted .env.vault"); - const parsed = DotenvModule._parseVault(options); - let processEnv = process.env; - if (options && options.processEnv != null) { - processEnv = options.processEnv; - } - DotenvModule.populate(processEnv, parsed, options); - return { parsed }; - } - function configDotenv(options) { - const dotenvPath = path5.resolve(process.cwd(), ".env"); + function config8(options) { + let dotenvPath = path5.resolve(process.cwd(), ".env"); let encoding = "utf8"; - const debug2 = Boolean(options && options.debug); - if (options && options.encoding) { - encoding = options.encoding; - } else { - if (debug2) { - _debug("No encoding is specified. UTF-8 is used by default"); - } - } - let optionPaths = [dotenvPath]; - if (options && options.path) { - if (!Array.isArray(options.path)) { - optionPaths = [_resolveHome(options.path)]; - } else { - optionPaths = []; - for (const filepath of options.path) { - optionPaths.push(_resolveHome(filepath)); - } - } - } - let lastError; - const parsedAll = {}; - for (const path6 of optionPaths) { - try { - const parsed = DotenvModule.parse(fs5.readFileSync(path6, { encoding })); - DotenvModule.populate(parsedAll, parsed, options); - } catch (e3) { - if (debug2) { - _debug(`Failed to load ${path6} ${e3.message}`); - } - lastError = e3; - } - } - let processEnv = process.env; - if (options && options.processEnv != null) { - processEnv = options.processEnv; - } - DotenvModule.populate(processEnv, parsedAll, options); - if (lastError) { - return { parsed: parsedAll, error: lastError }; - } else { - return { parsed: parsedAll }; - } - } - function config9(options) { - if (_dotenvKey(options).length === 0) { - return DotenvModule.configDotenv(options); - } - const vaultPath = _vaultPath(options); - if (!vaultPath) { - _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); - return DotenvModule.configDotenv(options); - } - return DotenvModule._configVault(options); - } - function decrypt(encrypted, keyStr) { - const key = Buffer.from(keyStr.slice(-64), "hex"); - let ciphertext = Buffer.from(encrypted, "base64"); - const nonce = ciphertext.subarray(0, 12); - const authTag = ciphertext.subarray(-16); - ciphertext = ciphertext.subarray(12, -16); - try { - const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); - aesgcm.setAuthTag(authTag); - return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; - } catch (error) { - const isRange = error instanceof RangeError; - const invalidKeyLength = error.message === "Invalid key length"; - const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; - if (isRange || invalidKeyLength) { - const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } else if (decryptionFailed) { - const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); - err.code = "DECRYPTION_FAILED"; - throw err; - } else { - throw error; - } - } - } - function populate(processEnv, parsed, options = {}) { - const debug2 = Boolean(options && options.debug); + const debug = Boolean(options && options.debug); const override = Boolean(options && options.override); - if (typeof parsed !== "object") { - const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); - err.code = "OBJECT_REQUIRED"; - throw err; + if (options) { + if (options.path != null) { + dotenvPath = _resolveHome(options.path); + } + if (options.encoding != null) { + encoding = options.encoding; + } } - for (const key of Object.keys(parsed)) { - if (Object.prototype.hasOwnProperty.call(processEnv, key)) { - if (override === true) { - processEnv[key] = parsed[key]; - } - if (debug2) { + try { + const parsed = DotenvModule.parse(fs4.readFileSync(dotenvPath, { encoding })); + Object.keys(parsed).forEach(function(key) { + if (!Object.prototype.hasOwnProperty.call(process.env, key)) { + process.env[key] = parsed[key]; + } else { if (override === true) { - _debug(`"${key}" is already defined and WAS overwritten`); - } else { - _debug(`"${key}" is already defined and was NOT overwritten`); + process.env[key] = parsed[key]; + } + if (debug) { + if (override === true) { + _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); + } else { + _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); + } } } - } else { - processEnv[key] = parsed[key]; + }); + return { parsed }; + } catch (e2) { + if (debug) { + _log(`Failed to load ${dotenvPath} ${e2.message}`); } + return { error: e2 }; } } var DotenvModule = { - configDotenv, - _configVault, - _parseVault, - config: config9, - decrypt, - parse, - populate + config: config8, + parse }; - module2.exports.configDotenv = DotenvModule.configDotenv; - module2.exports._configVault = DotenvModule._configVault; - module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; - module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; - module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -14900,26 +14662,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k7 of Object.keys(obj)) { - const val = obj[k7]; + for (const k6 of Object.keys(obj)) { + const val = obj[k6]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k7 + "[]") + separator + safe(item) + eol; + out += safe(k6 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k7); + children.push(k6); } else { - out += safe(k7) + separator + safe(val) + eol; + out += safe(k6) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k7 of children) { - const nk = dotSplit(k7).join("\\."); + for (const k6 of children) { + const nk = dotSplit(k6).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k7], { + const child = encode3(obj[k6], { section, whitespace }); @@ -14935,13 +14697,13 @@ var require_ini = __commonJS({ const out = /* @__PURE__ */ Object.create(null); let p4 = out; let section = null; - const re3 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re3); + const match = line.match(re2); if (!match) { continue; } @@ -14976,14 +14738,14 @@ var require_ini = __commonJS({ } } const remove = []; - for (const k7 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k7) || typeof out[k7] !== "object" || Array.isArray(out[k7])) { + for (const k6 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k6) || typeof out[k6] !== "object" || Array.isArray(out[k6])) { continue; } - const parts = dotSplit(k7); + const parts = dotSplit(k6); p4 = out; - const l3 = parts.pop(); - const nl = l3.replace(/\\\./g, "."); + const l = parts.pop(); + const nl = l.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; @@ -14993,11 +14755,11 @@ var require_ini = __commonJS({ } p4 = p4[part]; } - if (p4 === out && nl === l3) { + if (p4 === out && nl === l) { continue; } - p4[nl] = out[k7]; - remove.push(k7); + p4[nl] = out[k6]; + remove.push(k6); } for (const del of remove) { delete out[del]; @@ -15026,8 +14788,8 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { - const c3 = val.charAt(i3); + for (let i2 = 0, l = val.length; i2 < l; i2++) { + const c3 = val.charAt(i2); if (esc) { if ("\\;#".indexOf(c3) !== -1) { unesc += c3; @@ -15128,12 +14890,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); + })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); + })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); } }); @@ -15141,25 +14903,25 @@ var require_rules = __commonJS({ var require_lib = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { if (k22 === void 0) - k22 = k7; - var desc = Object.getOwnPropertyDescriptor(m5, k7); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m4, k6); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k7]; + return m4[k6]; } }; } - Object.defineProperty(o3, k22, desc); - } : function(o3, m5, k7, k22) { + Object.defineProperty(o2, k22, desc); + } : function(o2, m4, k6, k22) { if (k22 === void 0) - k22 = k7; - o3[k22] = m5[k7]; + k22 = k6; + o2[k22] = m4[k6]; }); - var __exportStar = exports && exports.__exportStar || function(m5, exports2) { - for (var p4 in m5) + var __exportStar = exports && exports.__exportStar || function(m4, exports2) { + for (var p4 in m4) if (p4 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p4)) - __createBinding(exports2, m5, p4); + __createBinding(exports2, m4, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_ensure(), exports); @@ -15186,11 +14948,11 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s2) { - return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s) { + return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; }; - function getProxyForUrl2(url2) { - var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; + function getProxyForUrl2(url3) { + var parsedUrl = typeof url3 === "string" ? parseUrl(url3) : url3 || {}; var proto2 = parsedUrl.protocol; var hostname = parsedUrl.host; var port = parsedUrl.port; @@ -15290,13 +15052,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length, 1) >>> 0; + const ptr2 = malloc(buf.length); getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len, 1) >>> 0; + let ptr = malloc(len); const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -15309,7 +15071,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + ptr = realloc(ptr, len, len = offset + arg.length * 3); const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -15317,8 +15079,8 @@ var require_tiktoken_bg = __commonJS({ WASM_VECTOR_LEN = offset; return ptr; } - function isLikeNone(x5) { - return x5 === void 0 || x5 === null; + function isLikeNone(x4) { + return x4 === void 0 || x4 === null; } var cachedInt32Memory0 = null; function getInt32Memory0() { @@ -15331,7 +15093,6 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -15350,124 +15111,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { - ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1, 1) >>> 0; + const ptr = malloc(arg.length * 1); getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4, 4) >>> 0; + const ptr = malloc(arg.length * 4); getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f4, args) { + function handleError(f3, args) { try { - return f4.apply(this, args); - } catch (e3) { - wasm.__wbindgen_export_3(addHeapObject(e3)); + return f3.apply(this, args); + } catch (e2) { + wasm.__wbindgen_export_3(addHeapObject(e2)); } } - var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - this.__wbg_ptr = ret >>> 0; - return this; + return Tiktoken2.__wrap(ret); } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.__wbg_ptr); + wasm.tiktoken_name(retptr, this.ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v1; + let v0; if (r0 !== 0) { - v1 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); + v0 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); } - return v1; + return v0; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } + static __wrap(ptr) { + const obj = Object.create(Tiktoken2.prototype); + obj.ptr = ptr; + return obj; + } __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - TiktokenFinalization.unregister(this); + const ptr = this.ptr; + this.ptr = 0; return ptr; } free() { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r22 = getInt32Memory0()[retptr / 4 + 2]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r22); + throw takeObject(r2); } - var v22 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4, 4); - return v22; + var v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v22 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4, 4); - return v22; + var v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r22 = getInt32Memory0()[retptr / 4 + 2]; - if (r22) { + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { throw takeObject(r1); } return takeObject(r0); @@ -15477,48 +15238,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v22 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); - return v22; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); - return v1; + var v0 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); + return v0; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.ptr); return takeObject(ret); } }; @@ -15527,7 +15288,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_daa6661e90c04140 = function() { + module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -15538,19 +15299,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_06816e879d29d4df = function() { + module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -15569,14 +15330,15 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path5 = require("path"); - var fs5 = require("fs"); - var candidates = __dirname.split(path5.sep).reduce((memo, _7, index, array) => { + var fs4 = require("fs"); + var candidates = __dirname.split(path5.sep).reduce((memo, _6, index, array) => { const prefix = array.slice(0, index + 1).join(path5.sep) + path5.sep; if (!prefix.includes("node_modules" + path5.sep)) { memo.unshift( path5.join( prefix, "node_modules", + "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -15589,7 +15351,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs5.readFileSync(candidate); + bytes = fs4.readFileSync(candidate); break; } catch { } @@ -15603,10316 +15365,6 @@ var require_tiktoken = __commonJS({ } }); -// node_modules/webidl-conversions/lib/index.js -var require_lib2 = __commonJS({ - "node_modules/webidl-conversions/lib/index.js"(exports, module2) { - "use strict"; - var conversions = {}; - module2.exports = conversions; - function sign(x5) { - return x5 < 0 ? -1 : 1; - } - function evenRound(x5) { - if (x5 % 1 === 0.5 && (x5 & 1) === 0) { - return Math.floor(x5); - } else { - return Math.round(x5); - } - } - function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function(V6, opts) { - if (!opts) - opts = {}; - let x5 = +V6; - if (opts.enforceRange) { - if (!Number.isFinite(x5)) { - throw new TypeError("Argument is not a finite number"); - } - x5 = sign(x5) * Math.floor(Math.abs(x5)); - if (x5 < lowerBound || x5 > upperBound) { - throw new TypeError("Argument is not in byte range"); - } - return x5; - } - if (!isNaN(x5) && opts.clamp) { - x5 = evenRound(x5); - if (x5 < lowerBound) - x5 = lowerBound; - if (x5 > upperBound) - x5 = upperBound; - return x5; - } - if (!Number.isFinite(x5) || x5 === 0) { - return 0; - } - x5 = sign(x5) * Math.floor(Math.abs(x5)); - x5 = x5 % moduloVal; - if (!typeOpts.unsigned && x5 >= moduloBound) { - return x5 - moduloVal; - } else if (typeOpts.unsigned) { - if (x5 < 0) { - x5 += moduloVal; - } else if (x5 === -0) { - return 0; - } - } - return x5; - }; - } - conversions["void"] = function() { - return void 0; - }; - conversions["boolean"] = function(val) { - return !!val; - }; - conversions["byte"] = createNumberConversion(8, { unsigned: false }); - conversions["octet"] = createNumberConversion(8, { unsigned: true }); - conversions["short"] = createNumberConversion(16, { unsigned: false }); - conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - conversions["long"] = createNumberConversion(32, { unsigned: false }); - conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); - conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions["double"] = function(V6) { - const x5 = +V6; - if (!Number.isFinite(x5)) { - throw new TypeError("Argument is not a finite floating-point value"); - } - return x5; - }; - conversions["unrestricted double"] = function(V6) { - const x5 = +V6; - if (isNaN(x5)) { - throw new TypeError("Argument is NaN"); - } - return x5; - }; - conversions["float"] = conversions["double"]; - conversions["unrestricted float"] = conversions["unrestricted double"]; - conversions["DOMString"] = function(V6, opts) { - if (!opts) - opts = {}; - if (opts.treatNullAsEmptyString && V6 === null) { - return ""; - } - return String(V6); - }; - conversions["ByteString"] = function(V6, opts) { - const x5 = String(V6); - let c3 = void 0; - for (let i3 = 0; (c3 = x5.codePointAt(i3)) !== void 0; ++i3) { - if (c3 > 255) { - throw new TypeError("Argument is not a valid bytestring"); - } - } - return x5; - }; - conversions["USVString"] = function(V6) { - const S6 = String(V6); - const n2 = S6.length; - const U7 = []; - for (let i3 = 0; i3 < n2; ++i3) { - const c3 = S6.charCodeAt(i3); - if (c3 < 55296 || c3 > 57343) { - U7.push(String.fromCodePoint(c3)); - } else if (56320 <= c3 && c3 <= 57343) { - U7.push(String.fromCodePoint(65533)); - } else { - if (i3 === n2 - 1) { - U7.push(String.fromCodePoint(65533)); - } else { - const d7 = S6.charCodeAt(i3 + 1); - if (56320 <= d7 && d7 <= 57343) { - const a4 = c3 & 1023; - const b7 = d7 & 1023; - U7.push(String.fromCodePoint((2 << 15) + (2 << 9) * a4 + b7)); - ++i3; - } else { - U7.push(String.fromCodePoint(65533)); - } - } - } - } - return U7.join(""); - }; - conversions["Date"] = function(V6, opts) { - if (!(V6 instanceof Date)) { - throw new TypeError("Argument is not a Date object"); - } - if (isNaN(V6)) { - return void 0; - } - return V6; - }; - conversions["RegExp"] = function(V6, opts) { - if (!(V6 instanceof RegExp)) { - V6 = new RegExp(V6); - } - return V6; - }; - } -}); - -// node_modules/whatwg-url/lib/utils.js -var require_utils2 = __commonJS({ - "node_modules/whatwg-url/lib/utils.js"(exports, module2) { - "use strict"; - module2.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i3 = 0; i3 < keys.length; ++i3) { - Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); - } - }; - module2.exports.wrapperSymbol = Symbol("wrapper"); - module2.exports.implSymbol = Symbol("impl"); - module2.exports.wrapperForImpl = function(impl) { - return impl[module2.exports.wrapperSymbol]; - }; - module2.exports.implForWrapper = function(wrapper) { - return wrapper[module2.exports.implSymbol]; - }; - } -}); - -// node_modules/tr46/lib/mappingTable.json -var require_mappingTable = __commonJS({ - "node_modules/tr46/lib/mappingTable.json"(exports, module2) { - module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; - } -}); - -// node_modules/tr46/index.js -var require_tr46 = __commonJS({ - "node_modules/tr46/index.js"(exports, module2) { - "use strict"; - var punycode = require("punycode"); - var mappingTable = require_mappingTable(); - var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 - }; - function normalize(str) { - return str.split("\0").map(function(s2) { - return s2.normalize("NFC"); - }).join("\0"); - } - function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - while (start <= end) { - var mid = Math.floor((start + end) / 2); - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; - } else { - start = mid + 1; - } - } - return null; - } - var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - function countSymbols(string) { - return string.replace(regexAstralSymbols, "_").length; - } - function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ""; - var len = countSymbols(domain_name); - for (var i3 = 0; i3 < len; ++i3) { - var codePoint = domain_name.codePointAt(i3); - var status = findStatus(codePoint); - switch (status[1]) { - case "disallowed": - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case "ignored": - break; - case "mapped": - processed += String.fromCodePoint.apply(String, status[2]); - break; - case "deviation": - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case "valid": - processed += String.fromCodePoint(codePoint); - break; - case "disallowed_STD3_mapped": - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case "disallowed_STD3_valid": - if (useSTD3) { - hasError = true; - } - processed += String.fromCodePoint(codePoint); - break; - } - } - return { - string: processed, - error: hasError - }; - } - var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - function validateLabel(label, processing_option) { - if (label.substr(0, 4) === "xn--") { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - var error = false; - if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { - error = true; - } - var len = countSymbols(label); - for (var i3 = 0; i3 < len; ++i3) { - var status = findStatus(label.codePointAt(i3)); - if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { - error = true; - break; - } - } - return { - label, - error - }; - } - function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - var labels = result.string.split("."); - for (var i3 = 0; i3 < labels.length; ++i3) { - try { - var validation = validateLabel(labels[i3]); - labels[i3] = validation.label; - result.error = result.error || validation.error; - } catch (e3) { - result.error = true; - } - } - return { - string: labels.join("."), - error: result.error - }; - } - module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split("."); - labels = labels.map(function(l3) { - try { - return punycode.toASCII(l3); - } catch (e3) { - result.error = true; - return l3; - } - }); - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join(".").length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - for (var i3 = 0; i3 < labels.length; ++i3) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } - } - if (result.error) - return null; - return labels.join("."); - }; - module2.exports.toUnicode = function(domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - return { - domain: result.string, - error: result.error - }; - }; - module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - } -}); - -// node_modules/whatwg-url/lib/url-state-machine.js -var require_url_state_machine = __commonJS({ - "node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { - "use strict"; - var punycode = require("punycode"); - var tr46 = require_tr46(); - var specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var failure = Symbol("failure"); - function countSymbols(str) { - return punycode.ucs2.decode(str).length; - } - function at2(input, idx) { - const c3 = input[idx]; - return isNaN(c3) ? void 0 : String.fromCodePoint(c3); - } - function isASCIIDigit(c3) { - return c3 >= 48 && c3 <= 57; - } - function isASCIIAlpha(c3) { - return c3 >= 65 && c3 <= 90 || c3 >= 97 && c3 <= 122; - } - function isASCIIAlphanumeric(c3) { - return isASCIIAlpha(c3) || isASCIIDigit(c3); - } - function isASCIIHex(c3) { - return isASCIIDigit(c3) || c3 >= 65 && c3 <= 70 || c3 >= 97 && c3 <= 102; - } - function isSingleDot(buffer) { - return buffer === "." || buffer.toLowerCase() === "%2e"; - } - function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; - } - function isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); - } - function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); - } - function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; - } - function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== void 0; - } - function isSpecial(url2) { - return isSpecialScheme(url2.scheme); - } - function defaultPort(scheme) { - return specialSchemes[scheme]; - } - function percentEncode(c3) { - let hex = c3.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = "0" + hex; - } - return "%" + hex; - } - function utf8PercentEncode(c3) { - const buf = new Buffer(c3); - let str = ""; - for (let i3 = 0; i3 < buf.length; ++i3) { - str += percentEncode(buf[i3]); - } - return str; - } - function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i3 = 0; i3 < input.length; ++i3) { - if (input[i3] !== 37) { - output.push(input[i3]); - } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { - output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); - i3 += 2; - } else { - output.push(input[i3]); - } - } - return new Buffer(output).toString(); - } - function isC0ControlPercentEncode(c3) { - return c3 <= 31 || c3 > 126; - } - var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c3) { - return isC0ControlPercentEncode(c3) || extraPathPercentEncodeSet.has(c3); - } - var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c3) { - return isPathPercentEncode(c3) || extraUserinfoPercentEncodeSet.has(c3); - } - function percentEncodeChar(c3, encodeSetPredicate) { - const cStr = String.fromCodePoint(c3); - if (encodeSetPredicate(c3)) { - return utf8PercentEncode(cStr); - } - return cStr; - } - function parseIPv4Number(input) { - let R7 = 10; - if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { - input = input.substring(2); - R7 = 16; - } else if (input.length >= 2 && input.charAt(0) === "0") { - input = input.substring(1); - R7 = 8; - } - if (input === "") { - return 0; - } - const regex = R7 === 10 ? /[^0-9]/ : R7 === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; - if (regex.test(input)) { - return failure; - } - return parseInt(input, R7); - } - function parseIPv4(input) { - const parts = input.split("."); - if (parts[parts.length - 1] === "") { - if (parts.length > 1) { - parts.pop(); - } - } - if (parts.length > 4) { - return input; - } - const numbers = []; - for (const part of parts) { - if (part === "") { - return input; - } - const n2 = parseIPv4Number(part); - if (n2 === failure) { - return input; - } - numbers.push(n2); - } - for (let i3 = 0; i3 < numbers.length - 1; ++i3) { - if (numbers[i3] > 255) { - return failure; - } - } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - let ipv4 = numbers.pop(); - let counter = 0; - for (const n2 of numbers) { - ipv4 += n2 * Math.pow(256, 3 - counter); - ++counter; - } - return ipv4; - } - function serializeIPv4(address) { - let output = ""; - let n2 = address; - for (let i3 = 1; i3 <= 4; ++i3) { - output = String(n2 % 256) + output; - if (i3 !== 4) { - output = "." + output; - } - n2 = Math.floor(n2 / 256); - } - return output; - } - function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - input = punycode.ucs2.decode(input); - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; - } - let value = 0; - let length = 0; - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at2(input, pointer), 16); - ++pointer; - ++length; - } - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - pointer -= length; - if (pieceIndex > 6) { - return failure; - } - let numbersSeen = 0; - while (input[pointer] !== void 0) { - let ipv4Piece = null; - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - if (!isASCIIDigit(input[pointer])) { - return failure; - } - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at2(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - ++numbersSeen; - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - if (numbersSeen !== 4) { - return failure; - } - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === void 0) { - return failure; - } - } else if (input[pointer] !== void 0) { - return failure; - } - address[pieceIndex] = value; - ++pieceIndex; - } - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - return address; - } - function serializeIPv6(address) { - let output = ""; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; - } - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? "::" : ":"; - output += separator; - ignore0 = true; - continue; - } - output += address[pieceIndex].toString(16); - if (pieceIndex !== 7) { - output += ":"; - } - } - return output; - } - function parseHost(input, isSpecialArg) { - if (input[0] === "[") { - if (input[input.length - 1] !== "]") { - return failure; - } - return parseIPv6(input.substring(1, input.length - 1)); - } - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === "number" || ipv4Host === failure) { - return ipv4Host; - } - return asciiDomain; - } - function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - let output = ""; - const decoded = punycode.ucs2.decode(input); - for (let i3 = 0; i3 < decoded.length; ++i3) { - output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); - } - return output; - } - function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; - let currStart = null; - let currLen = 0; - for (let i3 = 0; i3 < arr.length; ++i3) { - if (arr[i3] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - currStart = null; - currLen = 0; - } else { - if (currStart === null) { - currStart = i3; - } - ++currLen; - } - } - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - return { - idx: maxIdx, - len: maxLen - }; - } - function serializeHost(host) { - if (typeof host === "number") { - return serializeIPv4(host); - } - if (host instanceof Array) { - return "[" + serializeIPv6(host) + "]"; - } - return host; - } - function trimControlChars(url2) { - return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); - } - function trimTabAndNewline(url2) { - return url2.replace(/\u0009|\u000A|\u000D/g, ""); - } - function shortenPath(url2) { - const path5 = url2.path; - if (path5.length === 0) { - return; - } - if (url2.scheme === "file" && path5.length === 1 && isNormalizedWindowsDriveLetter(path5[0])) { - return; - } - path5.pop(); - } - function includesCredentials(url2) { - return url2.username !== "" || url2.password !== ""; - } - function cannotHaveAUsernamePasswordPort(url2) { - return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; - } - function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); - } - function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || "utf-8"; - this.stateOverride = stateOverride; - this.url = url2; - this.failure = false; - this.parseError = false; - if (!this.url) { - this.url = { - scheme: "", - username: "", - password: "", - host: null, - port: null, - path: [], - query: null, - fragment: null, - cannotBeABaseURL: false - }; - const res2 = trimControlChars(this.input); - if (res2 !== this.input) { - this.parseError = true; - } - this.input = res2; - } - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - this.state = stateOverride || "scheme start"; - this.buffer = ""; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - this.input = punycode.ucs2.decode(this.input); - for (; this.pointer <= this.input.length; ++this.pointer) { - const c3 = this.input[this.pointer]; - const cStr = isNaN(c3) ? void 0 : String.fromCodePoint(c3); - const ret = this["parse " + this.state](c3, cStr); - if (!ret) { - break; - } else if (ret === failure) { - this.failure = true; - break; - } - } - } - URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c3, cStr) { - if (isASCIIAlpha(c3)) { - this.buffer += cStr.toLowerCase(); - this.state = "scheme"; - } else if (!this.stateOverride) { - this.state = "no scheme"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - return true; - }; - URLStateMachine.prototype["parse scheme"] = function parseScheme(c3, cStr) { - if (isASCIIAlphanumeric(c3) || c3 === 43 || c3 === 45 || c3 === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c3 === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { - return false; - } - if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { - return false; - } - } - this.url.scheme = this.buffer; - this.buffer = ""; - if (this.stateOverride) { - return false; - } - if (this.url.scheme === "file") { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = "file"; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = "special relative or authority"; - } else if (isSpecial(this.url)) { - this.state = "special authority slashes"; - } else if (this.input[this.pointer + 1] === 47) { - this.state = "path or authority"; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(""); - this.state = "cannot-be-a-base-URL path"; - } - } else if (!this.stateOverride) { - this.buffer = ""; - this.state = "no scheme"; - this.pointer = -1; - } else { - this.parseError = true; - return failure; - } - return true; - }; - URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c3) { - if (this.base === null || this.base.cannotBeABaseURL && c3 !== 35) { - return failure; - } else if (this.base.cannotBeABaseURL && c3 === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.url.cannotBeABaseURL = true; - this.state = "fragment"; - } else if (this.base.scheme === "file") { - this.state = "file"; - --this.pointer; - } else { - this.state = "relative"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c3) { - if (c3 === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "relative"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c3) { - if (c3 === 47) { - this.state = "authority"; - } else { - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse relative"] = function parseRelative(c3) { - this.url.scheme = this.base.scheme; - if (isNaN(c3)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c3 === 47) { - this.state = "relative slash"; - } else if (c3 === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c3 === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else if (isSpecial(this.url) && c3 === 92) { - this.parseError = true; - this.state = "relative slash"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c3) { - if (isSpecial(this.url) && (c3 === 47 || c3 === 92)) { - if (c3 === 92) { - this.parseError = true; - } - this.state = "special authority ignore slashes"; - } else if (c3 === 47) { - this.state = "authority"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c3) { - if (c3 === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "special authority ignore slashes"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c3) { - if (c3 !== 47 && c3 !== 92) { - this.state = "authority"; - --this.pointer; - } else { - this.parseError = true; - } - return true; - }; - URLStateMachine.prototype["parse authority"] = function parseAuthority(c3, cStr) { - if (c3 === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = "%40" + this.buffer; - } - this.atFlag = true; - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } - } - this.buffer = ""; - } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { - if (this.atFlag && this.buffer === "") { - this.parseError = true; - return failure; - } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ""; - this.state = "host"; - } else { - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c3, cStr) { - if (this.stateOverride && this.url.scheme === "file") { - --this.pointer; - this.state = "file host"; - } else if (c3 === 58 && !this.arrFlag) { - if (this.buffer === "") { - this.parseError = true; - return failure; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ""; - this.state = "port"; - if (this.stateOverride === "hostname") { - return false; - } - } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === "") { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ""; - this.state = "path start"; - if (this.stateOverride) { - return false; - } - } else { - if (c3 === 91) { - this.arrFlag = true; - } else if (c3 === 93) { - this.arrFlag = false; - } - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse port"] = function parsePort(c3, cStr) { - if (isASCIIDigit(c3)) { - this.buffer += cStr; - } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92 || this.stateOverride) { - if (this.buffer !== "") { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; - } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ""; - } - if (this.stateOverride) { - return false; - } - this.state = "path start"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - return true; - }; - var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype["parse file"] = function parseFile(c3) { - this.url.scheme = "file"; - if (c3 === 47 || c3 === 92) { - if (c3 === 92) { - this.parseError = true; - } - this.state = "file slash"; - } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c3)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c3 === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c3 === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c3, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; - } - this.state = "path"; - --this.pointer; - } - } else { - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c3) { - if (c3 === 47 || c3 === 92) { - if (c3 === 92) { - this.parseError = true; - } - this.state = "file host"; - } else { - if (this.base !== null && this.base.scheme === "file") { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; - } - } - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse file host"] = function parseFileHost(c3, cStr) { - if (isNaN(c3) || c3 === 47 || c3 === 92 || c3 === 63 || c3 === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = "path"; - } else if (this.buffer === "") { - this.url.host = ""; - if (this.stateOverride) { - return false; - } - this.state = "path start"; - } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === "localhost") { - host = ""; - } - this.url.host = host; - if (this.stateOverride) { - return false; - } - this.buffer = ""; - this.state = "path start"; - } - } else { - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse path start"] = function parsePathStart(c3) { - if (isSpecial(this.url)) { - if (c3 === 92) { - this.parseError = true; - } - this.state = "path"; - if (c3 !== 47 && c3 !== 92) { - --this.pointer; - } - } else if (!this.stateOverride && c3 === 63) { - this.url.query = ""; - this.state = "query"; - } else if (!this.stateOverride && c3 === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else if (c3 !== void 0) { - this.state = "path"; - if (c3 !== 47) { - --this.pointer; - } - } - return true; - }; - URLStateMachine.prototype["parse path"] = function parsePath(c3) { - if (isNaN(c3) || c3 === 47 || isSpecial(this.url) && c3 === 92 || !this.stateOverride && (c3 === 63 || c3 === 35)) { - if (isSpecial(this.url) && c3 === 92) { - this.parseError = true; - } - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { - this.url.path.push(""); - } - } else if (isSingleDot(this.buffer) && c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { - this.url.path.push(""); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== "" && this.url.host !== null) { - this.parseError = true; - this.url.host = ""; - } - this.buffer = this.buffer[0] + ":"; - } - this.url.path.push(this.buffer); - } - this.buffer = ""; - if (this.url.scheme === "file" && (c3 === void 0 || c3 === 63 || c3 === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === "") { - this.parseError = true; - this.url.path.shift(); - } - } - if (c3 === 63) { - this.url.query = ""; - this.state = "query"; - } - if (c3 === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += percentEncodeChar(c3, isPathPercentEncode); - } - return true; - }; - URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c3) { - if (c3 === 63) { - this.url.query = ""; - this.state = "query"; - } else if (c3 === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (!isNaN(c3) && c3 !== 37) { - this.parseError = true; - } - if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - if (!isNaN(c3)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c3, isC0ControlPercentEncode); - } - } - return true; - }; - URLStateMachine.prototype["parse query"] = function parseQuery(c3, cStr) { - if (isNaN(c3) || !this.stateOverride && c3 === 35) { - if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { - this.encodingOverride = "utf-8"; - } - const buffer = new Buffer(this.buffer); - for (let i3 = 0; i3 < buffer.length; ++i3) { - if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { - this.url.query += percentEncode(buffer[i3]); - } else { - this.url.query += String.fromCodePoint(buffer[i3]); - } - } - this.buffer = ""; - if (c3 === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse fragment"] = function parseFragment(c3) { - if (isNaN(c3)) { - } else if (c3 === 0) { - this.parseError = true; - } else { - if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.url.fragment += percentEncodeChar(c3, isC0ControlPercentEncode); - } - return true; - }; - function serializeURL(url2, excludeFragment) { - let output = url2.scheme + ":"; - if (url2.host !== null) { - output += "//"; - if (url2.username !== "" || url2.password !== "") { - output += url2.username; - if (url2.password !== "") { - output += ":" + url2.password; - } - output += "@"; - } - output += serializeHost(url2.host); - if (url2.port !== null) { - output += ":" + url2.port; - } - } else if (url2.host === null && url2.scheme === "file") { - output += "//"; - } - if (url2.cannotBeABaseURL) { - output += url2.path[0]; - } else { - for (const string of url2.path) { - output += "/" + string; - } - } - if (url2.query !== null) { - output += "?" + url2.query; - } - if (!excludeFragment && url2.fragment !== null) { - output += "#" + url2.fragment; - } - return output; - } - function serializeOrigin(tuple) { - let result = tuple.scheme + "://"; - result += serializeHost(tuple.host); - if (tuple.port !== null) { - result += ":" + tuple.port; - } - return result; - } - module2.exports.serializeURL = serializeURL; - module2.exports.serializeURLOrigin = function(url2) { - switch (url2.scheme) { - case "blob": - try { - return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); - } catch (e3) { - return "null"; - } - case "ftp": - case "gopher": - case "http": - case "https": - case "ws": - case "wss": - return serializeOrigin({ - scheme: url2.scheme, - host: url2.host, - port: url2.port - }); - case "file": - return "file://"; - default: - return "null"; - } - }; - module2.exports.basicURLParse = function(input, options) { - if (options === void 0) { - options = {}; - } - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return "failure"; - } - return usm.url; - }; - module2.exports.setTheUsername = function(url2, username) { - url2.username = ""; - const decoded = punycode.ucs2.decode(username); - for (let i3 = 0; i3 < decoded.length; ++i3) { - url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); - } - }; - module2.exports.setThePassword = function(url2, password) { - url2.password = ""; - const decoded = punycode.ucs2.decode(password); - for (let i3 = 0; i3 < decoded.length; ++i3) { - url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); - } - }; - module2.exports.serializeHost = serializeHost; - module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - module2.exports.serializeInteger = function(integer) { - return String(integer); - }; - module2.exports.parseURL = function(input, options) { - if (options === void 0) { - options = {}; - } - return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); - }; - } -}); - -// node_modules/whatwg-url/lib/URL-impl.js -var require_URL_impl = __commonJS({ - "node_modules/whatwg-url/lib/URL-impl.js"(exports) { - "use strict"; - var usm = require_url_state_machine(); - exports.implementation = class URLImpl { - constructor(constructorArgs) { - const url2 = constructorArgs[0]; - const base = constructorArgs[1]; - let parsedBase = null; - if (base !== void 0) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === "failure") { - throw new TypeError("Invalid base URL"); - } - } - const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - this._url = parsedURL; - } - get href() { - return usm.serializeURL(this._url); - } - set href(v5) { - const parsedURL = usm.basicURLParse(v5); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - this._url = parsedURL; - } - get origin() { - return usm.serializeURLOrigin(this._url); - } - get protocol() { - return this._url.scheme + ":"; - } - set protocol(v5) { - usm.basicURLParse(v5 + ":", { url: this._url, stateOverride: "scheme start" }); - } - get username() { - return this._url.username; - } - set username(v5) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setTheUsername(this._url, v5); - } - get password() { - return this._url.password; - } - set password(v5) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setThePassword(this._url, v5); - } - get host() { - const url2 = this._url; - if (url2.host === null) { - return ""; - } - if (url2.port === null) { - return usm.serializeHost(url2.host); - } - return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); - } - set host(v5) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v5, { url: this._url, stateOverride: "host" }); - } - get hostname() { - if (this._url.host === null) { - return ""; - } - return usm.serializeHost(this._url.host); - } - set hostname(v5) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v5, { url: this._url, stateOverride: "hostname" }); - } - get port() { - if (this._url.port === null) { - return ""; - } - return usm.serializeInteger(this._url.port); - } - set port(v5) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - if (v5 === "") { - this._url.port = null; - } else { - usm.basicURLParse(v5, { url: this._url, stateOverride: "port" }); - } - } - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - if (this._url.path.length === 0) { - return ""; - } - return "/" + this._url.path.join("/"); - } - set pathname(v5) { - if (this._url.cannotBeABaseURL) { - return; - } - this._url.path = []; - usm.basicURLParse(v5, { url: this._url, stateOverride: "path start" }); - } - get search() { - if (this._url.query === null || this._url.query === "") { - return ""; - } - return "?" + this._url.query; - } - set search(v5) { - const url2 = this._url; - if (v5 === "") { - url2.query = null; - return; - } - const input = v5[0] === "?" ? v5.substring(1) : v5; - url2.query = ""; - usm.basicURLParse(input, { url: url2, stateOverride: "query" }); - } - get hash() { - if (this._url.fragment === null || this._url.fragment === "") { - return ""; - } - return "#" + this._url.fragment; - } - set hash(v5) { - if (v5 === "") { - this._url.fragment = null; - return; - } - const input = v5[0] === "#" ? v5.substring(1) : v5; - this._url.fragment = ""; - usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); - } - toJSON() { - return this.href; - } - }; - } -}); - -// node_modules/whatwg-url/lib/URL.js -var require_URL = __commonJS({ - "node_modules/whatwg-url/lib/URL.js"(exports, module2) { - "use strict"; - var conversions = require_lib2(); - var utils = require_utils2(); - var Impl = require_URL_impl(); - var impl = utils.implSymbol; - function URL2(url2) { - if (!this || this[impl] || !(this instanceof URL2)) { - throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); - } - const args = []; - for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { - args[i3] = arguments[i3]; - } - args[0] = conversions["USVString"](args[0]); - if (args[1] !== void 0) { - args[1] = conversions["USVString"](args[1]); - } - module2.exports.setup(this, args); - } - URL2.prototype.toJSON = function toJSON2() { - if (!this || !module2.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - const args = []; - for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { - args[i3] = arguments[i3]; - } - return this[impl].toJSON.apply(this[impl], args); - }; - Object.defineProperty(URL2.prototype, "href", { - get() { - return this[impl].href; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].href = V6; - }, - enumerable: true, - configurable: true - }); - URL2.prototype.toString = function() { - if (!this || !module2.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - return this.href; - }; - Object.defineProperty(URL2.prototype, "origin", { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "protocol", { - get() { - return this[impl].protocol; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].protocol = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "username", { - get() { - return this[impl].username; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].username = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "password", { - get() { - return this[impl].password; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].password = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "host", { - get() { - return this[impl].host; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].host = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "hostname", { - get() { - return this[impl].hostname; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].hostname = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "port", { - get() { - return this[impl].port; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].port = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "pathname", { - get() { - return this[impl].pathname; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].pathname = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "search", { - get() { - return this[impl].search; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].search = V6; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, "hash", { - get() { - return this[impl].hash; - }, - set(V6) { - V6 = conversions["USVString"](V6); - this[impl].hash = V6; - }, - enumerable: true, - configurable: true - }); - module2.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL2.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) - privateData = {}; - privateData.wrapper = obj; - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL2, - expose: { - Window: { URL: URL2 }, - Worker: { URL: URL2 } - } - }; - } -}); - -// node_modules/whatwg-url/lib/public-api.js -var require_public_api = __commonJS({ - "node_modules/whatwg-url/lib/public-api.js"(exports) { - "use strict"; - exports.URL = require_URL().interface; - exports.serializeURL = require_url_state_machine().serializeURL; - exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; - exports.basicURLParse = require_url_state_machine().basicURLParse; - exports.setTheUsername = require_url_state_machine().setTheUsername; - exports.setThePassword = require_url_state_machine().setThePassword; - exports.serializeHost = require_url_state_machine().serializeHost; - exports.serializeInteger = require_url_state_machine().serializeInteger; - exports.parseURL = require_url_state_machine().parseURL; - } -}); - -// node_modules/node-fetch/lib/index.js -var require_lib3 = __commonJS({ - "node_modules/node-fetch/lib/index.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; - } - var Stream2 = _interopDefault(require("stream")); - var http2 = _interopDefault(require("http")); - var Url = _interopDefault(require("url")); - var whatwgUrl = _interopDefault(require_public_api()); - var https2 = _interopDefault(require("https")); - var zlib2 = _interopDefault(require("zlib")); - var Readable3 = Stream2.Readable; - var BUFFER = Symbol("buffer"); - var TYPE = Symbol("type"); - var Blob4 = class { - constructor() { - this[TYPE] = ""; - const blobParts = arguments[0]; - const options = arguments[1]; - const buffers = []; - let size = 0; - if (blobParts) { - const a4 = blobParts; - const length = Number(a4.length); - for (let i3 = 0; i3 < length; i3++) { - const element = a4[i3]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob4) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === "string" ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - this[BUFFER] = Buffer.concat(buffers); - let type = options && options.type !== void 0 && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable3(); - readable._read = function() { - }; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return "[object Blob]"; - } - slice() { - const size = this.size; - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === void 0) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === void 0) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob4([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } - }; - Object.defineProperties(Blob4.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } - }); - Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { - value: "Blob", - writable: false, - enumerable: false, - configurable: true - }); - function FetchError(message, type, systemError) { - Error.call(this, message); - this.message = message; - this.type = type; - if (systemError) { - this.code = this.errno = systemError.code; - } - Error.captureStackTrace(this, this.constructor); - } - FetchError.prototype = Object.create(Error.prototype); - FetchError.prototype.constructor = FetchError; - FetchError.prototype.name = "FetchError"; - var convert; - try { - convert = require("encoding").convert; - } catch (e3) { - } - var INTERNALS = Symbol("Body internals"); - var PassThrough = Stream2.PassThrough; - function Body(body) { - var _this = this; - var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; - let size = _ref$size === void 0 ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; - if (body == null) { - body = null; - } else if (isURLSearchParams2(body)) { - body = Buffer.from(body.toString()); - } else if (isBlob3(body)) - ; - else if (Buffer.isBuffer(body)) - ; - else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream2) - ; - else { - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - if (body instanceof Stream2) { - body.on("error", function(err) { - const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); - _this[INTERNALS].error = error; - }); - } - } - Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - arrayBuffer() { - return consumeBody.call(this).then(function(buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, - blob() { - let ct2 = this.headers && this.headers.get("content-type") || ""; - return consumeBody.call(this).then(function(buf) { - return Object.assign( - new Blob4([], { - type: ct2.toLowerCase() - }), - { - [BUFFER]: buf - } - ); - }); - }, - json() { - var _this2 = this; - return consumeBody.call(this).then(function(buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); - } - }); - }, - text() { - return consumeBody.call(this).then(function(buffer) { - return buffer.toString(); - }); - }, - buffer() { - return consumeBody.call(this); - }, - textConverted() { - var _this3 = this; - return consumeBody.call(this).then(function(buffer) { - return convertBody(buffer, _this3.headers); - }); - } - }; - Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } - }); - Body.mixIn = function(proto2) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - if (!(name in proto2)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto2, name, desc); - } - } - }; - function consumeBody() { - var _this4 = this; - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - this[INTERNALS].disturbed = true; - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - let body = this.body; - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - if (isBlob3(body)) { - body = body.stream(); - } - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - if (!(body instanceof Stream2)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - let accum = []; - let accumBytes = 0; - let abort = false; - return new Body.Promise(function(resolve, reject) { - let resTimeout; - if (_this4.timeout) { - resTimeout = setTimeout(function() { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); - }, _this4.timeout); - } - body.on("error", function(err) { - if (err.name === "AbortError") { - abort = true; - reject(err); - } else { - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); - } - }); - body.on("data", function(chunk) { - if (abort || chunk === null) { - return; - } - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); - return; - } - accumBytes += chunk.length; - accum.push(chunk); - }); - body.on("end", function() { - if (abort) { - return; - } - clearTimeout(resTimeout); - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); - } - }); - }); - } - function convertBody(buffer, headers) { - if (typeof convert !== "function") { - throw new Error("The package `encoding` must be installed to use the textConverted() function"); - } - const ct2 = headers.get("content-type"); - let charset = "utf-8"; - let res, str; - if (ct2) { - res = /charset=([^;]*)/i.exec(ct2); - } - str = buffer.slice(0, 1024).toString(); - if (!res && str) { - res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str); - } - if (!res && str) { - res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str); - if (!res) { - res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str); - if (res) { - res.pop(); - } - } - if (res) { - res = /charset=(.*)/i.exec(res.pop()); - } - } - if (!res && str) { - res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str); - } - if (res) { - charset = res.pop(); - if (charset === "gb2312" || charset === "gbk") { - charset = "gb18030"; - } - } - return convert(buffer, "UTF-8", charset).toString(); - } - function isURLSearchParams2(obj) { - if (typeof obj !== "object" || typeof obj.append !== "function" || typeof obj.delete !== "function" || typeof obj.get !== "function" || typeof obj.getAll !== "function" || typeof obj.has !== "function" || typeof obj.set !== "function") { - return false; - } - return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; - } - function isBlob3(obj) { - return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); - } - function clone(instance) { - let p1, p22; - let body = instance.body; - if (instance.bodyUsed) { - throw new Error("cannot clone body after it is used"); - } - if (body instanceof Stream2 && typeof body.getBoundary !== "function") { - p1 = new PassThrough(); - p22 = new PassThrough(); - body.pipe(p1); - body.pipe(p22); - instance[INTERNALS].body = p1; - body = p22; - } - return body; - } - function extractContentType(body) { - if (body === null) { - return null; - } else if (typeof body === "string") { - return "text/plain;charset=UTF-8"; - } else if (isURLSearchParams2(body)) { - return "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isBlob3(body)) { - return body.type || null; - } else if (Buffer.isBuffer(body)) { - return null; - } else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { - return null; - } else if (ArrayBuffer.isView(body)) { - return null; - } else if (typeof body.getBoundary === "function") { - return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream2) { - return null; - } else { - return "text/plain;charset=UTF-8"; - } - } - function getTotalBytes(instance) { - const body = instance.body; - if (body === null) { - return 0; - } else if (isBlob3(body)) { - return body.size; - } else if (Buffer.isBuffer(body)) { - return body.length; - } else if (body && typeof body.getLengthSync === "function") { - if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || body.hasKnownLength && body.hasKnownLength()) { - return body.getLengthSync(); - } - return null; - } else { - return null; - } - } - function writeToStream(dest, instance) { - const body = instance.body; - if (body === null) { - dest.end(); - } else if (isBlob3(body)) { - body.stream().pipe(dest); - } else if (Buffer.isBuffer(body)) { - dest.write(body); - dest.end(); - } else { - body.pipe(dest); - } - } - Body.Promise = global.Promise; - var invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; - var invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - function validateName(name) { - name = `${name}`; - if (invalidTokenRegex.test(name) || name === "") { - throw new TypeError(`${name} is not a legal HTTP header name`); - } - } - function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); - } - } - function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; - } - } - return void 0; - } - var MAP = Symbol("map"); - var Headers3 = class { - constructor() { - let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; - this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof Headers3) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } - return; - } - if (init == null) - ; - else if (typeof init === "object") { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== "function") { - throw new TypeError("Header pairs must be iterable"); - } - const pairs = []; - for (const pair of init) { - if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { - throw new TypeError("Each header pair must be iterable"); - } - pairs.push(Array.from(pair)); - } - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError("Each header pair must be a name/value tuple"); - } - this.append(pair[0], pair[1]); - } - } else { - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError("Provided initializer must be an object"); - } - } - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === void 0) { - return null; - } - return this[MAP][key].join(", "); - } - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; - let pairs = getHeaders(this); - let i3 = 0; - while (i3 < pairs.length) { - var _pairs$i = pairs[i3]; - const name = _pairs$i[0], value = _pairs$i[1]; - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i3++; - } - } - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== void 0 ? key : name] = [value]; - } - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== void 0) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== void 0; - } - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== void 0) { - delete this[MAP][key]; - } - } - raw() { - return this[MAP]; - } - keys() { - return createHeadersIterator(this, "key"); - } - values() { - return createHeadersIterator(this, "value"); - } - [Symbol.iterator]() { - return createHeadersIterator(this, "key+value"); - } - }; - Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; - Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { - value: "Headers", - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Headers3.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } - }); - function getHeaders(headers) { - let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind2 === "key" ? function(k7) { - return k7.toLowerCase(); - } : kind2 === "value" ? function(k7) { - return headers[MAP][k7].join(", "); - } : function(k7) { - return [k7.toLowerCase(), headers[MAP][k7].join(", ")]; - }); - } - var INTERNAL = Symbol("internal"); - function createHeadersIterator(target, kind2) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind: kind2, - index: 0 - }; - return iterator; - } - var HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError("Value of `this` is not a HeadersIterator"); - } - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; - const values = getHeaders(target, kind2); - const len = values.length; - if (index >= len) { - return { - value: void 0, - done: true - }; - } - this[INTERNAL].index = index + 1; - return { - value: values[index], - done: false - }; - } - }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); - Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: "HeadersIterator", - writable: false, - enumerable: false, - configurable: true - }); - function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - const hostHeaderKey = find(headers[MAP], "Host"); - if (hostHeaderKey !== void 0) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - return obj; - } - function createHeadersLenient(obj) { - const headers = new Headers3(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === void 0) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; - } - var INTERNALS$1 = Symbol("Response internals"); - var STATUS_CODES = http2.STATUS_CODES; - var Response3 = class { - constructor() { - let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - Body.call(this, body, opts); - const status = opts.status || 200; - const headers = new Headers3(opts.headers); - if (body != null && !headers.has("Content-Type")) { - const contentType = extractContentType(body); - if (contentType) { - headers.append("Content-Type", contentType); - } - } - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - get url() { - return this[INTERNALS$1].url || ""; - } - get status() { - return this[INTERNALS$1].status; - } - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - get redirected() { - return this[INTERNALS$1].counter > 0; - } - get statusText() { - return this[INTERNALS$1].statusText; - } - get headers() { - return this[INTERNALS$1].headers; - } - clone() { - return new Response3(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); - } - }; - Body.mixIn(Response3.prototype); - Object.defineProperties(Response3.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } - }); - Object.defineProperty(Response3.prototype, Symbol.toStringTag, { - value: "Response", - writable: false, - enumerable: false, - configurable: true - }); - var INTERNALS$2 = Symbol("Request internals"); - var URL2 = Url.URL || whatwgUrl.URL; - var parse_url = Url.parse; - var format_url = Url.format; - function parseURL(urlStr) { - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL2(urlStr).toString(); - } - return parse_url(urlStr); - } - var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; - function isRequest(input) { - return typeof input === "object" && typeof input[INTERNALS$2] === "object"; - } - function isAbortSignal(signal) { - const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); - return !!(proto2 && proto2.constructor.name === "AbortSignal"); - } - var Request3 = class { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - let parsedURL; - if (!isRequest(input)) { - if (input && input.href) { - parsedURL = parseURL(input.href); - } else { - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } - let method = init.method || input.method || "GET"; - method = method.toUpperCase(); - if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body"); - } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - const headers = new Headers3(init.headers || input.headers || {}); - if (inputBody != null && !headers.has("Content-Type")) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append("Content-Type", contentType); - } - } - let signal = isRequest(input) ? input.signal : null; - if ("signal" in init) - signal = init.signal; - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError("Expected signal to be an instanceof AbortSignal"); - } - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || "follow", - headers, - parsedURL, - signal - }; - this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; - this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } - get method() { - return this[INTERNALS$2].method; - } - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - get headers() { - return this[INTERNALS$2].headers; - } - get redirect() { - return this[INTERNALS$2].redirect; - } - get signal() { - return this[INTERNALS$2].signal; - } - clone() { - return new Request3(this); - } - }; - Body.mixIn(Request3.prototype); - Object.defineProperty(Request3.prototype, Symbol.toStringTag, { - value: "Request", - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Request3.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } - }); - function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers3(request[INTERNALS$2].headers); - if (!headers.has("Accept")) { - headers.set("Accept", "*/*"); - } - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError("Only absolute URLs are supported"); - } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError("Only HTTP(S) protocols are supported"); - } - if (request.signal && request.body instanceof Stream2.Readable && !streamDestructionSupported) { - throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); - } - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = "0"; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === "number") { - contentLengthValue = String(totalBytes); - } - } - if (contentLengthValue) { - headers.set("Content-Length", contentLengthValue); - } - if (!headers.has("User-Agent")) { - headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); - } - if (request.compress && !headers.has("Accept-Encoding")) { - headers.set("Accept-Encoding", "gzip,deflate"); - } - let agent = request.agent; - if (typeof agent === "function") { - agent = agent(parsedURL); - } - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); - } - function AbortError(message) { - Error.call(this, message); - this.type = "aborted"; - this.message = message; - Error.captureStackTrace(this, this.constructor); - } - AbortError.prototype = Object.create(Error.prototype); - AbortError.prototype.constructor = AbortError; - AbortError.prototype.name = "AbortError"; - var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream2.PassThrough; - var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); - }; - var isSameProtocol = function isSameProtocol2(destination, original) { - const orig = new URL$1(original).protocol; - const dest = new URL$1(destination).protocol; - return orig === dest; - }; - function fetch2(url2, opts) { - if (!fetch2.Promise) { - throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); - } - Body.Promise = fetch2.Promise; - return new fetch2.Promise(function(resolve, reject) { - const request = new Request3(url2, opts); - const options = getNodeRequestOptions(request); - const send = (options.protocol === "https:" ? https2 : http2).request; - const signal = request.signal; - let response = null; - const abort = function abort2() { - let error = new AbortError("The user aborted a request."); - reject(error); - if (request.body && request.body instanceof Stream2.Readable) { - destroyStream(request.body, error); - } - if (!response || !response.body) - return; - response.body.emit("error", error); - }; - if (signal && signal.aborted) { - abort(); - return; - } - const abortAndFinalize = function abortAndFinalize2() { - abort(); - finalize(); - }; - const req = send(options); - let reqTimeout; - if (signal) { - signal.addEventListener("abort", abortAndFinalize); - } - function finalize() { - req.abort(); - if (signal) - signal.removeEventListener("abort", abortAndFinalize); - clearTimeout(reqTimeout); - } - if (request.timeout) { - req.once("socket", function(socket) { - reqTimeout = setTimeout(function() { - reject(new FetchError(`network timeout at: ${request.url}`, "request-timeout")); - finalize(); - }, request.timeout); - }); - } - req.on("error", function(err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, "system", err)); - if (response && response.body) { - destroyStream(response.body, err); - } - finalize(); - }); - fixResponseChunkedTransferBadEnding(req, function(err) { - if (signal && signal.aborted) { - return; - } - if (response && response.body) { - destroyStream(response.body, err); - } - }); - if (parseInt(process.version.substring(1)) < 14) { - req.on("socket", function(s2) { - s2.addListener("close", function(hadError) { - const hasDataListener = s2.listenerCount("data") > 0; - if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { - const err = new Error("Premature close"); - err.code = "ERR_STREAM_PREMATURE_CLOSE"; - response.body.emit("error", err); - } - }); - }); - } - req.on("response", function(res) { - clearTimeout(reqTimeout); - const headers = createHeadersLenient(res.headers); - if (fetch2.isRedirect(res.statusCode)) { - const location = headers.get("Location"); - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - if (request.redirect !== "manual") { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); - finalize(); - return; - } - } - switch (request.redirect) { - case "error": - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect")); - finalize(); - return; - case "manual": - if (locationURL !== null) { - try { - headers.set("Location", locationURL); - } catch (err) { - reject(err); - } - } - break; - case "follow": - if (locationURL === null) { - break; - } - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect")); - finalize(); - return; - } - const requestOpts = { - headers: new Headers3(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; - if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { - for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { - requestOpts.headers.delete(name); - } - } - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); - finalize(); - return; - } - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === "POST") { - requestOpts.method = "GET"; - requestOpts.body = void 0; - requestOpts.headers.delete("content-length"); - } - resolve(fetch2(new Request3(locationURL, requestOpts))); - finalize(); - return; - } - } - res.once("end", function() { - if (signal) - signal.removeEventListener("abort", abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - const codings = headers.get("Content-Encoding"); - if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response3(body, response_options); - resolve(response); - return; - } - const zlibOptions2 = { - flush: zlib2.Z_SYNC_FLUSH, - finishFlush: zlib2.Z_SYNC_FLUSH - }; - if (codings == "gzip" || codings == "x-gzip") { - body = body.pipe(zlib2.createGunzip(zlibOptions2)); - response = new Response3(body, response_options); - resolve(response); - return; - } - if (codings == "deflate" || codings == "x-deflate") { - const raw = res.pipe(new PassThrough$1()); - raw.once("data", function(chunk) { - if ((chunk[0] & 15) === 8) { - body = body.pipe(zlib2.createInflate()); - } else { - body = body.pipe(zlib2.createInflateRaw()); - } - response = new Response3(body, response_options); - resolve(response); - }); - raw.on("end", function() { - if (!response) { - response = new Response3(body, response_options); - resolve(response); - } - }); - return; - } - if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") { - body = body.pipe(zlib2.createBrotliDecompress()); - response = new Response3(body, response_options); - resolve(response); - return; - } - response = new Response3(body, response_options); - resolve(response); - }); - writeToStream(req, request); - }); - } - function fixResponseChunkedTransferBadEnding(request, errorCallback) { - let socket; - request.on("socket", function(s2) { - socket = s2; - }); - request.on("response", function(response) { - const headers = response.headers; - if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { - response.once("close", function(hadError) { - const hasDataListener = socket && socket.listenerCount("data") > 0; - if (hasDataListener && !hadError) { - const err = new Error("Premature close"); - err.code = "ERR_STREAM_PREMATURE_CLOSE"; - errorCallback(err); - } - }); - } - }); - } - function destroyStream(stream4, err) { - if (stream4.destroy) { - stream4.destroy(err); - } else { - stream4.emit("error", err); - stream4.end(); - } - } - fetch2.isRedirect = function(code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; - }; - fetch2.Promise = global.Promise; - module2.exports = exports = fetch2; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = exports; - exports.Headers = Headers3; - exports.Request = Request3; - exports.Response = Response3; - exports.FetchError = FetchError; - exports.AbortError = AbortError; - } -}); - -// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs -function t() { -} -function r2(e3) { - return "object" == typeof e3 && null !== e3 || "function" == typeof e3; -} -function n(e3, t2) { - try { - Object.defineProperty(e3, "name", { value: t2, configurable: true }); - } catch (e4) { - } -} -function u2(e3) { - return new a3(e3); -} -function c2(e3) { - return l2(e3); -} -function d6(e3) { - return s(e3); -} -function f3(e3, t2, r3) { - return i2.call(e3, t2, r3); -} -function b6(e3, t2, r3) { - f3(f3(e3, t2, r3), void 0, o2); -} -function h3(e3, t2) { - b6(e3, t2); -} -function _6(e3, t2) { - b6(e3, void 0, t2); -} -function p3(e3, t2, r3) { - return f3(e3, t2, r3); -} -function m4(e3) { - f3(e3, void 0, o2); -} -function g3(e3, t2, r3) { - if ("function" != typeof e3) - throw new TypeError("Argument is not a function"); - return Function.prototype.apply.call(e3, t2, r3); -} -function w6(e3, t2, r3) { - try { - return c2(g3(e3, t2, r3)); - } catch (e4) { - return d6(e4); - } -} -function E3(e3, t2) { - e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O4(e3) : "closed" === t2._state ? function(e4) { - O4(e4), j3(e4); - }(e3) : B2(e3, t2._storedError); -} -function P3(e3, t2) { - return Gt(e3._ownerReadableStream, t2); -} -function W5(e3) { - const t2 = e3._ownerReadableStream; - "readable" === t2._state ? A4(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { - B2(e4, t3); - }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C4](), t2._reader = void 0, e3._ownerReadableStream = void 0; -} -function k6(e3) { - return new TypeError("Cannot " + e3 + " a stream using a released reader"); -} -function O4(e3) { - e3._closedPromise = u2((t2, r3) => { - e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; - }); -} -function B2(e3, t2) { - O4(e3), A4(e3, t2); -} -function A4(e3, t2) { - void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); -} -function j3(e3) { - void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); -} -function F4(e3, t2) { - if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) - throw new TypeError(`${t2} is not an object.`); - var r3; -} -function I4(e3, t2) { - if ("function" != typeof e3) - throw new TypeError(`${t2} is not a function.`); -} -function D4(e3, t2) { - if (!function(e4) { - return "object" == typeof e4 && null !== e4 || "function" == typeof e4; - }(e3)) - throw new TypeError(`${t2} is not an object.`); -} -function $5(e3, t2, r3) { - if (void 0 === e3) - throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); -} -function M4(e3, t2, r3) { - if (void 0 === e3) - throw new TypeError(`${t2} is required in '${r3}'.`); -} -function Y2(e3) { - return Number(e3); -} -function Q4(e3) { - return 0 === e3 ? 0 : e3; -} -function N5(e3, t2) { - const r3 = Number.MAX_SAFE_INTEGER; - let o3 = Number(e3); - if (o3 = Q4(o3), !z5(o3)) - throw new TypeError(`${t2} is not a finite number`); - if (o3 = function(e4) { - return Q4(L6(e4)); - }(o3), o3 < 0 || o3 > r3) - throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); - return z5(o3) && 0 !== o3 ? o3 : 0; -} -function H4(e3) { - if (!r2(e3)) - return false; - if ("function" != typeof e3.getReader) - return false; - try { - return "boolean" == typeof e3.locked; - } catch (e4) { - return false; - } -} -function x4(e3) { - if (!r2(e3)) - return false; - if ("function" != typeof e3.getWriter) - return false; - try { - return "boolean" == typeof e3.locked; - } catch (e4) { - return false; - } -} -function V5(e3, t2) { - if (!Vt(e3)) - throw new TypeError(`${t2} is not a ReadableStream.`); -} -function U6(e3, t2) { - e3._reader._readRequests.push(t2); -} -function G5(e3, t2, r3) { - const o3 = e3._reader._readRequests.shift(); - r3 ? o3._closeSteps() : o3._chunkSteps(t2); -} -function X4(e3) { - return e3._reader._readRequests.length; -} -function J4(e3) { - const t2 = e3._reader; - return void 0 !== t2 && !!K5(t2); -} -function K5(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); -} -function Z5(e3, t2) { - const r3 = e3._readRequests; - e3._readRequests = new S5(), r3.forEach((e4) => { - e4._errorSteps(t2); - }); -} -function ee2(e3) { - return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); -} -function oe(e3) { - if (!r2(e3)) - return false; - if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) - return false; - try { - return e3._asyncIteratorImpl instanceof te; - } catch (e4) { - return false; - } -} -function ne(e3) { - return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); -} -function ie2(e3, t2, r3, o3, n2) { - new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); -} -function le2(e3) { - const t2 = function(e4, t3, r3) { - if (e4.slice) - return e4.slice(t3, r3); - const o3 = r3 - t3, n2 = new ArrayBuffer(o3); - return ie2(n2, 0, e4, t3, o3), n2; - }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); - return new Uint8Array(t2); -} -function se(e3) { - const t2 = e3._queue.shift(); - return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; -} -function ue2(e3, t2, r3) { - if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) - throw new RangeError("Size must be a finite, non-NaN, non-negative number."); - var o3; - e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; -} -function ce2(e3) { - e3._queue = new S5(), e3._queueTotalSize = 0; -} -function de(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); -} -function fe(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); -} -function be(e3) { - const t2 = function(e4) { - const t3 = e4._controlledReadableByteStream; - if ("readable" !== t3._state) - return false; - if (e4._closeRequested) - return false; - if (!e4._started) - return false; - if (J4(t3) && X4(t3) > 0) - return true; - if (Le(t3) && ze(t3) > 0) - return true; - if (ke(e4) > 0) - return true; - return false; - }(e3); - if (!t2) - return; - if (e3._pulling) - return void (e3._pullAgain = true); - e3._pulling = true; - b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); -} -function he(e3) { - Re(e3), e3._pendingPullIntos = new S5(); -} -function _e(e3, t2) { - let r3 = false; - "closed" === e3._state && (r3 = true); - const o3 = pe(t2); - "default" === t2.readerType ? G5(e3, o3, r3) : function(e4, t3, r4) { - const o4 = e4._reader._readIntoRequests.shift(); - r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); - }(e3, o3, r3); -} -function pe(e3) { - const t2 = e3.bytesFilled, r3 = e3.elementSize; - return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); -} -function me(e3, t2, r3, o3) { - e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; -} -function ye(e3, t2, r3, o3) { - let n2; - try { - n2 = t2.slice(r3, r3 + o3); - } catch (t3) { - throw Pe(e3, t3), t3; - } - me(e3, n2, 0, o3); -} -function ge(e3, t2) { - t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); -} -function we(e3, t2) { - const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a4 = t2.bytesFilled + n2, i3 = a4 - a4 % r3; - let l3 = n2, s2 = false; - i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); - const u3 = e3._queue; - for (; l3 > 0; ) { - const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; - ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; - } - return s2; -} -function Se(e3, t2, r3) { - r3.bytesFilled += t2; -} -function ve(e3) { - 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); -} -function Re(e3) { - null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); -} -function Te(e3) { - for (; e3._pendingPullIntos.length > 0; ) { - if (0 === e3._queueTotalSize) - return; - const t2 = e3._pendingPullIntos.peek(); - we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); - } -} -function qe(e3, t2) { - const r3 = e3._pendingPullIntos.peek(); - Re(e3); - "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { - "none" === t3.readerType && Ce(e4); - const r4 = e4._controlledReadableByteStream; - if (Le(r4)) - for (; ze(r4) > 0; ) - _e(r4, Ce(e4)); - }(e3, r3) : function(e4, t3, r4) { - if (Se(0, t3, r4), "none" === r4.readerType) - return ge(e4, r4), void Te(e4); - if (r4.bytesFilled < r4.elementSize) - return; - Ce(e4); - const o3 = r4.bytesFilled % r4.elementSize; - if (o3 > 0) { - const t4 = r4.byteOffset + r4.bytesFilled; - ye(e4, r4.buffer, t4 - o3, o3); - } - r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); - }(e3, t2, r3), be(e3); -} -function Ce(e3) { - return e3._pendingPullIntos.shift(); -} -function Ee(e3) { - e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; -} -function Pe(e3, t2) { - const r3 = e3._controlledReadableByteStream; - "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); -} -function We(e3, t2) { - const r3 = e3._queue.shift(); - e3._queueTotalSize -= r3.byteLength, ve(e3); - const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); - t2._chunkSteps(o3); -} -function ke(e3) { - const t2 = e3._controlledReadableByteStream._state; - return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; -} -function Oe(e3, t2, r3) { - const o3 = Object.create(ReadableByteStreamController.prototype); - let n2, a4, i3; - n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { - }, a4 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c2(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0); - const l3 = t2.autoAllocateChunkSize; - if (0 === l3) - throw new TypeError("autoAllocateChunkSize must be greater than 0"); - !function(e4, t3, r4, o4, n3, a5, i4) { - t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S5(), e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); - }(e3, o3, n2, a4, i3, r3, l3); -} -function Be(e3) { - return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); -} -function Ae(e3) { - return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); -} -function je(e3, t2) { - e3._reader._readIntoRequests.push(t2); -} -function ze(e3) { - return e3._reader._readIntoRequests.length; -} -function Le(e3) { - const t2 = e3._reader; - return void 0 !== t2 && !!Fe(t2); -} -function Fe(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); -} -function Ie(e3, t2) { - const r3 = e3._readIntoRequests; - e3._readIntoRequests = new S5(), r3.forEach((e4) => { - e4._errorSteps(t2); - }); -} -function De(e3) { - return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); -} -function $e(e3, t2) { - const { highWaterMark: r3 } = e3; - if (void 0 === r3) - return t2; - if (ae2(r3) || r3 < 0) - throw new RangeError("Invalid highWaterMark"); - return r3; -} -function Me(e3) { - const { size: t2 } = e3; - return t2 || (() => 1); -} -function Ye(e3, t2) { - F4(e3, t2); - const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; - return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; -} -function Qe(e3, t2) { - return I4(e3, t2), (t3) => Y2(e3(t3)); -} -function Ne(e3, t2, r3) { - return I4(e3, r3), (r4) => w6(e3, t2, [r4]); -} -function He(e3, t2, r3) { - return I4(e3, r3), () => w6(e3, t2, []); -} -function xe(e3, t2, r3) { - return I4(e3, r3), (r4) => g3(e3, t2, [r4]); -} -function Ve(e3, t2, r3) { - return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); -} -function Ge(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); -} -function Xe(e3) { - return void 0 !== e3._writer; -} -function Je(e3, t2) { - var r3; - if ("closed" === e3._state || "errored" === e3._state) - return c2(void 0); - e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); - const o3 = e3._state; - if ("closed" === o3 || "errored" === o3) - return c2(void 0); - if (void 0 !== e3._pendingAbortRequest) - return e3._pendingAbortRequest._promise; - let n2 = false; - "erroring" === o3 && (n2 = true, t2 = void 0); - const a4 = u2((r4, o4) => { - e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; - }); - return e3._pendingAbortRequest._promise = a4, n2 || et(e3, t2), a4; -} -function Ke(e3) { - const t2 = e3._state; - if ("closed" === t2 || "errored" === t2) - return d6(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); - const r3 = u2((t3, r4) => { - const o4 = { _resolve: t3, _reject: r4 }; - e3._closeRequest = o4; - }), o3 = e3._writer; - var n2; - return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; -} -function Ze(e3, t2) { - "writable" !== e3._state ? tt(e3) : et(e3, t2); -} -function et(e3, t2) { - const r3 = e3._writableStreamController; - e3._state = "erroring", e3._storedError = t2; - const o3 = e3._writer; - void 0 !== o3 && it(o3, t2), !function(e4) { - if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) - return false; - return true; - }(e3) && r3._started && tt(e3); -} -function tt(e3) { - e3._state = "errored", e3._writableStreamController[R6](); - const t2 = e3._storedError; - if (e3._writeRequests.forEach((e4) => { - e4._reject(t2); - }), e3._writeRequests = new S5(), void 0 === e3._pendingAbortRequest) - return void ot(e3); - const r3 = e3._pendingAbortRequest; - if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) - return r3._reject(t2), void ot(e3); - b6(e3._writableStreamController[v4](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); -} -function rt(e3) { - return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; -} -function ot(e3) { - void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); - const t2 = e3._writer; - void 0 !== t2 && St(t2, e3._storedError); -} -function nt(e3, t2) { - const r3 = e3._writer; - void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { - Rt(e4); - }(r3) : Et(r3)), e3._backpressure = t2; -} -function at(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); -} -function it(e3, t2) { - "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { - Tt(e4, t3); - }(e3, t2); -} -function st(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); -} -function ut(e3) { - e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; -} -function ct(e3) { - return e3._strategyHWM - e3._queueTotalSize; -} -function dt(e3) { - const t2 = e3._controlledWritableStream; - if (!e3._started) - return; - if (void 0 !== t2._inFlightWriteRequest) - return; - if ("erroring" === t2._state) - return void tt(t2); - if (0 === e3._queue.length) - return; - const r3 = e3._queue.peek().value; - r3 === lt ? function(e4) { - const t3 = e4._controlledWritableStream; - (function(e5) { - e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; - })(t3), se(e4); - const r4 = e4._closeAlgorithm(); - ut(e4), b6(r4, () => (function(e5) { - e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; - const t4 = e5._writer; - void 0 !== t4 && vt(t4); - }(t3), null), (e5) => (function(e6, t4) { - e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); - }(t3, e5), null)); - }(e3) : function(e4, t3) { - const r4 = e4._controlledWritableStream; - !function(e5) { - e5._inFlightWriteRequest = e5._writeRequests.shift(); - }(r4); - b6(e4._writeAlgorithm(t3), () => { - !function(e5) { - e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; - }(r4); - const t4 = r4._state; - if (se(e4), !rt(r4) && "writable" === t4) { - const t5 = bt(e4); - nt(r4, t5); - } - return dt(e4), null; - }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { - e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); - }(r4, t4), null)); - }(e3, r3); -} -function ft(e3, t2) { - "writable" === e3._controlledWritableStream._state && ht(e3, t2); -} -function bt(e3) { - return ct(e3) <= 0; -} -function ht(e3, t2) { - const r3 = e3._controlledWritableStream; - ut(e3), et(r3, t2); -} -function _t(e3) { - return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); -} -function pt(e3) { - return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); -} -function mt(e3) { - return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); -} -function yt(e3) { - return new TypeError("Cannot " + e3 + " a stream using a released writer"); -} -function gt(e3) { - e3._closedPromise = u2((t2, r3) => { - e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; - }); -} -function wt(e3, t2) { - gt(e3), St(e3, t2); -} -function St(e3, t2) { - void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); -} -function vt(e3) { - void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); -} -function Rt(e3) { - e3._readyPromise = u2((t2, r3) => { - e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; - }), e3._readyPromiseState = "pending"; -} -function Tt(e3, t2) { - Rt(e3), Ct(e3, t2); -} -function qt(e3) { - Rt(e3), Et(e3); -} -function Ct(e3, t2) { - void 0 !== e3._readyPromise_reject && (m4(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); -} -function Et(e3) { - void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); -} -function kt(e3, t2, r3, o3, n2, a4) { - const i3 = e3.getReader(), l3 = t2.getWriter(); - Vt(e3) && (e3._disturbed = true); - let s2, _7, g4, w7 = false, S6 = false, v5 = "readable", R7 = "writable", T6 = false, q6 = false; - const C5 = u2((e4) => { - g4 = e4; - }); - let E4 = Promise.resolve(void 0); - return u2((P4, W6) => { - let k7; - function O5() { - if (w7) - return; - const e4 = u2((e5, t3) => { - !function r4(o4) { - o4 ? e5() : f3(function() { - if (w7) - return c2(true); - return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E4 = l3.write(e6.value), m4(E4), false))); - }(), r4, t3); - }(false); - }); - m4(e4); - } - function B3() { - return v5 = "closed", r3 ? L7() : z6(() => (Ge(t2) && (T6 = rt(t2), R7 = t2._state), T6 || "closed" === R7 ? c2(void 0) : "erroring" === R7 || "errored" === R7 ? d6(_7) : (T6 = true, l3.close())), false, void 0), null; - } - function A5(e4) { - return w7 || (v5 = "errored", s2 = e4, o3 ? L7(true, e4) : z6(() => l3.abort(e4), true, e4)), null; - } - function j4(e4) { - return S6 || (R7 = "errored", _7 = e4, n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4)), null; - } - if (void 0 !== a4 && (k7 = () => { - const e4 = void 0 !== a4.reason ? a4.reason : new Wt("Aborted", "AbortError"), t3 = []; - o3 || t3.push(() => "writable" === R7 ? l3.abort(e4) : c2(void 0)), n2 || t3.push(() => "readable" === v5 ? i3.cancel(e4) : c2(void 0)), z6(() => Promise.all(t3.map((e5) => e5())), true, e4); - }, a4.aborted ? k7() : a4.addEventListener("abort", k7)), Vt(e3) && (v5 = e3._state, s2 = e3._storedError), Ge(t2) && (R7 = t2._state, _7 = t2._storedError, T6 = rt(t2)), Vt(e3) && Ge(t2) && (q6 = true, g4()), "errored" === v5) - A5(s2); - else if ("erroring" === R7 || "errored" === R7) - j4(_7); - else if ("closed" === v5) - B3(); - else if (T6 || "closed" === R7) { - const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); - n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4); - } - function z6(e4, t3, r4) { - function o4() { - return "writable" !== R7 || T6 ? n3() : h3(function() { - let e5; - return c2(function t4() { - if (e5 !== E4) - return e5 = E4, p3(E4, t4, t4); - }()); - }(), n3), null; - } - function n3() { - return e4 ? b6(e4(), () => F5(t3, r4), (e5) => F5(true, e5)) : F5(t3, r4), null; - } - w7 || (w7 = true, q6 ? o4() : h3(C5, o4)); - } - function L7(e4, t3) { - z6(void 0, e4, t3); - } - function F5(e4, t3) { - return S6 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a4 && a4.removeEventListener("abort", k7), e4 ? W6(t3) : P4(void 0), null; - } - w7 || (b6(i3.closed, B3, A5), b6(l3.closed, function() { - return S6 || (R7 = "closed"), null; - }, j4)), q6 ? O5() : y5(() => { - q6 = true, g4(), O5(); - }); - }); -} -function Ot(e3, t2) { - return function(e4) { - try { - return e4.getReader({ mode: "byob" }).releaseLock(), true; - } catch (e5) { - return false; - } - }(e3) ? function(e4) { - let t3, r3, o3, n2, a4, i3 = e4.getReader(), l3 = false, s2 = false, d7 = false, f4 = false, h4 = false, p4 = false; - const m5 = u2((e5) => { - a4 = e5; - }); - function y6(e5) { - _6(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h4 && p4 || a4(void 0)), null)); - } - function g4() { - l3 && (i3.releaseLock(), i3 = e4.getReader(), y6(i3), l3 = false), b6(i3.read(), (e5) => { - var t4, r4; - if (d7 = false, f4 = false, e5.done) - return h4 || o3.close(), p4 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h4 && p4 || a4(void 0), null; - const l4 = e5.value, u3 = l4; - let c3 = l4; - if (!h4 && !p4) - try { - c3 = le2(l4); - } catch (e6) { - return o3.error(e6), n2.error(e6), a4(i3.cancel(e6)), null; - } - return h4 || o3.enqueue(u3), p4 || n2.enqueue(c3), s2 = false, d7 ? S6() : f4 && v5(), null; - }, () => (s2 = false, null)); - } - function w7(t4, r4) { - l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y6(i3), l3 = true); - const u3 = r4 ? n2 : o3, c3 = r4 ? o3 : n2; - b6(i3.read(t4), (e5) => { - var t5; - d7 = false, f4 = false; - const o4 = r4 ? p4 : h4, n3 = r4 ? h4 : p4; - if (e5.done) { - o4 || u3.close(), n3 || c3.close(); - const r5 = e5.value; - return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c3.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a4(void 0), null; - } - const l4 = e5.value; - if (n3) - o4 || u3.byobRequest.respondWithNewView(l4); - else { - let e6; - try { - e6 = le2(l4); - } catch (e7) { - return u3.error(e7), c3.error(e7), a4(i3.cancel(e7)), null; - } - o4 || u3.byobRequest.respondWithNewView(l4), c3.enqueue(e6); - } - return s2 = false, d7 ? S6() : f4 && v5(), null; - }, () => (s2 = false, null)); - } - function S6() { - if (s2) - return d7 = true, c2(void 0); - s2 = true; - const e5 = o3.byobRequest; - return null === e5 ? g4() : w7(e5.view, false), c2(void 0); - } - function v5() { - if (s2) - return f4 = true, c2(void 0); - s2 = true; - const e5 = n2.byobRequest; - return null === e5 ? g4() : w7(e5.view, true), c2(void 0); - } - function R7(e5) { - if (h4 = true, t3 = e5, p4) { - const e6 = [t3, r3], o4 = i3.cancel(e6); - a4(o4); - } - return m5; - } - function T6(e5) { - if (p4 = true, r3 = e5, h4) { - const e6 = [t3, r3], o4 = i3.cancel(e6); - a4(o4); - } - return m5; - } - const q6 = new ReadableStream2({ type: "bytes", start(e5) { - o3 = e5; - }, pull: S6, cancel: R7 }), C5 = new ReadableStream2({ type: "bytes", start(e5) { - n2 = e5; - }, pull: v5, cancel: T6 }); - return y6(i3), [q6, C5]; - }(e3) : function(e4, t3) { - const r3 = e4.getReader(); - let o3, n2, a4, i3, l3, s2 = false, d7 = false, f4 = false, h4 = false; - const p4 = u2((e5) => { - l3 = e5; - }); - function m5() { - return s2 ? (d7 = true, c2(void 0)) : (s2 = true, b6(r3.read(), (e5) => { - if (d7 = false, e5.done) - return f4 || a4.close(), h4 || i3.close(), f4 && h4 || l3(void 0), null; - const t4 = e5.value, r4 = t4, o4 = t4; - return f4 || a4.enqueue(r4), h4 || i3.enqueue(o4), s2 = false, d7 && m5(), null; - }, () => (s2 = false, null)), c2(void 0)); - } - function y6(e5) { - if (f4 = true, o3 = e5, h4) { - const e6 = [o3, n2], t4 = r3.cancel(e6); - l3(t4); - } - return p4; - } - function g4(e5) { - if (h4 = true, n2 = e5, f4) { - const e6 = [o3, n2], t4 = r3.cancel(e6); - l3(t4); - } - return p4; - } - const w7 = new ReadableStream2({ start(e5) { - a4 = e5; - }, pull: m5, cancel: y6 }), S6 = new ReadableStream2({ start(e5) { - i3 = e5; - }, pull: m5, cancel: g4 }); - return _6(r3.closed, (e5) => (a4.error(e5), i3.error(e5), f4 && h4 || l3(void 0), null)), [w7, S6]; - }(e3); -} -function Bt(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); -} -function At(e3) { - const t2 = function(e4) { - const t3 = e4._controlledReadableStream; - if (!Ft(e4)) - return false; - if (!e4._started) - return false; - if (Ut(t3) && X4(t3) > 0) - return true; - if (Lt(e4) > 0) - return true; - return false; - }(e3); - if (!t2) - return; - if (e3._pulling) - return void (e3._pullAgain = true); - e3._pulling = true; - b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); -} -function jt(e3) { - e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; -} -function zt(e3, t2) { - const r3 = e3._controlledReadableStream; - "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); -} -function Lt(e3) { - const t2 = e3._controlledReadableStream._state; - return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; -} -function Ft(e3) { - return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; -} -function It(e3, t2, r3, o3) { - const n2 = Object.create(ReadableStreamDefaultController.prototype); - let a4, i3, l3; - a4 = void 0 !== t2.start ? () => t2.start(n2) : () => { - }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c2(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0), function(e4, t3, r4, o4, n3, a5, i4) { - t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); - }(e3, n2, a4, i3, l3, r3, o3); -} -function Dt(e3) { - return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); -} -function $t(e3, t2, r3) { - return I4(e3, r3), (r4) => w6(e3, t2, [r4]); -} -function Mt(e3, t2, r3) { - return I4(e3, r3), (r4) => w6(e3, t2, [r4]); -} -function Yt(e3, t2, r3) { - return I4(e3, r3), (r4) => g3(e3, t2, [r4]); -} -function Qt(e3, t2) { - if ("bytes" !== (e3 = `${e3}`)) - throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); - return e3; -} -function Nt(e3, t2) { - if ("byob" !== (e3 = `${e3}`)) - throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); - return e3; -} -function Ht(e3, t2) { - F4(e3, t2); - const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a4 = null == e3 ? void 0 : e3.signal; - return void 0 !== a4 && function(e4, t3) { - if (!function(e5) { - if ("object" != typeof e5 || null === e5) - return false; - try { - return "boolean" == typeof e5.aborted; - } catch (e6) { - return false; - } - }(e4)) - throw new TypeError(`${t3} is not an AbortSignal.`); - }(a4, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a4 }; -} -function xt(e3, t2) { - F4(e3, t2); - const r3 = null == e3 ? void 0 : e3.readable; - M4(r3, "readable", "ReadableWritablePair"), function(e4, t3) { - if (!H4(e4)) - throw new TypeError(`${t3} is not a ReadableStream.`); - }(r3, `${t2} has member 'readable' that`); - const o3 = null == e3 ? void 0 : e3.writable; - return M4(o3, "writable", "ReadableWritablePair"), function(e4, t3) { - if (!x4(e4)) - throw new TypeError(`${t3} is not a WritableStream.`); - }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; -} -function Vt(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream2); -} -function Ut(e3) { - return void 0 !== e3._reader; -} -function Gt(e3, r3) { - if (e3._disturbed = true, "closed" === e3._state) - return c2(void 0); - if ("errored" === e3._state) - return d6(e3._storedError); - Xt(e3); - const o3 = e3._reader; - if (void 0 !== o3 && Fe(o3)) { - const e4 = o3._readIntoRequests; - o3._readIntoRequests = new S5(), e4.forEach((e5) => { - e5._closeSteps(void 0); - }); - } - return p3(e3._readableStreamController[T5](r3), t); -} -function Xt(e3) { - e3._state = "closed"; - const t2 = e3._reader; - if (void 0 !== t2 && (j3(t2), K5(t2))) { - const e4 = t2._readRequests; - t2._readRequests = new S5(), e4.forEach((e5) => { - e5._closeSteps(); - }); - } -} -function Jt(e3, t2) { - e3._state = "errored", e3._storedError = t2; - const r3 = e3._reader; - void 0 !== r3 && (A4(r3, t2), K5(r3) ? Z5(r3, t2) : Ie(r3, t2)); -} -function Kt(e3) { - return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); -} -function Zt(e3, t2) { - F4(e3, t2); - const r3 = null == e3 ? void 0 : e3.highWaterMark; - return M4(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; -} -function tr(e3) { - return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); -} -function rr(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); -} -function nr(e3) { - return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); -} -function ar(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); -} -function ir(e3, t2, r3) { - return I4(e3, r3), (r4) => w6(e3, t2, [r4]); -} -function lr(e3, t2, r3) { - return I4(e3, r3), (r4) => g3(e3, t2, [r4]); -} -function sr(e3, t2, r3) { - return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); -} -function ur(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream); -} -function cr(e3, t2) { - Sr(e3, t2), dr(e3, t2); -} -function dr(e3, t2) { - hr(e3._transformStreamController), function(e4, t3) { - e4._writableController.error(t3); - "writable" === e4._writableState && Tr(e4, t3); - }(e3, t2), e3._backpressure && fr(e3, false); -} -function fr(e3, t2) { - void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { - e3._backpressureChangePromise_resolve = t3; - }), e3._backpressure = t2; -} -function br(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); -} -function hr(e3) { - e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; -} -function _r(e3, t2) { - const r3 = e3._controlledTransformStream; - if (!gr(r3)) - throw new TypeError("Readable side is not in a state that permits enqueue"); - try { - !function(e4, t3) { - e4._readablePulling = false; - try { - e4._readableController.enqueue(t3); - } catch (t4) { - throw Sr(e4, t4), t4; - } - }(r3, t2); - } catch (e4) { - throw dr(r3, e4), r3._readableStoredError; - } - const o3 = function(e4) { - return !function(e5) { - if (!gr(e5)) - return false; - if (e5._readablePulling) - return true; - if (vr(e5) > 0) - return true; - return false; - }(e4); - }(r3); - o3 !== r3._backpressure && fr(r3, true); -} -function pr(e3, t2) { - return p3(e3._transformAlgorithm(t2), void 0, (t3) => { - throw cr(e3._controlledTransformStream, t3), t3; - }); -} -function mr(e3) { - return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); -} -function yr(e3) { - return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); -} -function gr(e3) { - return !e3._readableCloseRequested && "readable" === e3._readableState; -} -function wr(e3) { - e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); -} -function Sr(e3, t2) { - "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); -} -function vr(e3) { - return e3._readableController.desiredSize; -} -function Rr(e3, t2) { - "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); -} -function Tr(e3, t2) { - e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { - return e4._writableHasInFlightOperation; - }(e3) && e3._writableStarted && qr(e3); -} -function qr(e3) { - e3._writableState = "errored"; -} -function Cr(e3) { - "erroring" === e3._writableState && qr(e3); -} -var e2, o2, a3, i2, l2, s, y5, S5, v4, R6, T5, q5, C4, z5, L6, ReadableStreamDefaultReader, te, re2, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream2, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream, TransformStreamDefaultController; -var init_ponyfill = __esm({ - "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { - e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; - o2 = t; - a3 = Promise; - i2 = Promise.prototype.then; - l2 = Promise.resolve.bind(a3); - s = Promise.reject.bind(a3); - y5 = (e3) => { - if ("function" == typeof queueMicrotask) - y5 = queueMicrotask; - else { - const e4 = c2(void 0); - y5 = (t2) => f3(e4, t2); - } - return y5(e3); - }; - S5 = class { - constructor() { - this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; - } - get length() { - return this._size; - } - push(e3) { - const t2 = this._back; - let r3 = t2; - 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; - } - shift() { - const e3 = this._front; - let t2 = e3; - const r3 = this._cursor; - let o3 = r3 + 1; - const n2 = e3._elements, a4 = n2[r3]; - return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a4; - } - forEach(e3) { - let t2 = this._cursor, r3 = this._front, o3 = r3._elements; - for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) - e3(o3[t2]), ++t2; - } - peek() { - const e3 = this._front, t2 = this._cursor; - return e3._elements[t2]; - } - }; - v4 = e2("[[AbortSteps]]"); - R6 = e2("[[ErrorSteps]]"); - T5 = e2("[[CancelSteps]]"); - q5 = e2("[[PullSteps]]"); - C4 = e2("[[ReleaseSteps]]"); - z5 = Number.isFinite || function(e3) { - return "number" == typeof e3 && isFinite(e3); - }; - L6 = Math.trunc || function(e3) { - return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); - }; - ReadableStreamDefaultReader = class { - constructor(e3) { - if ($5(e3, 1, "ReadableStreamDefaultReader"), V5(e3, "First parameter"), Ut(e3)) - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - E3(this, e3), this._readRequests = new S5(); - } - get closed() { - return K5(this) ? this._closedPromise : d6(ee2("closed")); - } - cancel(e3) { - return K5(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(ee2("cancel")); - } - read() { - if (!K5(this)) - return d6(ee2("read")); - if (void 0 === this._ownerReadableStream) - return d6(k6("read from")); - let e3, t2; - const r3 = u2((r4, o3) => { - e3 = r4, t2 = o3; - }); - return function(e4, t3) { - const r4 = e4._ownerReadableStream; - r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q5](t3); - }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; - } - releaseLock() { - if (!K5(this)) - throw ee2("releaseLock"); - void 0 !== this._ownerReadableStream && function(e3) { - W5(e3); - const t2 = new TypeError("Reader was released"); - Z5(e3, t2); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); - te = class { - constructor(e3, t2) { - this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; - } - next() { - const e3 = () => this._nextSteps(); - return this._ongoingPromise = this._ongoingPromise ? p3(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; - } - return(e3) { - const t2 = () => this._returnSteps(e3); - return this._ongoingPromise ? p3(this._ongoingPromise, t2, t2) : t2(); - } - _nextSteps() { - if (this._isFinished) - return Promise.resolve({ value: void 0, done: true }); - const e3 = this._reader; - return void 0 === e3 ? d6(k6("iterate")) : f3(e3.read(), (e4) => { - var t2; - return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; - }, (e4) => { - var t2; - throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; - }); - } - _returnSteps(e3) { - if (this._isFinished) - return Promise.resolve({ value: e3, done: true }); - this._isFinished = true; - const t2 = this._reader; - if (void 0 === t2) - return d6(k6("finish iterating")); - if (this._reader = void 0, !this._preventCancel) { - const r3 = t2.cancel(e3); - return t2.releaseLock(), p3(r3, () => ({ value: e3, done: true })); - } - return t2.releaseLock(), c2({ value: e3, done: true }); - } - }; - re2 = { next() { - return oe(this) ? this._asyncIteratorImpl.next() : d6(ne("next")); - }, return(e3) { - return oe(this) ? this._asyncIteratorImpl.return(e3) : d6(ne("return")); - } }; - "symbol" == typeof e2.asyncIterator && Object.defineProperty(re2, e2.asyncIterator, { value() { - return this; - }, writable: true, configurable: true }); - ae2 = Number.isNaN || function(e3) { - return e3 != e3; - }; - ReadableStreamBYOBRequest = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get view() { - if (!fe(this)) - throw Be("view"); - return this._view; - } - respond(e3) { - if (!fe(this)) - throw Be("respond"); - if ($5(e3, 1, "respond"), e3 = N5(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) - throw new TypeError("This BYOB request has been invalidated"); - this._view.buffer, function(e4, t2) { - const r3 = e4._pendingPullIntos.peek(); - if ("closed" === e4._controlledReadableByteStream._state) { - if (0 !== t2) - throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); - } else { - if (0 === t2) - throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); - if (r3.bytesFilled + t2 > r3.byteLength) - throw new RangeError("bytesWritten out of range"); - } - r3.buffer = r3.buffer, qe(e4, t2); - }(this._associatedReadableByteStreamController, e3); - } - respondWithNewView(e3) { - if (!fe(this)) - throw Be("respondWithNewView"); - if ($5(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) - throw new TypeError("You can only respond with array buffer views"); - if (void 0 === this._associatedReadableByteStreamController) - throw new TypeError("This BYOB request has been invalidated"); - e3.buffer, function(e4, t2) { - const r3 = e4._pendingPullIntos.peek(); - if ("closed" === e4._controlledReadableByteStream._state) { - if (0 !== t2.byteLength) - throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); - } else if (0 === t2.byteLength) - throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); - if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) - throw new RangeError("The region specified by view does not match byobRequest"); - if (r3.bufferByteLength !== t2.buffer.byteLength) - throw new RangeError("The buffer of view has different capacity than byobRequest"); - if (r3.bytesFilled + t2.byteLength > r3.byteLength) - throw new RangeError("The region specified by view is larger than byobRequest"); - const o3 = t2.byteLength; - r3.buffer = t2.buffer, qe(e4, o3); - }(this._associatedReadableByteStreamController, e3); - } - }; - Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); - ReadableByteStreamController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get byobRequest() { - if (!de(this)) - throw Ae("byobRequest"); - return function(e3) { - if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { - const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); - !function(e4, t3, r4) { - e4._associatedReadableByteStreamController = t3, e4._view = r4; - }(o3, e3, r3), e3._byobRequest = o3; - } - return e3._byobRequest; - }(this); - } - get desiredSize() { - if (!de(this)) - throw Ae("desiredSize"); - return ke(this); - } - close() { - if (!de(this)) - throw Ae("close"); - if (this._closeRequested) - throw new TypeError("The stream has already been closed; do not close it again!"); - const e3 = this._controlledReadableByteStream._state; - if ("readable" !== e3) - throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); - !function(e4) { - const t2 = e4._controlledReadableByteStream; - if (e4._closeRequested || "readable" !== t2._state) - return; - if (e4._queueTotalSize > 0) - return void (e4._closeRequested = true); - if (e4._pendingPullIntos.length > 0) { - if (e4._pendingPullIntos.peek().bytesFilled > 0) { - const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - throw Pe(e4, t3), t3; - } - } - Ee(e4), Xt(t2); - }(this); - } - enqueue(e3) { - if (!de(this)) - throw Ae("enqueue"); - if ($5(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) - throw new TypeError("chunk must be an array buffer view"); - if (0 === e3.byteLength) - throw new TypeError("chunk must have non-zero byteLength"); - if (0 === e3.buffer.byteLength) - throw new TypeError("chunk's buffer must have non-zero byteLength"); - if (this._closeRequested) - throw new TypeError("stream is closed or draining"); - const t2 = this._controlledReadableByteStream._state; - if ("readable" !== t2) - throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); - !function(e4, t3) { - const r3 = e4._controlledReadableByteStream; - if (e4._closeRequested || "readable" !== r3._state) - return; - const o3 = t3.buffer, n2 = t3.byteOffset, a4 = t3.byteLength, i3 = o3; - if (e4._pendingPullIntos.length > 0) { - const t4 = e4._pendingPullIntos.peek(); - t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); - } - if (J4(r3)) - if (function(e5) { - const t4 = e5._controlledReadableByteStream._reader; - for (; t4._readRequests.length > 0; ) { - if (0 === e5._queueTotalSize) - return; - We(e5, t4._readRequests.shift()); - } - }(e4), 0 === X4(r3)) - me(e4, i3, n2, a4); - else { - e4._pendingPullIntos.length > 0 && Ce(e4); - G5(r3, new Uint8Array(i3, n2, a4), false); - } - else - Le(r3) ? (me(e4, i3, n2, a4), Te(e4)) : me(e4, i3, n2, a4); - be(e4); - }(this, e3); - } - error(e3) { - if (!de(this)) - throw Ae("error"); - Pe(this, e3); - } - [T5](e3) { - he(this), ce2(this); - const t2 = this._cancelAlgorithm(e3); - return Ee(this), t2; - } - [q5](e3) { - const t2 = this._controlledReadableByteStream; - if (this._queueTotalSize > 0) - return void We(this, e3); - const r3 = this._autoAllocateChunkSize; - if (void 0 !== r3) { - let t3; - try { - t3 = new ArrayBuffer(r3); - } catch (t4) { - return void e3._errorSteps(t4); - } - const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; - this._pendingPullIntos.push(o3); - } - U6(t2, e3), be(this); - } - [C4]() { - if (this._pendingPullIntos.length > 0) { - const e3 = this._pendingPullIntos.peek(); - e3.readerType = "none", this._pendingPullIntos = new S5(), this._pendingPullIntos.push(e3); - } - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); - ReadableStreamBYOBReader = class { - constructor(e3) { - if ($5(e3, 1, "ReadableStreamBYOBReader"), V5(e3, "First parameter"), Ut(e3)) - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - if (!de(e3._readableStreamController)) - throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); - E3(this, e3), this._readIntoRequests = new S5(); - } - get closed() { - return Fe(this) ? this._closedPromise : d6(De("closed")); - } - cancel(e3) { - return Fe(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(De("cancel")); - } - read(e3) { - if (!Fe(this)) - return d6(De("read")); - if (!ArrayBuffer.isView(e3)) - return d6(new TypeError("view must be an array buffer view")); - if (0 === e3.byteLength) - return d6(new TypeError("view must have non-zero byteLength")); - if (0 === e3.buffer.byteLength) - return d6(new TypeError("view's buffer must have non-zero byteLength")); - if (e3.buffer, void 0 === this._ownerReadableStream) - return d6(k6("read from")); - let t2, r3; - const o3 = u2((e4, o4) => { - t2 = e4, r3 = o4; - }); - return function(e4, t3, r4) { - const o4 = e4._ownerReadableStream; - o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { - const o5 = e5._controlledReadableByteStream; - let n2 = 1; - t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); - const a4 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a4, readerType: "byob" }; - if (e5._pendingPullIntos.length > 0) - return e5._pendingPullIntos.push(l3), void je(o5, r5); - if ("closed" !== o5._state) { - if (e5._queueTotalSize > 0) { - if (we(e5, l3)) { - const t5 = pe(l3); - return ve(e5), void r5._chunkSteps(t5); - } - if (e5._closeRequested) { - const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - return Pe(e5, t5), void r5._errorSteps(t5); - } - } - e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); - } else { - const e6 = new a4(l3.buffer, l3.byteOffset, 0); - r5._closeSteps(e6); - } - }(o4._readableStreamController, t3, r4); - }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; - } - releaseLock() { - if (!Fe(this)) - throw De("releaseLock"); - void 0 !== this._ownerReadableStream && function(e3) { - W5(e3); - const t2 = new TypeError("Reader was released"); - Ie(e3, t2); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); - Ue = "function" == typeof AbortController; - WritableStream = class { - constructor(e3 = {}, t2 = {}) { - void 0 === e3 ? e3 = null : D4(e3, "First parameter"); - const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { - F4(e4, t3); - const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; - return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a5 }; - }(e3, "First parameter"); - var n2; - (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S5(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; - if (void 0 !== o3.type) - throw new RangeError("Invalid type is specified"); - const a4 = Me(r3); - !function(e4, t3, r4, o4) { - const n3 = Object.create(WritableStreamDefaultController.prototype); - let a5, i3, l3, s2; - a5 = void 0 !== t3.start ? () => t3.start(n3) : () => { - }; - i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c2(void 0); - l3 = void 0 !== t3.close ? () => t3.close() : () => c2(void 0); - s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c2(void 0); - !function(e5, t4, r5, o5, n4, a6, i4, l4) { - t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { - if (Ue) - return new AbortController(); - }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a6; - const s3 = bt(t4); - nt(e5, s3); - const u3 = r5(); - b6(c2(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); - }(e4, n3, a5, i3, l3, s2, r4, o4); - }(this, o3, $e(r3, 1), a4); - } - get locked() { - if (!Ge(this)) - throw _t("locked"); - return Xe(this); - } - abort(e3) { - return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d6(_t("abort")); - } - close() { - return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d6(_t("close")); - } - getWriter() { - if (!Ge(this)) - throw _t("getWriter"); - return new WritableStreamDefaultWriter(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); - WritableStreamDefaultWriter = class { - constructor(e3) { - if ($5(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { - if (!Ge(e4)) - throw new TypeError(`${t3} is not a WritableStream.`); - }(e3, "First parameter"), Xe(e3)) - throw new TypeError("This stream has already been locked for exclusive writing by another writer"); - this._ownerWritableStream = e3, e3._writer = this; - const t2 = e3._state; - if ("writable" === t2) - !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); - else if ("erroring" === t2) - Tt(this, e3._storedError), gt(this); - else if ("closed" === t2) - qt(this), gt(r3 = this), vt(r3); - else { - const t3 = e3._storedError; - Tt(this, t3), wt(this, t3); - } - var r3; - } - get closed() { - return at(this) ? this._closedPromise : d6(mt("closed")); - } - get desiredSize() { - if (!at(this)) - throw mt("desiredSize"); - if (void 0 === this._ownerWritableStream) - throw yt("desiredSize"); - return function(e3) { - const t2 = e3._ownerWritableStream, r3 = t2._state; - if ("errored" === r3 || "erroring" === r3) - return null; - if ("closed" === r3) - return 0; - return ct(t2._writableStreamController); - }(this); - } - get ready() { - return at(this) ? this._readyPromise : d6(mt("ready")); - } - abort(e3) { - return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("abort")) : function(e4, t2) { - return Je(e4._ownerWritableStream, t2); - }(this, e3) : d6(mt("abort")); - } - close() { - if (!at(this)) - return d6(mt("close")); - const e3 = this._ownerWritableStream; - return void 0 === e3 ? d6(yt("close")) : rt(e3) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); - } - releaseLock() { - if (!at(this)) - throw mt("releaseLock"); - void 0 !== this._ownerWritableStream && function(e3) { - const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); - it(e3, r3), function(e4, t3) { - "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { - wt(e5, t4); - }(e4, t3); - }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; - }(this); - } - write(e3) { - return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("write to")) : function(e4, t2) { - const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { - try { - return e5._strategySizeAlgorithm(t3); - } catch (t4) { - return ft(e5, t4), 1; - } - }(o3, t2); - if (r3 !== e4._ownerWritableStream) - return d6(yt("write to")); - const a4 = r3._state; - if ("errored" === a4) - return d6(r3._storedError); - if (rt(r3) || "closed" === a4) - return d6(new TypeError("The stream is closing or closed and cannot be written to")); - if ("erroring" === a4) - return d6(r3._storedError); - const i3 = function(e5) { - return u2((t3, r4) => { - const o4 = { _resolve: t3, _reject: r4 }; - e5._writeRequests.push(o4); - }); - }(r3); - return function(e5, t3, r4) { - try { - ue2(e5, t3, r4); - } catch (t4) { - return void ft(e5, t4); - } - const o4 = e5._controlledWritableStream; - if (!rt(o4) && "writable" === o4._state) { - nt(o4, bt(e5)); - } - dt(e5); - }(o3, t2, n2), i3; - }(this, e3) : d6(mt("write")); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); - lt = {}; - WritableStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get abortReason() { - if (!st(this)) - throw pt("abortReason"); - return this._abortReason; - } - get signal() { - if (!st(this)) - throw pt("signal"); - if (void 0 === this._abortController) - throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); - return this._abortController.signal; - } - error(e3) { - if (!st(this)) - throw pt("error"); - "writable" === this._controlledWritableStream._state && ht(this, e3); - } - [v4](e3) { - const t2 = this._abortAlgorithm(e3); - return ut(this), t2; - } - [R6]() { - ce2(this); - } - }; - Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); - Pt = "undefined" != typeof DOMException ? DOMException : void 0; - Wt = function(e3) { - if ("function" != typeof e3 && "object" != typeof e3) - return false; - try { - return new e3(), true; - } catch (e4) { - return false; - } - }(Pt) ? Pt : function() { - const e3 = function(e4, t2) { - this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); - }; - return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; - }(); - ReadableStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!Bt(this)) - throw Dt("desiredSize"); - return Lt(this); - } - close() { - if (!Bt(this)) - throw Dt("close"); - if (!Ft(this)) - throw new TypeError("The stream is not in a state that permits close"); - !function(e3) { - if (!Ft(e3)) - return; - const t2 = e3._controlledReadableStream; - e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); - }(this); - } - enqueue(e3) { - if (!Bt(this)) - throw Dt("enqueue"); - if (!Ft(this)) - throw new TypeError("The stream is not in a state that permits enqueue"); - return function(e4, t2) { - if (!Ft(e4)) - return; - const r3 = e4._controlledReadableStream; - if (Ut(r3) && X4(r3) > 0) - G5(r3, t2, false); - else { - let r4; - try { - r4 = e4._strategySizeAlgorithm(t2); - } catch (t3) { - throw zt(e4, t3), t3; - } - try { - ue2(e4, t2, r4); - } catch (t3) { - throw zt(e4, t3), t3; - } - } - At(e4); - }(this, e3); - } - error(e3) { - if (!Bt(this)) - throw Dt("error"); - zt(this, e3); - } - [T5](e3) { - ce2(this); - const t2 = this._cancelAlgorithm(e3); - return jt(this), t2; - } - [q5](e3) { - const t2 = this._controlledReadableStream; - if (this._queue.length > 0) { - const r3 = se(this); - this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); - } else - U6(t2, e3), At(this); - } - [C4]() { - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); - ReadableStream2 = class { - constructor(e3 = {}, t2 = {}) { - void 0 === e3 ? e3 = null : D4(e3, "First parameter"); - const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { - F4(e4, t3); - const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a4 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; - return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N5(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a4 ? void 0 : Mt(a4, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; - }(e3, "First parameter"); - var n2; - if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { - if (void 0 !== r3.size) - throw new RangeError("The strategy for a byte stream cannot have a size function"); - Oe(this, o3, $e(r3, 0)); - } else { - const e4 = Me(r3); - It(this, o3, $e(r3, 1), e4); - } - } - get locked() { - if (!Vt(this)) - throw Kt("locked"); - return Ut(this); - } - cancel(e3) { - return Vt(this) ? Ut(this) ? d6(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d6(Kt("cancel")); - } - getReader(e3) { - if (!Vt(this)) - throw Kt("getReader"); - return void 0 === function(e4, t2) { - F4(e4, t2); - const r3 = null == e4 ? void 0 : e4.mode; - return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; - }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { - return new ReadableStreamBYOBReader(e4); - }(this); - } - pipeThrough(e3, t2 = {}) { - if (!H4(this)) - throw Kt("pipeThrough"); - $5(e3, 1, "pipeThrough"); - const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); - if (this.locked) - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); - if (r3.writable.locked) - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); - return m4(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; - } - pipeTo(e3, t2 = {}) { - if (!H4(this)) - return d6(Kt("pipeTo")); - if (void 0 === e3) - return d6("Parameter 1 is required in 'pipeTo'."); - if (!x4(e3)) - return d6(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); - let r3; - try { - r3 = Ht(t2, "Second parameter"); - } catch (e4) { - return d6(e4); - } - return this.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); - } - tee() { - if (!H4(this)) - throw Kt("tee"); - if (this.locked) - throw new TypeError("Cannot tee a stream that already has a reader"); - return Ot(this); - } - values(e3) { - if (!H4(this)) - throw Kt("values"); - return function(e4, t2) { - const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re2); - return n2._asyncIteratorImpl = o3, n2; - }(this, function(e4, t2) { - F4(e4, t2); - const r3 = null == e4 ? void 0 : e4.preventCancel; - return { preventCancel: Boolean(r3) }; - }(e3, "First parameter").preventCancel); - } - }; - Object.defineProperties(ReadableStream2.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream2.prototype.cancel, "cancel"), n(ReadableStream2.prototype.getReader, "getReader"), n(ReadableStream2.prototype.pipeThrough, "pipeThrough"), n(ReadableStream2.prototype.pipeTo, "pipeTo"), n(ReadableStream2.prototype.tee, "tee"), n(ReadableStream2.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream2.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream2.prototype, e2.asyncIterator, { value: ReadableStream2.prototype.values, writable: true, configurable: true }); - er = (e3) => e3.byteLength; - n(er, "size"); - ByteLengthQueuingStrategy = class { - constructor(e3) { - $5(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; - } - get highWaterMark() { - if (!rr(this)) - throw tr("highWaterMark"); - return this._byteLengthQueuingStrategyHighWaterMark; - } - get size() { - if (!rr(this)) - throw tr("size"); - return er; - } - }; - Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); - or = () => 1; - n(or, "size"); - CountQueuingStrategy = class { - constructor(e3) { - $5(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; - } - get highWaterMark() { - if (!ar(this)) - throw nr("highWaterMark"); - return this._countQueuingStrategyHighWaterMark; - } - get size() { - if (!ar(this)) - throw nr("size"); - return or; - } - }; - Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); - TransformStream = class { - constructor(e3 = {}, t2 = {}, r3 = {}) { - void 0 === e3 && (e3 = null); - const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a4 = function(e4, t3) { - F4(e4, t3); - const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; - return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a5 ? void 0 : sr(a5, e4, `${t3} has member 'transform' that`), writableType: i4 }; - }(e3, "First parameter"); - if (void 0 !== a4.readableType) - throw new RangeError("Invalid readableType specified"); - if (void 0 !== a4.writableType) - throw new RangeError("Invalid writableType specified"); - const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); - let b7; - !function(e4, t3, r4, o4, n3, a5) { - function i4() { - return t3; - } - function l4(t4) { - return function(e5, t5) { - const r5 = e5._transformStreamController; - if (e5._backpressure) { - return p3(e5._backpressureChangePromise, () => { - if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) - throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; - return pr(r5, t5); - }); - } - return pr(r5, t5); - }(e4, t4); - } - function s3(t4) { - return function(e5, t5) { - return cr(e5, t5), c2(void 0); - }(e4, t4); - } - function u3() { - return function(e5) { - const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); - return hr(t4), p3(r5, () => { - if ("errored" === e5._readableState) - throw e5._readableStoredError; - gr(e5) && wr(e5); - }, (t5) => { - throw cr(e5, t5), e5._readableStoredError; - }); - }(e4); - } - function d7() { - return function(e5) { - return fr(e5, false), e5._backpressureChangePromise; - }(e4); - } - function f5(t4) { - return dr(e4, t4), c2(void 0); - } - e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a6, i5) { - return new WritableStream({ start(r6) { - e5._writableController = r6; - try { - const t5 = r6.signal; - void 0 !== t5 && t5.addEventListener("abort", () => { - "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); - }); - } catch (e6) { - } - return p3(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { - throw e5._writableStarted = true, Rr(e5, t5), t5; - }); - }, write: (t5) => (function(e6) { - e6._writableHasInFlightOperation = true; - }(e5), p3(r5(t5), () => (function(e6) { - e6._writableHasInFlightOperation = false; - }(e5), Cr(e5), null), (t6) => { - throw function(e6, t7) { - e6._writableHasInFlightOperation = false, Rr(e6, t7); - }(e5, t6), t6; - })), close: () => (function(e6) { - e6._writableHasInFlightOperation = true; - }(e5), p3(o5(), () => (function(e6) { - e6._writableHasInFlightOperation = false; - "erroring" === e6._writableState && (e6._writableStoredError = void 0); - e6._writableState = "closed"; - }(e5), null), (t5) => { - throw function(e6, t6) { - e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); - }(e5, t5), t5; - })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a6, size: i5 }); - }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a6) { - return new ReadableStream2({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { - Sr(e5, t5); - })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { - Sr(e5, t5); - })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a6 }); - }(e4, i4, d7, f5, n3, a5), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; - }(this, u2((e4) => { - b7 = e4; - }), s2, f4, i3, l3), function(e4, t3) { - const r4 = Object.create(TransformStreamDefaultController.prototype); - let o4, n3; - o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { - try { - return _r(r4, e5), c2(void 0); - } catch (e6) { - return d6(e6); - } - }; - n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c2(void 0); - !function(e5, t4, r5, o5) { - t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; - }(e4, r4, o4, n3); - }(this, a4), void 0 !== a4.start ? b7(a4.start(this._transformStreamController)) : b7(void 0); - } - get readable() { - if (!ur(this)) - throw yr("readable"); - return this._readable; - } - get writable() { - if (!ur(this)) - throw yr("writable"); - return this._writable; - } - }; - Object.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); - TransformStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!br(this)) - throw mr("desiredSize"); - return vr(this._controlledTransformStream); - } - enqueue(e3) { - if (!br(this)) - throw mr("enqueue"); - _r(this, e3); - } - error(e3) { - if (!br(this)) - throw mr("error"); - var t2; - t2 = e3, cr(this._controlledTransformStream, t2); - } - terminate() { - if (!br(this)) - throw mr("terminate"); - !function(e3) { - const t2 = e3._controlledTransformStream; - gr(t2) && wr(t2); - const r3 = new TypeError("TransformStream terminated"); - dr(t2, r3); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); - } -}); - -// node_modules/formdata-node/lib/esm/isFunction.js -var isFunction2; -var init_isFunction = __esm({ - "node_modules/formdata-node/lib/esm/isFunction.js"() { - isFunction2 = (value) => typeof value === "function"; - } -}); - -// node_modules/formdata-node/lib/esm/blobHelpers.js -async function* clonePart(part) { - const end = part.byteOffset + part.byteLength; - let position = part.byteOffset; - while (position !== end) { - const size = Math.min(end - position, CHUNK_SIZE); - const chunk = part.buffer.slice(position, position + size); - position += chunk.byteLength; - yield new Uint8Array(chunk); - } -} -async function* consumeNodeBlob(blob) { - let position = 0; - while (position !== blob.size) { - const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); - const buffer = await chunk.arrayBuffer(); - position += buffer.byteLength; - yield new Uint8Array(buffer); - } -} -async function* consumeBlobParts(parts, clone = false) { - for (const part of parts) { - if (ArrayBuffer.isView(part)) { - if (clone) { - yield* clonePart(part); - } else { - yield part; - } - } else if (isFunction2(part.stream)) { - yield* part.stream(); - } else { - yield* consumeNodeBlob(part); - } - } -} -function* sliceBlob(blobParts, blobSize, start = 0, end) { - end !== null && end !== void 0 ? end : end = blobSize; - let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); - let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); - const span = Math.max(relativeEnd - relativeStart, 0); - let added = 0; - for (const part of blobParts) { - if (added >= span) { - break; - } - const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; - if (relativeStart && partSize <= relativeStart) { - relativeStart -= partSize; - relativeEnd -= partSize; - } else { - let chunk; - if (ArrayBuffer.isView(part)) { - chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); - added += chunk.byteLength; - } else { - chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); - added += chunk.size; - } - relativeEnd -= partSize; - relativeStart = 0; - yield chunk; - } - } -} -var CHUNK_SIZE; -var init_blobHelpers = __esm({ - "node_modules/formdata-node/lib/esm/blobHelpers.js"() { - init_isFunction(); - CHUNK_SIZE = 65536; - } -}); - -// node_modules/formdata-node/lib/esm/Blob.js -var __classPrivateFieldGet, __classPrivateFieldSet, _Blob_parts, _Blob_type, _Blob_size, Blob3; -var init_Blob = __esm({ - "node_modules/formdata-node/lib/esm/Blob.js"() { - init_ponyfill(); - init_isFunction(); - init_blobHelpers(); - __classPrivateFieldGet = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - __classPrivateFieldSet = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - Blob3 = class { - constructor(blobParts = [], options = {}) { - _Blob_parts.set(this, []); - _Blob_type.set(this, ""); - _Blob_size.set(this, 0); - options !== null && options !== void 0 ? options : options = {}; - if (typeof blobParts !== "object" || blobParts === null) { - throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); - } - if (!isFunction2(blobParts[Symbol.iterator])) { - throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); - } - if (typeof options !== "object" && !isFunction2(options)) { - throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); - } - const encoder = new TextEncoder(); - for (const raw of blobParts) { - let part; - if (ArrayBuffer.isView(raw)) { - part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); - } else if (raw instanceof ArrayBuffer) { - part = new Uint8Array(raw.slice(0)); - } else if (raw instanceof Blob3) { - part = raw; - } else { - part = encoder.encode(String(raw)); - } - __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); - __classPrivateFieldGet(this, _Blob_parts, "f").push(part); - } - const type = options.type === void 0 ? "" : String(options.type); - __classPrivateFieldSet(this, _Blob_type, /^[\x20-\x7E]*$/.test(type) ? type : "", "f"); - } - static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { - return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); - } - get type() { - return __classPrivateFieldGet(this, _Blob_type, "f"); - } - get size() { - return __classPrivateFieldGet(this, _Blob_size, "f"); - } - slice(start, end, contentType) { - return new Blob3(sliceBlob(__classPrivateFieldGet(this, _Blob_parts, "f"), this.size, start, end), { - type: contentType - }); - } - async text() { - const decoder = new TextDecoder(); - let result = ""; - for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { - result += decoder.decode(chunk, { stream: true }); - } - result += decoder.decode(); - return result; - } - async arrayBuffer() { - const view = new Uint8Array(this.size); - let offset = 0; - for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { - view.set(chunk, offset); - offset += chunk.length; - } - return view.buffer; - } - stream() { - const iterator = consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"), true); - return new ReadableStream2({ - async pull(controller) { - const { value, done } = await iterator.next(); - if (done) { - return queueMicrotask(() => controller.close()); - } - controller.enqueue(value); - }, - async cancel() { - await iterator.return(); - } - }); - } - get [Symbol.toStringTag]() { - return "Blob"; - } - }; - Object.defineProperties(Blob3.prototype, { - type: { enumerable: true }, - size: { enumerable: true }, - slice: { enumerable: true }, - stream: { enumerable: true }, - text: { enumerable: true }, - arrayBuffer: { enumerable: true } - }); - } -}); - -// node_modules/formdata-node/lib/esm/File.js -var __classPrivateFieldSet2, __classPrivateFieldGet2, _File_name, _File_lastModified, File2; -var init_File = __esm({ - "node_modules/formdata-node/lib/esm/File.js"() { - init_Blob(); - __classPrivateFieldSet2 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet2 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - File2 = class extends Blob3 { - constructor(fileBits, name, options = {}) { - super(fileBits, options); - _File_name.set(this, void 0); - _File_lastModified.set(this, 0); - if (arguments.length < 2) { - throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); - } - __classPrivateFieldSet2(this, _File_name, String(name), "f"); - const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); - if (!Number.isNaN(lastModified)) { - __classPrivateFieldSet2(this, _File_lastModified, lastModified, "f"); - } - } - static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { - return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; - } - get name() { - return __classPrivateFieldGet2(this, _File_name, "f"); - } - get lastModified() { - return __classPrivateFieldGet2(this, _File_lastModified, "f"); - } - get webkitRelativePath() { - return ""; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - } -}); - -// node_modules/formdata-node/lib/esm/isFile.js -var isFile2; -var init_isFile = __esm({ - "node_modules/formdata-node/lib/esm/isFile.js"() { - init_File(); - isFile2 = (value) => value instanceof File2; - } -}); - -// node_modules/humanize-ms/index.js -var require_humanize_ms = __commonJS({ - "node_modules/humanize-ms/index.js"(exports, module2) { - "use strict"; - var util2 = require("util"); - var ms = require_ms(); - module2.exports = function(t2) { - if (typeof t2 === "number") - return t2; - var r3 = ms(t2); - if (r3 === void 0) { - var err = new Error(util2.format("humanize-ms(%j) result undefined", t2)); - console.warn(err.stack); - } - return r3; - }; - } -}); - -// node_modules/agentkeepalive/lib/constants.js -var require_constants = __commonJS({ - "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { - "use strict"; - module2.exports = { - CURRENT_ID: Symbol("agentkeepalive#currentId"), - CREATE_ID: Symbol("agentkeepalive#createId"), - INIT_SOCKET: Symbol("agentkeepalive#initSocket"), - CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), - SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), - SOCKET_NAME: Symbol("agentkeepalive#socketName"), - SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), - SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") - }; - } -}); - -// node_modules/agentkeepalive/lib/agent.js -var require_agent = __commonJS({ - "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { - "use strict"; - var OriginalAgent = require("http").Agent; - var ms = require_humanize_ms(); - var debug2 = require("util").debuglog("agentkeepalive"); - var { - INIT_SOCKET, - CURRENT_ID, - CREATE_ID, - SOCKET_CREATED_TIME, - SOCKET_NAME, - SOCKET_REQUEST_COUNT, - SOCKET_REQUEST_FINISHED_COUNT - } = require_constants(); - var defaultTimeoutListenerCount = 1; - var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); - if (majorVersion >= 11 && majorVersion <= 12) { - defaultTimeoutListenerCount = 2; - } else if (majorVersion >= 13) { - defaultTimeoutListenerCount = 3; - } - function deprecate2(message) { - console.log("[agentkeepalive:deprecated] %s", message); - } - var Agent = class extends OriginalAgent { - constructor(options) { - options = options || {}; - options.keepAlive = options.keepAlive !== false; - if (options.freeSocketTimeout === void 0) { - options.freeSocketTimeout = 4e3; - } - if (options.keepAliveTimeout) { - deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); - options.freeSocketTimeout = options.keepAliveTimeout; - delete options.keepAliveTimeout; - } - if (options.freeSocketKeepAliveTimeout) { - deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); - options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; - delete options.freeSocketKeepAliveTimeout; - } - if (options.timeout === void 0) { - options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); - } - options.timeout = ms(options.timeout); - options.freeSocketTimeout = ms(options.freeSocketTimeout); - options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; - super(options); - this[CURRENT_ID] = 0; - this.createSocketCount = 0; - this.createSocketCountLastCheck = 0; - this.createSocketErrorCount = 0; - this.createSocketErrorCountLastCheck = 0; - this.closeSocketCount = 0; - this.closeSocketCountLastCheck = 0; - this.errorSocketCount = 0; - this.errorSocketCountLastCheck = 0; - this.requestCount = 0; - this.requestCountLastCheck = 0; - this.timeoutSocketCount = 0; - this.timeoutSocketCountLastCheck = 0; - this.on("free", (socket) => { - const timeout = this.calcSocketTimeout(socket); - if (timeout > 0 && socket.timeout !== timeout) { - socket.setTimeout(timeout); - } - }); - } - get freeSocketKeepAliveTimeout() { - deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); - return this.options.freeSocketTimeout; - } - get timeout() { - deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); - return this.options.timeout; - } - get socketActiveTTL() { - deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); - return this.options.socketActiveTTL; - } - calcSocketTimeout(socket) { - let freeSocketTimeout = this.options.freeSocketTimeout; - const socketActiveTTL = this.options.socketActiveTTL; - if (socketActiveTTL) { - const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; - const diff = socketActiveTTL - aliveTime; - if (diff <= 0) { - return diff; - } - if (freeSocketTimeout && diff < freeSocketTimeout) { - freeSocketTimeout = diff; - } - } - if (freeSocketTimeout) { - const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; - return customFreeSocketTimeout || freeSocketTimeout; - } - } - keepSocketAlive(socket) { - const result = super.keepSocketAlive(socket); - if (!result) - return result; - const customTimeout = this.calcSocketTimeout(socket); - if (typeof customTimeout === "undefined") { - return true; - } - if (customTimeout <= 0) { - debug2( - "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - customTimeout - ); - return false; - } - if (socket.timeout !== customTimeout) { - socket.setTimeout(customTimeout); - } - return true; - } - reuseSocket(...args) { - super.reuseSocket(...args); - const socket = args[0]; - const req = args[1]; - req.reusedSocket = true; - const agentTimeout = this.options.timeout; - if (getSocketTimeout(socket) !== agentTimeout) { - socket.setTimeout(agentTimeout); - debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); - } - socket[SOCKET_REQUEST_COUNT]++; - debug2( - "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - getSocketTimeout(socket) - ); - } - [CREATE_ID]() { - const id = this[CURRENT_ID]++; - if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) - this[CURRENT_ID] = 0; - return id; - } - [INIT_SOCKET](socket, options) { - if (options.timeout) { - const timeout = getSocketTimeout(socket); - if (!timeout) { - socket.setTimeout(options.timeout); - } - } - if (this.options.keepAlive) { - socket.setNoDelay(true); - } - this.createSocketCount++; - if (this.options.socketActiveTTL) { - socket[SOCKET_CREATED_TIME] = Date.now(); - } - socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; - socket[SOCKET_REQUEST_COUNT] = 1; - socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; - installListeners(this, socket, options); - } - createConnection(options, oncreate) { - let called = false; - const onNewCreate = (err, socket) => { - if (called) - return; - called = true; - if (err) { - this.createSocketErrorCount++; - return oncreate(err); - } - this[INIT_SOCKET](socket, options); - oncreate(err, socket); - }; - const newSocket = super.createConnection(options, onNewCreate); - if (newSocket) - onNewCreate(null, newSocket); - return newSocket; - } - get statusChanged() { - const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; - if (changed) { - this.createSocketCountLastCheck = this.createSocketCount; - this.createSocketErrorCountLastCheck = this.createSocketErrorCount; - this.closeSocketCountLastCheck = this.closeSocketCount; - this.errorSocketCountLastCheck = this.errorSocketCount; - this.timeoutSocketCountLastCheck = this.timeoutSocketCount; - this.requestCountLastCheck = this.requestCount; - } - return changed; - } - getCurrentStatus() { - return { - createSocketCount: this.createSocketCount, - createSocketErrorCount: this.createSocketErrorCount, - closeSocketCount: this.closeSocketCount, - errorSocketCount: this.errorSocketCount, - timeoutSocketCount: this.timeoutSocketCount, - requestCount: this.requestCount, - freeSockets: inspect2(this.freeSockets), - sockets: inspect2(this.sockets), - requests: inspect2(this.requests) - }; - } - }; - function getSocketTimeout(socket) { - return socket.timeout || socket._idleTimeout; - } - function installListeners(agent, socket, options) { - debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); - function onFree() { - if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) - return; - socket[SOCKET_REQUEST_FINISHED_COUNT]++; - agent.requestCount++; - debug2( - "%s(requests: %s, finished: %s) free", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - const name = agent.getName(options); - if (socket.writable && agent.requests[name] && agent.requests[name].length) { - socket[SOCKET_REQUEST_COUNT]++; - debug2( - "%s(requests: %s, finished: %s) will be reuse on agent free event", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - } - } - socket.on("free", onFree); - function onClose(isError) { - debug2( - "%s(requests: %s, finished: %s) close, isError: %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - isError - ); - agent.closeSocketCount++; - } - socket.on("close", onClose); - function onTimeout() { - const listenerCount = socket.listeners("timeout").length; - const timeout = getSocketTimeout(socket); - const req = socket._httpMessage; - const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; - debug2( - "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - timeout, - listenerCount, - defaultTimeoutListenerCount, - !!req, - reqTimeoutListenerCount - ); - if (debug2.enabled) { - debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); - } - agent.timeoutSocketCount++; - const name = agent.getName(options); - if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { - socket.destroy(); - agent.removeSocket(socket, options); - debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); - } else { - if (reqTimeoutListenerCount === 0) { - const error = new Error("Socket timeout"); - error.code = "ERR_SOCKET_TIMEOUT"; - error.timeout = timeout; - socket.destroy(error); - agent.removeSocket(socket, options); - debug2("%s destroy with timeout error", socket[SOCKET_NAME]); - } - } - } - socket.on("timeout", onTimeout); - function onError(err) { - const listenerCount = socket.listeners("error").length; - debug2( - "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - err, - listenerCount - ); - agent.errorSocketCount++; - if (listenerCount === 1) { - debug2("%s emit uncaught error event", socket[SOCKET_NAME]); - socket.removeListener("error", onError); - socket.emit("error", err); - } - } - socket.on("error", onError); - function onRemove() { - debug2( - "%s(requests: %s, finished: %s) agentRemove", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - socket.removeListener("close", onClose); - socket.removeListener("error", onError); - socket.removeListener("free", onFree); - socket.removeListener("timeout", onTimeout); - socket.removeListener("agentRemove", onRemove); - } - socket.on("agentRemove", onRemove); - } - module2.exports = Agent; - function inspect2(obj) { - const res = {}; - for (const key in obj) { - res[key] = obj[key].length; - } - return res; - } - } -}); - -// node_modules/agentkeepalive/lib/https_agent.js -var require_https_agent = __commonJS({ - "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { - "use strict"; - var OriginalHttpsAgent = require("https").Agent; - var HttpAgent = require_agent(); - var { - INIT_SOCKET, - CREATE_HTTPS_CONNECTION - } = require_constants(); - var HttpsAgent = class extends HttpAgent { - constructor(options) { - super(options); - this.defaultPort = 443; - this.protocol = "https:"; - this.maxCachedSessions = this.options.maxCachedSessions; - if (this.maxCachedSessions === void 0) { - this.maxCachedSessions = 100; - } - this._sessionCache = { - map: {}, - list: [] - }; - } - createConnection(options, oncreate) { - const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); - this[INIT_SOCKET](socket, options); - return socket; - } - }; - HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; - [ - "getName", - "_getSession", - "_cacheSession", - "_evictSession" - ].forEach(function(method) { - if (typeof OriginalHttpsAgent.prototype[method] === "function") { - HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; - } - }); - module2.exports = HttpsAgent; - } -}); - -// node_modules/agentkeepalive/index.js -var require_agentkeepalive = __commonJS({ - "node_modules/agentkeepalive/index.js"(exports, module2) { - "use strict"; - module2.exports = require_agent(); - module2.exports.HttpsAgent = require_https_agent(); - module2.exports.constants = require_constants(); - } -}); - -// node_modules/event-target-shim/dist/event-target-shim.js -var require_event_target_shim = __commonJS({ - "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var privateData = /* @__PURE__ */ new WeakMap(); - var wrappers = /* @__PURE__ */ new WeakMap(); - function pd(event) { - const retv = privateData.get(event); - console.assert( - retv != null, - "'this' is expected an Event object, but got", - event - ); - return retv; - } - function setCancelFlag(data) { - if (data.passiveListener != null) { - if (typeof console !== "undefined" && typeof console.error === "function") { - console.error( - "Unable to preventDefault inside passive event listener invocation.", - data.passiveListener - ); - } - return; - } - if (!data.event.cancelable) { - return; - } - data.canceled = true; - if (typeof data.event.preventDefault === "function") { - data.event.preventDefault(); - } - } - function Event(eventTarget, event) { - privateData.set(this, { - eventTarget, - event, - eventPhase: 2, - currentTarget: eventTarget, - canceled: false, - stopped: false, - immediateStopped: false, - passiveListener: null, - timeStamp: event.timeStamp || Date.now() - }); - Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); - const keys = Object.keys(event); - for (let i3 = 0; i3 < keys.length; ++i3) { - const key = keys[i3]; - if (!(key in this)) { - Object.defineProperty(this, key, defineRedirectDescriptor(key)); - } - } - } - Event.prototype = { - get type() { - return pd(this).event.type; - }, - get target() { - return pd(this).eventTarget; - }, - get currentTarget() { - return pd(this).currentTarget; - }, - composedPath() { - const currentTarget = pd(this).currentTarget; - if (currentTarget == null) { - return []; - } - return [currentTarget]; - }, - get NONE() { - return 0; - }, - get CAPTURING_PHASE() { - return 1; - }, - get AT_TARGET() { - return 2; - }, - get BUBBLING_PHASE() { - return 3; - }, - get eventPhase() { - return pd(this).eventPhase; - }, - stopPropagation() { - const data = pd(this); - data.stopped = true; - if (typeof data.event.stopPropagation === "function") { - data.event.stopPropagation(); - } - }, - stopImmediatePropagation() { - const data = pd(this); - data.stopped = true; - data.immediateStopped = true; - if (typeof data.event.stopImmediatePropagation === "function") { - data.event.stopImmediatePropagation(); - } - }, - get bubbles() { - return Boolean(pd(this).event.bubbles); - }, - get cancelable() { - return Boolean(pd(this).event.cancelable); - }, - preventDefault() { - setCancelFlag(pd(this)); - }, - get defaultPrevented() { - return pd(this).canceled; - }, - get composed() { - return Boolean(pd(this).event.composed); - }, - get timeStamp() { - return pd(this).timeStamp; - }, - get srcElement() { - return pd(this).eventTarget; - }, - get cancelBubble() { - return pd(this).stopped; - }, - set cancelBubble(value) { - if (!value) { - return; - } - const data = pd(this); - data.stopped = true; - if (typeof data.event.cancelBubble === "boolean") { - data.event.cancelBubble = true; - } - }, - get returnValue() { - return !pd(this).canceled; - }, - set returnValue(value) { - if (!value) { - setCancelFlag(pd(this)); - } - }, - initEvent() { - } - }; - Object.defineProperty(Event.prototype, "constructor", { - value: Event, - configurable: true, - writable: true - }); - if (typeof window !== "undefined" && typeof window.Event !== "undefined") { - Object.setPrototypeOf(Event.prototype, window.Event.prototype); - wrappers.set(window.Event.prototype, Event); - } - function defineRedirectDescriptor(key) { - return { - get() { - return pd(this).event[key]; - }, - set(value) { - pd(this).event[key] = value; - }, - configurable: true, - enumerable: true - }; - } - function defineCallDescriptor(key) { - return { - value() { - const event = pd(this).event; - return event[key].apply(event, arguments); - }, - configurable: true, - enumerable: true - }; - } - function defineWrapper(BaseEvent, proto2) { - const keys = Object.keys(proto2); - if (keys.length === 0) { - return BaseEvent; - } - function CustomEvent(eventTarget, event) { - BaseEvent.call(this, eventTarget, event); - } - CustomEvent.prototype = Object.create(BaseEvent.prototype, { - constructor: { value: CustomEvent, configurable: true, writable: true } - }); - for (let i3 = 0; i3 < keys.length; ++i3) { - const key = keys[i3]; - if (!(key in BaseEvent.prototype)) { - const descriptor = Object.getOwnPropertyDescriptor(proto2, key); - const isFunc = typeof descriptor.value === "function"; - Object.defineProperty( - CustomEvent.prototype, - key, - isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) - ); - } - } - return CustomEvent; - } - function getWrapper(proto2) { - if (proto2 == null || proto2 === Object.prototype) { - return Event; - } - let wrapper = wrappers.get(proto2); - if (wrapper == null) { - wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); - wrappers.set(proto2, wrapper); - } - return wrapper; - } - function wrapEvent(eventTarget, event) { - const Wrapper = getWrapper(Object.getPrototypeOf(event)); - return new Wrapper(eventTarget, event); - } - function isStopped(event) { - return pd(event).immediateStopped; - } - function setEventPhase(event, eventPhase) { - pd(event).eventPhase = eventPhase; - } - function setCurrentTarget(event, currentTarget) { - pd(event).currentTarget = currentTarget; - } - function setPassiveListener(event, passiveListener) { - pd(event).passiveListener = passiveListener; - } - var listenersMap = /* @__PURE__ */ new WeakMap(); - var CAPTURE = 1; - var BUBBLE = 2; - var ATTRIBUTE = 3; - function isObject2(x5) { - return x5 !== null && typeof x5 === "object"; - } - function getListeners(eventTarget) { - const listeners = listenersMap.get(eventTarget); - if (listeners == null) { - throw new TypeError( - "'this' is expected an EventTarget object, but got another value." - ); - } - return listeners; - } - function defineEventAttributeDescriptor(eventName) { - return { - get() { - const listeners = getListeners(this); - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - return node.listener; - } - node = node.next; - } - return null; - }, - set(listener) { - if (typeof listener !== "function" && !isObject2(listener)) { - listener = null; - } - const listeners = getListeners(this); - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - node = node.next; - } - if (listener !== null) { - const newNode = { - listener, - listenerType: ATTRIBUTE, - passive: false, - once: false, - next: null - }; - if (prev === null) { - listeners.set(eventName, newNode); - } else { - prev.next = newNode; - } - } - }, - configurable: true, - enumerable: true - }; - } - function defineEventAttribute(eventTargetPrototype, eventName) { - Object.defineProperty( - eventTargetPrototype, - `on${eventName}`, - defineEventAttributeDescriptor(eventName) - ); - } - function defineCustomEventTarget(eventNames) { - function CustomEventTarget() { - EventTarget.call(this); - } - CustomEventTarget.prototype = Object.create(EventTarget.prototype, { - constructor: { - value: CustomEventTarget, - configurable: true, - writable: true - } - }); - for (let i3 = 0; i3 < eventNames.length; ++i3) { - defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); - } - return CustomEventTarget; - } - function EventTarget() { - if (this instanceof EventTarget) { - listenersMap.set(this, /* @__PURE__ */ new Map()); - return; - } - if (arguments.length === 1 && Array.isArray(arguments[0])) { - return defineCustomEventTarget(arguments[0]); - } - if (arguments.length > 0) { - const types = new Array(arguments.length); - for (let i3 = 0; i3 < arguments.length; ++i3) { - types[i3] = arguments[i3]; - } - return defineCustomEventTarget(types); - } - throw new TypeError("Cannot call a class as a function"); - } - EventTarget.prototype = { - addEventListener(eventName, listener, options) { - if (listener == null) { - return; - } - if (typeof listener !== "function" && !isObject2(listener)) { - throw new TypeError("'listener' should be a function or an object."); - } - const listeners = getListeners(this); - const optionsIsObj = isObject2(options); - const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - const newNode = { - listener, - listenerType, - passive: optionsIsObj && Boolean(options.passive), - once: optionsIsObj && Boolean(options.once), - next: null - }; - let node = listeners.get(eventName); - if (node === void 0) { - listeners.set(eventName, newNode); - return; - } - let prev = null; - while (node != null) { - if (node.listener === listener && node.listenerType === listenerType) { - return; - } - prev = node; - node = node.next; - } - prev.next = newNode; - }, - removeEventListener(eventName, listener, options) { - if (listener == null) { - return; - } - const listeners = getListeners(this); - const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if (node.listener === listener && node.listenerType === listenerType) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - return; - } - prev = node; - node = node.next; - } - }, - dispatchEvent(event) { - if (event == null || typeof event.type !== "string") { - throw new TypeError('"event.type" should be a string.'); - } - const listeners = getListeners(this); - const eventName = event.type; - let node = listeners.get(eventName); - if (node == null) { - return true; - } - const wrappedEvent = wrapEvent(this, event); - let prev = null; - while (node != null) { - if (node.once) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - setPassiveListener( - wrappedEvent, - node.passive ? node.listener : null - ); - if (typeof node.listener === "function") { - try { - node.listener.call(this, wrappedEvent); - } catch (err) { - if (typeof console !== "undefined" && typeof console.error === "function") { - console.error(err); - } - } - } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { - node.listener.handleEvent(wrappedEvent); - } - if (isStopped(wrappedEvent)) { - break; - } - node = node.next; - } - setPassiveListener(wrappedEvent, null); - setEventPhase(wrappedEvent, 0); - setCurrentTarget(wrappedEvent, null); - return !wrappedEvent.defaultPrevented; - } - }; - Object.defineProperty(EventTarget.prototype, "constructor", { - value: EventTarget, - configurable: true, - writable: true - }); - if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { - Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype); - } - exports.defineEventAttribute = defineEventAttribute; - exports.EventTarget = EventTarget; - exports.default = EventTarget; - module2.exports = EventTarget; - module2.exports.EventTarget = module2.exports["default"] = EventTarget; - module2.exports.defineEventAttribute = defineEventAttribute; - } -}); - -// node_modules/abort-controller/dist/abort-controller.js -var require_abort_controller = __commonJS({ - "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var eventTargetShim = require_event_target_shim(); - var AbortSignal = class extends eventTargetShim.EventTarget { - constructor() { - super(); - throw new TypeError("AbortSignal cannot be constructed directly"); - } - get aborted() { - const aborted = abortedFlags.get(this); - if (typeof aborted !== "boolean") { - throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); - } - return aborted; - } - }; - eventTargetShim.defineEventAttribute(AbortSignal.prototype, "abort"); - function createAbortSignal() { - const signal = Object.create(AbortSignal.prototype); - eventTargetShim.EventTarget.call(signal); - abortedFlags.set(signal, false); - return signal; - } - function abortSignal(signal) { - if (abortedFlags.get(signal) !== false) { - return; - } - abortedFlags.set(signal, true); - signal.dispatchEvent({ type: "abort" }); - } - var abortedFlags = /* @__PURE__ */ new WeakMap(); - Object.defineProperties(AbortSignal.prototype, { - aborted: { enumerable: true } - }); - if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortSignal" - }); - } - var AbortController2 = class { - constructor() { - signals.set(this, createAbortSignal()); - } - get signal() { - return getSignal(this); - } - abort() { - abortSignal(getSignal(this)); - } - }; - var signals = /* @__PURE__ */ new WeakMap(); - function getSignal(controller) { - const signal = signals.get(controller); - if (signal == null) { - throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); - } - return signal; - } - Object.defineProperties(AbortController2.prototype, { - signal: { enumerable: true }, - abort: { enumerable: true } - }); - if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortController" - }); - } - exports.AbortController = AbortController2; - exports.AbortSignal = AbortSignal; - exports.default = AbortController2; - module2.exports = AbortController2; - module2.exports.AbortController = module2.exports["default"] = AbortController2; - module2.exports.AbortSignal = AbortSignal; - } -}); - -// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js -var require_ponyfill_es2018 = __commonJS({ - "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { - (function(global2, factory) { - typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); - })(exports, function(exports2) { - "use strict"; - function noop2() { - return void 0; - } - function typeIsObject(x5) { - return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; - } - const rethrowAssertionErrorRejection = noop2; - function setFunctionName(fn, name) { - try { - Object.defineProperty(fn, "name", { - value: name, - configurable: true - }); - } catch (_a3) { - } - } - const originalPromise = Promise; - const originalPromiseThen = Promise.prototype.then; - const originalPromiseReject = Promise.reject.bind(originalPromise); - function newPromise(executor) { - return new originalPromise(executor); - } - function promiseResolvedWith(value) { - return newPromise((resolve) => resolve(value)); - } - function promiseRejectedWith(reason) { - return originalPromiseReject(reason); - } - function PerformPromiseThen(promise, onFulfilled, onRejected) { - return originalPromiseThen.call(promise, onFulfilled, onRejected); - } - function uponPromise(promise, onFulfilled, onRejected) { - PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); - } - function uponFulfillment(promise, onFulfilled) { - uponPromise(promise, onFulfilled); - } - function uponRejection(promise, onRejected) { - uponPromise(promise, void 0, onRejected); - } - function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { - return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); - } - function setPromiseIsHandledToTrue(promise) { - PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); - } - let _queueMicrotask = (callback) => { - if (typeof queueMicrotask === "function") { - _queueMicrotask = queueMicrotask; - } else { - const resolvedPromise = promiseResolvedWith(void 0); - _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); - } - return _queueMicrotask(callback); - }; - function reflectCall(F5, V6, args) { - if (typeof F5 !== "function") { - throw new TypeError("Argument is not a function"); - } - return Function.prototype.apply.call(F5, V6, args); - } - function promiseCall(F5, V6, args) { - try { - return promiseResolvedWith(reflectCall(F5, V6, args)); - } catch (value) { - return promiseRejectedWith(value); - } - } - const QUEUE_MAX_ARRAY_SIZE = 16384; - class SimpleQueue { - constructor() { - this._cursor = 0; - this._size = 0; - this._front = { - _elements: [], - _next: void 0 - }; - this._back = this._front; - this._cursor = 0; - this._size = 0; - } - get length() { - return this._size; - } - push(element) { - const oldBack = this._back; - let newBack = oldBack; - if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { - newBack = { - _elements: [], - _next: void 0 - }; - } - oldBack._elements.push(element); - if (newBack !== oldBack) { - this._back = newBack; - oldBack._next = newBack; - } - ++this._size; - } - shift() { - const oldFront = this._front; - let newFront = oldFront; - const oldCursor = this._cursor; - let newCursor = oldCursor + 1; - const elements = oldFront._elements; - const element = elements[oldCursor]; - if (newCursor === QUEUE_MAX_ARRAY_SIZE) { - newFront = oldFront._next; - newCursor = 0; - } - --this._size; - this._cursor = newCursor; - if (oldFront !== newFront) { - this._front = newFront; - } - elements[oldCursor] = void 0; - return element; - } - forEach(callback) { - let i3 = this._cursor; - let node = this._front; - let elements = node._elements; - while (i3 !== elements.length || node._next !== void 0) { - if (i3 === elements.length) { - node = node._next; - elements = node._elements; - i3 = 0; - if (elements.length === 0) { - break; - } - } - callback(elements[i3]); - ++i3; - } - } - peek() { - const front = this._front; - const cursor = this._cursor; - return front._elements[cursor]; - } - } - const AbortSteps = Symbol("[[AbortSteps]]"); - const ErrorSteps = Symbol("[[ErrorSteps]]"); - const CancelSteps = Symbol("[[CancelSteps]]"); - const PullSteps = Symbol("[[PullSteps]]"); - const ReleaseSteps = Symbol("[[ReleaseSteps]]"); - function ReadableStreamReaderGenericInitialize(reader, stream4) { - reader._ownerReadableStream = stream4; - stream4._reader = reader; - if (stream4._state === "readable") { - defaultReaderClosedPromiseInitialize(reader); - } else if (stream4._state === "closed") { - defaultReaderClosedPromiseInitializeAsResolved(reader); - } else { - defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); - } - } - function ReadableStreamReaderGenericCancel(reader, reason) { - const stream4 = reader._ownerReadableStream; - return ReadableStreamCancel(stream4, reason); - } - function ReadableStreamReaderGenericRelease(reader) { - const stream4 = reader._ownerReadableStream; - if (stream4._state === "readable") { - defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); - } else { - defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); - } - stream4._readableStreamController[ReleaseSteps](); - stream4._reader = void 0; - reader._ownerReadableStream = void 0; - } - function readerLockException(name) { - return new TypeError("Cannot " + name + " a stream using a released reader"); - } - function defaultReaderClosedPromiseInitialize(reader) { - reader._closedPromise = newPromise((resolve, reject) => { - reader._closedPromise_resolve = resolve; - reader._closedPromise_reject = reject; - }); - } - function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseReject(reader, reason); - } - function defaultReaderClosedPromiseInitializeAsResolved(reader) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseResolve(reader); - } - function defaultReaderClosedPromiseReject(reader, reason) { - if (reader._closedPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(reader._closedPromise); - reader._closedPromise_reject(reason); - reader._closedPromise_resolve = void 0; - reader._closedPromise_reject = void 0; - } - function defaultReaderClosedPromiseResetToRejected(reader, reason) { - defaultReaderClosedPromiseInitializeAsRejected(reader, reason); - } - function defaultReaderClosedPromiseResolve(reader) { - if (reader._closedPromise_resolve === void 0) { - return; - } - reader._closedPromise_resolve(void 0); - reader._closedPromise_resolve = void 0; - reader._closedPromise_reject = void 0; - } - const NumberIsFinite = Number.isFinite || function(x5) { - return typeof x5 === "number" && isFinite(x5); - }; - const MathTrunc = Math.trunc || function(v5) { - return v5 < 0 ? Math.ceil(v5) : Math.floor(v5); - }; - function isDictionary(x5) { - return typeof x5 === "object" || typeof x5 === "function"; - } - function assertDictionary(obj, context) { - if (obj !== void 0 && !isDictionary(obj)) { - throw new TypeError(`${context} is not an object.`); - } - } - function assertFunction(x5, context) { - if (typeof x5 !== "function") { - throw new TypeError(`${context} is not a function.`); - } - } - function isObject2(x5) { - return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; - } - function assertObject(x5, context) { - if (!isObject2(x5)) { - throw new TypeError(`${context} is not an object.`); - } - } - function assertRequiredArgument(x5, position, context) { - if (x5 === void 0) { - throw new TypeError(`Parameter ${position} is required in '${context}'.`); - } - } - function assertRequiredField(x5, field, context) { - if (x5 === void 0) { - throw new TypeError(`${field} is required in '${context}'.`); - } - } - function convertUnrestrictedDouble(value) { - return Number(value); - } - function censorNegativeZero(x5) { - return x5 === 0 ? 0 : x5; - } - function integerPart(x5) { - return censorNegativeZero(MathTrunc(x5)); - } - function convertUnsignedLongLongWithEnforceRange(value, context) { - const lowerBound = 0; - const upperBound = Number.MAX_SAFE_INTEGER; - let x5 = Number(value); - x5 = censorNegativeZero(x5); - if (!NumberIsFinite(x5)) { - throw new TypeError(`${context} is not a finite number`); - } - x5 = integerPart(x5); - if (x5 < lowerBound || x5 > upperBound) { - throw new TypeError(`${context} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); - } - if (!NumberIsFinite(x5) || x5 === 0) { - return 0; - } - return x5; - } - function assertReadableStream(x5, context) { - if (!IsReadableStream(x5)) { - throw new TypeError(`${context} is not a ReadableStream.`); - } - } - function AcquireReadableStreamDefaultReader(stream4) { - return new ReadableStreamDefaultReader2(stream4); - } - function ReadableStreamAddReadRequest(stream4, readRequest) { - stream4._reader._readRequests.push(readRequest); - } - function ReadableStreamFulfillReadRequest(stream4, chunk, done) { - const reader = stream4._reader; - const readRequest = reader._readRequests.shift(); - if (done) { - readRequest._closeSteps(); - } else { - readRequest._chunkSteps(chunk); - } - } - function ReadableStreamGetNumReadRequests(stream4) { - return stream4._reader._readRequests.length; - } - function ReadableStreamHasDefaultReader(stream4) { - const reader = stream4._reader; - if (reader === void 0) { - return false; - } - if (!IsReadableStreamDefaultReader(reader)) { - return false; - } - return true; - } - class ReadableStreamDefaultReader2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); - assertReadableStream(stream4, "First parameter"); - if (IsReadableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - } - ReadableStreamReaderGenericInitialize(this, stream4); - this._readRequests = new SimpleQueue(); - } - get closed() { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("closed")); - } - return this._closedPromise; - } - cancel(reason = void 0) { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("cancel")); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - read() { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("read")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("read from")); - } - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readRequest = { - _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), - _closeSteps: () => resolvePromise({ value: void 0, done: true }), - _errorSteps: (e3) => rejectPromise(e3) - }; - ReadableStreamDefaultReaderRead(this, readRequest); - return promise; - } - releaseLock() { - if (!IsReadableStreamDefaultReader(this)) { - throw defaultReaderBrandCheckException("releaseLock"); - } - if (this._ownerReadableStream === void 0) { - return; - } - ReadableStreamDefaultReaderRelease(this); - } - } - Object.defineProperties(ReadableStreamDefaultReader2.prototype, { - cancel: { enumerable: true }, - read: { enumerable: true }, - releaseLock: { enumerable: true }, - closed: { enumerable: true } - }); - setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); - setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); - setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { - value: "ReadableStreamDefaultReader", - configurable: true - }); - } - function IsReadableStreamDefaultReader(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_readRequests")) { - return false; - } - return x5 instanceof ReadableStreamDefaultReader2; - } - function ReadableStreamDefaultReaderRead(reader, readRequest) { - const stream4 = reader._ownerReadableStream; - stream4._disturbed = true; - if (stream4._state === "closed") { - readRequest._closeSteps(); - } else if (stream4._state === "errored") { - readRequest._errorSteps(stream4._storedError); - } else { - stream4._readableStreamController[PullSteps](readRequest); - } - } - function ReadableStreamDefaultReaderRelease(reader) { - ReadableStreamReaderGenericRelease(reader); - const e3 = new TypeError("Reader was released"); - ReadableStreamDefaultReaderErrorReadRequests(reader, e3); - } - function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { - const readRequests = reader._readRequests; - reader._readRequests = new SimpleQueue(); - readRequests.forEach((readRequest) => { - readRequest._errorSteps(e3); - }); - } - function defaultReaderBrandCheckException(name) { - return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); - } - const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { - }).prototype); - class ReadableStreamAsyncIteratorImpl { - constructor(reader, preventCancel) { - this._ongoingPromise = void 0; - this._isFinished = false; - this._reader = reader; - this._preventCancel = preventCancel; - } - next() { - const nextSteps = () => this._nextSteps(); - this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); - return this._ongoingPromise; - } - return(value) { - const returnSteps = () => this._returnSteps(value); - return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); - } - _nextSteps() { - if (this._isFinished) { - return Promise.resolve({ value: void 0, done: true }); - } - const reader = this._reader; - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readRequest = { - _chunkSteps: (chunk) => { - this._ongoingPromise = void 0; - _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); - }, - _closeSteps: () => { - this._ongoingPromise = void 0; - this._isFinished = true; - ReadableStreamReaderGenericRelease(reader); - resolvePromise({ value: void 0, done: true }); - }, - _errorSteps: (reason) => { - this._ongoingPromise = void 0; - this._isFinished = true; - ReadableStreamReaderGenericRelease(reader); - rejectPromise(reason); - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - return promise; - } - _returnSteps(value) { - if (this._isFinished) { - return Promise.resolve({ value, done: true }); - } - this._isFinished = true; - const reader = this._reader; - if (!this._preventCancel) { - const result = ReadableStreamReaderGenericCancel(reader, value); - ReadableStreamReaderGenericRelease(reader); - return transformPromiseWith(result, () => ({ value, done: true })); - } - ReadableStreamReaderGenericRelease(reader); - return promiseResolvedWith({ value, done: true }); - } - } - const ReadableStreamAsyncIteratorPrototype = { - next() { - if (!IsReadableStreamAsyncIterator(this)) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); - } - return this._asyncIteratorImpl.next(); - }, - return(value) { - if (!IsReadableStreamAsyncIterator(this)) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); - } - return this._asyncIteratorImpl.return(value); - } - }; - Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); - function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { - const reader = AcquireReadableStreamDefaultReader(stream4); - const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); - const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); - iterator._asyncIteratorImpl = impl; - return iterator; - } - function IsReadableStreamAsyncIterator(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_asyncIteratorImpl")) { - return false; - } - try { - return x5._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; - } catch (_a3) { - return false; - } - } - function streamAsyncIteratorBrandCheckException(name) { - return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); - } - const NumberIsNaN = Number.isNaN || function(x5) { - return x5 !== x5; - }; - var _a2, _b, _c; - function CreateArrayFromList(elements) { - return elements.slice(); - } - function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { - new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); - } - let TransferArrayBuffer = (O5) => { - if (typeof O5.transfer === "function") { - TransferArrayBuffer = (buffer) => buffer.transfer(); - } else if (typeof structuredClone === "function") { - TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); - } else { - TransferArrayBuffer = (buffer) => buffer; - } - return TransferArrayBuffer(O5); - }; - let IsDetachedBuffer = (O5) => { - if (typeof O5.detached === "boolean") { - IsDetachedBuffer = (buffer) => buffer.detached; - } else { - IsDetachedBuffer = (buffer) => buffer.byteLength === 0; - } - return IsDetachedBuffer(O5); - }; - function ArrayBufferSlice(buffer, begin, end) { - if (buffer.slice) { - return buffer.slice(begin, end); - } - const length = end - begin; - const slice = new ArrayBuffer(length); - CopyDataBlockBytes(slice, 0, buffer, begin, length); - return slice; - } - function GetMethod(receiver, prop) { - const func = receiver[prop]; - if (func === void 0 || func === null) { - return void 0; - } - if (typeof func !== "function") { - throw new TypeError(`${String(prop)} is not a function`); - } - return func; - } - function CreateAsyncFromSyncIterator(syncIteratorRecord) { - const syncIterable = { - [Symbol.iterator]: () => syncIteratorRecord.iterator - }; - const asyncIterator2 = async function* () { - return yield* syncIterable; - }(); - const nextMethod = asyncIterator2.next; - return { iterator: asyncIterator2, nextMethod, done: false }; - } - const SymbolAsyncIterator = (_c = (_a2 = Symbol.asyncIterator) !== null && _a2 !== void 0 ? _a2 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c !== void 0 ? _c : "@@asyncIterator"; - function GetIterator(obj, hint = "sync", method) { - if (method === void 0) { - if (hint === "async") { - method = GetMethod(obj, SymbolAsyncIterator); - if (method === void 0) { - const syncMethod = GetMethod(obj, Symbol.iterator); - const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); - return CreateAsyncFromSyncIterator(syncIteratorRecord); - } - } else { - method = GetMethod(obj, Symbol.iterator); - } - } - if (method === void 0) { - throw new TypeError("The object is not iterable"); - } - const iterator = reflectCall(method, obj, []); - if (!typeIsObject(iterator)) { - throw new TypeError("The iterator method must return an object"); - } - const nextMethod = iterator.next; - return { iterator, nextMethod, done: false }; - } - function IteratorNext(iteratorRecord) { - const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); - if (!typeIsObject(result)) { - throw new TypeError("The iterator.next() method must return an object"); - } - return result; - } - function IteratorComplete(iterResult) { - return Boolean(iterResult.done); - } - function IteratorValue(iterResult) { - return iterResult.value; - } - function IsNonNegativeNumber(v5) { - if (typeof v5 !== "number") { - return false; - } - if (NumberIsNaN(v5)) { - return false; - } - if (v5 < 0) { - return false; - } - return true; - } - function CloneAsUint8Array(O5) { - const buffer = ArrayBufferSlice(O5.buffer, O5.byteOffset, O5.byteOffset + O5.byteLength); - return new Uint8Array(buffer); - } - function DequeueValue(container) { - const pair = container._queue.shift(); - container._queueTotalSize -= pair.size; - if (container._queueTotalSize < 0) { - container._queueTotalSize = 0; - } - return pair.value; - } - function EnqueueValueWithSize(container, value, size) { - if (!IsNonNegativeNumber(size) || size === Infinity) { - throw new RangeError("Size must be a finite, non-NaN, non-negative number."); - } - container._queue.push({ value, size }); - container._queueTotalSize += size; - } - function PeekQueueValue(container) { - const pair = container._queue.peek(); - return pair.value; - } - function ResetQueue(container) { - container._queue = new SimpleQueue(); - container._queueTotalSize = 0; - } - function isDataViewConstructor(ctor) { - return ctor === DataView; - } - function isDataView(view) { - return isDataViewConstructor(view.constructor); - } - function arrayBufferViewElementSize(ctor) { - if (isDataViewConstructor(ctor)) { - return 1; - } - return ctor.BYTES_PER_ELEMENT; - } - class ReadableStreamBYOBRequest2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get view() { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("view"); - } - return this._view; - } - respond(bytesWritten) { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("respond"); - } - assertRequiredArgument(bytesWritten, 1, "respond"); - bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); - if (this._associatedReadableByteStreamController === void 0) { - throw new TypeError("This BYOB request has been invalidated"); - } - if (IsDetachedBuffer(this._view.buffer)) { - throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); - } - ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); - } - respondWithNewView(view) { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("respondWithNewView"); - } - assertRequiredArgument(view, 1, "respondWithNewView"); - if (!ArrayBuffer.isView(view)) { - throw new TypeError("You can only respond with array buffer views"); - } - if (this._associatedReadableByteStreamController === void 0) { - throw new TypeError("This BYOB request has been invalidated"); - } - if (IsDetachedBuffer(view.buffer)) { - throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); - } - ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); - } - } - Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { - respond: { enumerable: true }, - respondWithNewView: { enumerable: true }, - view: { enumerable: true } - }); - setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); - setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { - value: "ReadableStreamBYOBRequest", - configurable: true - }); - } - class ReadableByteStreamController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get byobRequest() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("byobRequest"); - } - return ReadableByteStreamControllerGetBYOBRequest(this); - } - get desiredSize() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("desiredSize"); - } - return ReadableByteStreamControllerGetDesiredSize(this); - } - close() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("close"); - } - if (this._closeRequested) { - throw new TypeError("The stream has already been closed; do not close it again!"); - } - const state = this._controlledReadableByteStream._state; - if (state !== "readable") { - throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`); - } - ReadableByteStreamControllerClose(this); - } - enqueue(chunk) { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("enqueue"); - } - assertRequiredArgument(chunk, 1, "enqueue"); - if (!ArrayBuffer.isView(chunk)) { - throw new TypeError("chunk must be an array buffer view"); - } - if (chunk.byteLength === 0) { - throw new TypeError("chunk must have non-zero byteLength"); - } - if (chunk.buffer.byteLength === 0) { - throw new TypeError(`chunk's buffer must have non-zero byteLength`); - } - if (this._closeRequested) { - throw new TypeError("stream is closed or draining"); - } - const state = this._controlledReadableByteStream._state; - if (state !== "readable") { - throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`); - } - ReadableByteStreamControllerEnqueue(this, chunk); - } - error(e3 = void 0) { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("error"); - } - ReadableByteStreamControllerError(this, e3); - } - [CancelSteps](reason) { - ReadableByteStreamControllerClearPendingPullIntos(this); - ResetQueue(this); - const result = this._cancelAlgorithm(reason); - ReadableByteStreamControllerClearAlgorithms(this); - return result; - } - [PullSteps](readRequest) { - const stream4 = this._controlledReadableByteStream; - if (this._queueTotalSize > 0) { - ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); - return; - } - const autoAllocateChunkSize = this._autoAllocateChunkSize; - if (autoAllocateChunkSize !== void 0) { - let buffer; - try { - buffer = new ArrayBuffer(autoAllocateChunkSize); - } catch (bufferE) { - readRequest._errorSteps(bufferE); - return; - } - const pullIntoDescriptor = { - buffer, - bufferByteLength: autoAllocateChunkSize, - byteOffset: 0, - byteLength: autoAllocateChunkSize, - bytesFilled: 0, - minimumFill: 1, - elementSize: 1, - viewConstructor: Uint8Array, - readerType: "default" - }; - this._pendingPullIntos.push(pullIntoDescriptor); - } - ReadableStreamAddReadRequest(stream4, readRequest); - ReadableByteStreamControllerCallPullIfNeeded(this); - } - [ReleaseSteps]() { - if (this._pendingPullIntos.length > 0) { - const firstPullInto = this._pendingPullIntos.peek(); - firstPullInto.readerType = "none"; - this._pendingPullIntos = new SimpleQueue(); - this._pendingPullIntos.push(firstPullInto); - } - } - } - Object.defineProperties(ReadableByteStreamController2.prototype, { - close: { enumerable: true }, - enqueue: { enumerable: true }, - error: { enumerable: true }, - byobRequest: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(ReadableByteStreamController2.prototype.close, "close"); - setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); - setFunctionName(ReadableByteStreamController2.prototype.error, "error"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { - value: "ReadableByteStreamController", - configurable: true - }); - } - function IsReadableByteStreamController(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableByteStream")) { - return false; - } - return x5 instanceof ReadableByteStreamController2; - } - function IsReadableStreamBYOBRequest(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_associatedReadableByteStreamController")) { - return false; - } - return x5 instanceof ReadableStreamBYOBRequest2; - } - function ReadableByteStreamControllerCallPullIfNeeded(controller) { - const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); - if (!shouldPull) { - return; - } - if (controller._pulling) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - const pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, () => { - controller._pulling = false; - if (controller._pullAgain) { - controller._pullAgain = false; - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - return null; - }, (e3) => { - ReadableByteStreamControllerError(controller, e3); - return null; - }); - } - function ReadableByteStreamControllerClearPendingPullIntos(controller) { - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - controller._pendingPullIntos = new SimpleQueue(); - } - function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { - let done = false; - if (stream4._state === "closed") { - done = true; - } - const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - if (pullIntoDescriptor.readerType === "default") { - ReadableStreamFulfillReadRequest(stream4, filledView, done); - } else { - ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); - } - } - function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { - const bytesFilled = pullIntoDescriptor.bytesFilled; - const elementSize = pullIntoDescriptor.elementSize; - return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); - } - function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { - controller._queue.push({ buffer, byteOffset, byteLength }); - controller._queueTotalSize += byteLength; - } - function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { - let clonedChunk; - try { - clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); - } catch (cloneE) { - ReadableByteStreamControllerError(controller, cloneE); - throw cloneE; - } - ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); - } - function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { - if (firstDescriptor.bytesFilled > 0) { - ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { - const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); - const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; - let totalBytesToCopyRemaining = maxBytesToCopy; - let ready = false; - const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; - const maxAlignedBytes = maxBytesFilled - remainderBytes; - if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { - totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; - ready = true; - } - const queue = controller._queue; - while (totalBytesToCopyRemaining > 0) { - const headOfQueue = queue.peek(); - const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); - const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); - if (headOfQueue.byteLength === bytesToCopy) { - queue.shift(); - } else { - headOfQueue.byteOffset += bytesToCopy; - headOfQueue.byteLength -= bytesToCopy; - } - controller._queueTotalSize -= bytesToCopy; - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); - totalBytesToCopyRemaining -= bytesToCopy; - } - return ready; - } - function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { - pullIntoDescriptor.bytesFilled += size; - } - function ReadableByteStreamControllerHandleQueueDrain(controller) { - if (controller._queueTotalSize === 0 && controller._closeRequested) { - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(controller._controlledReadableByteStream); - } else { - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - } - function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { - if (controller._byobRequest === null) { - return; - } - controller._byobRequest._associatedReadableByteStreamController = void 0; - controller._byobRequest._view = null; - controller._byobRequest = null; - } - function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { - while (controller._pendingPullIntos.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - const pullIntoDescriptor = controller._pendingPullIntos.peek(); - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { - const reader = controller._controlledReadableByteStream._reader; - while (reader._readRequests.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - const readRequest = reader._readRequests.shift(); - ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); - } - } - function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { - const stream4 = controller._controlledReadableByteStream; - const ctor = view.constructor; - const elementSize = arrayBufferViewElementSize(ctor); - const { byteOffset, byteLength } = view; - const minimumFill = min * elementSize; - let buffer; - try { - buffer = TransferArrayBuffer(view.buffer); - } catch (e3) { - readIntoRequest._errorSteps(e3); - return; - } - const pullIntoDescriptor = { - buffer, - bufferByteLength: buffer.byteLength, - byteOffset, - byteLength, - bytesFilled: 0, - minimumFill, - elementSize, - viewConstructor: ctor, - readerType: "byob" - }; - if (controller._pendingPullIntos.length > 0) { - controller._pendingPullIntos.push(pullIntoDescriptor); - ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); - return; - } - if (stream4._state === "closed") { - const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); - readIntoRequest._closeSteps(emptyView); - return; - } - if (controller._queueTotalSize > 0) { - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { - const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - ReadableByteStreamControllerHandleQueueDrain(controller); - readIntoRequest._chunkSteps(filledView); - return; - } - if (controller._closeRequested) { - const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - ReadableByteStreamControllerError(controller, e3); - readIntoRequest._errorSteps(e3); - return; - } - } - controller._pendingPullIntos.push(pullIntoDescriptor); - ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { - if (firstDescriptor.readerType === "none") { - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - const stream4 = controller._controlledReadableByteStream; - if (ReadableStreamHasBYOBReader(stream4)) { - while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { - const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); - if (pullIntoDescriptor.readerType === "none") { - ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - return; - } - if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { - return; - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; - if (remainderSize > 0) { - const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); - } - pullIntoDescriptor.bytesFilled -= remainderSize; - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } - function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { - const firstDescriptor = controller._pendingPullIntos.peek(); - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); - } else { - ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerShiftPendingPullInto(controller) { - const descriptor = controller._pendingPullIntos.shift(); - return descriptor; - } - function ReadableByteStreamControllerShouldCallPull(controller) { - const stream4 = controller._controlledReadableByteStream; - if (stream4._state !== "readable") { - return false; - } - if (controller._closeRequested) { - return false; - } - if (!controller._started) { - return false; - } - if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - return true; - } - if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { - return true; - } - const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableByteStreamControllerClearAlgorithms(controller) { - controller._pullAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - } - function ReadableByteStreamControllerClose(controller) { - const stream4 = controller._controlledReadableByteStream; - if (controller._closeRequested || stream4._state !== "readable") { - return; - } - if (controller._queueTotalSize > 0) { - controller._closeRequested = true; - return; - } - if (controller._pendingPullIntos.length > 0) { - const firstPendingPullInto = controller._pendingPullIntos.peek(); - if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { - const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - ReadableByteStreamControllerError(controller, e3); - throw e3; - } - } - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(stream4); - } - function ReadableByteStreamControllerEnqueue(controller, chunk) { - const stream4 = controller._controlledReadableByteStream; - if (controller._closeRequested || stream4._state !== "readable") { - return; - } - const { buffer, byteOffset, byteLength } = chunk; - if (IsDetachedBuffer(buffer)) { - throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); - } - const transferredBuffer = TransferArrayBuffer(buffer); - if (controller._pendingPullIntos.length > 0) { - const firstPendingPullInto = controller._pendingPullIntos.peek(); - if (IsDetachedBuffer(firstPendingPullInto.buffer)) { - throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); - } - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); - if (firstPendingPullInto.readerType === "none") { - ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); - } - } - if (ReadableStreamHasDefaultReader(stream4)) { - ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); - if (ReadableStreamGetNumReadRequests(stream4) === 0) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } else { - if (controller._pendingPullIntos.length > 0) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); - ReadableStreamFulfillReadRequest(stream4, transferredView, false); - } - } else if (ReadableStreamHasBYOBReader(stream4)) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } else { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerError(controller, e3) { - const stream4 = controller._controlledReadableByteStream; - if (stream4._state !== "readable") { - return; - } - ReadableByteStreamControllerClearPendingPullIntos(controller); - ResetQueue(controller); - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamError(stream4, e3); - } - function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { - const entry = controller._queue.shift(); - controller._queueTotalSize -= entry.byteLength; - ReadableByteStreamControllerHandleQueueDrain(controller); - const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); - readRequest._chunkSteps(view); - } - function ReadableByteStreamControllerGetBYOBRequest(controller) { - if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); - const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); - SetUpReadableStreamBYOBRequest(byobRequest, controller, view); - controller._byobRequest = byobRequest; - } - return controller._byobRequest; - } - function ReadableByteStreamControllerGetDesiredSize(controller) { - const state = controller._controlledReadableByteStream._state; - if (state === "errored") { - return null; - } - if (state === "closed") { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableByteStreamControllerRespond(controller, bytesWritten) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - if (bytesWritten !== 0) { - throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); - } - } else { - if (bytesWritten === 0) { - throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); - } - if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { - throw new RangeError("bytesWritten out of range"); - } - } - firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); - ReadableByteStreamControllerRespondInternal(controller, bytesWritten); - } - function ReadableByteStreamControllerRespondWithNewView(controller, view) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - if (view.byteLength !== 0) { - throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); - } - } else { - if (view.byteLength === 0) { - throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); - } - } - if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { - throw new RangeError("The region specified by view does not match byobRequest"); - } - if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { - throw new RangeError("The buffer of view has different capacity than byobRequest"); - } - if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { - throw new RangeError("The region specified by view is larger than byobRequest"); - } - const viewByteLength = view.byteLength; - firstDescriptor.buffer = TransferArrayBuffer(view.buffer); - ReadableByteStreamControllerRespondInternal(controller, viewByteLength); - } - function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { - controller._controlledReadableByteStream = stream4; - controller._pullAgain = false; - controller._pulling = false; - controller._byobRequest = null; - controller._queue = controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._closeRequested = false; - controller._started = false; - controller._strategyHWM = highWaterMark; - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - controller._autoAllocateChunkSize = autoAllocateChunkSize; - controller._pendingPullIntos = new SimpleQueue(); - stream4._readableStreamController = controller; - const startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), () => { - controller._started = true; - ReadableByteStreamControllerCallPullIfNeeded(controller); - return null; - }, (r3) => { - ReadableByteStreamControllerError(controller, r3); - return null; - }); - } - function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { - const controller = Object.create(ReadableByteStreamController2.prototype); - let startAlgorithm; - let pullAlgorithm; - let cancelAlgorithm; - if (underlyingByteSource.start !== void 0) { - startAlgorithm = () => underlyingByteSource.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingByteSource.pull !== void 0) { - pullAlgorithm = () => underlyingByteSource.pull(controller); - } else { - pullAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingByteSource.cancel !== void 0) { - cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; - if (autoAllocateChunkSize === 0) { - throw new TypeError("autoAllocateChunkSize must be greater than 0"); - } - SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); - } - function SetUpReadableStreamBYOBRequest(request, controller, view) { - request._associatedReadableByteStreamController = controller; - request._view = view; - } - function byobRequestBrandCheckException(name) { - return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); - } - function byteStreamControllerBrandCheckException(name) { - return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); - } - function convertReaderOptions(options, context) { - assertDictionary(options, context); - const mode3 = options === null || options === void 0 ? void 0 : options.mode; - return { - mode: mode3 === void 0 ? void 0 : convertReadableStreamReaderMode(mode3, `${context} has member 'mode' that`) - }; - } - function convertReadableStreamReaderMode(mode3, context) { - mode3 = `${mode3}`; - if (mode3 !== "byob") { - throw new TypeError(`${context} '${mode3}' is not a valid enumeration value for ReadableStreamReaderMode`); - } - return mode3; - } - function convertByobReadOptions(options, context) { - var _a3; - assertDictionary(options, context); - const min = (_a3 = options === null || options === void 0 ? void 0 : options.min) !== null && _a3 !== void 0 ? _a3 : 1; - return { - min: convertUnsignedLongLongWithEnforceRange(min, `${context} has member 'min' that`) - }; - } - function AcquireReadableStreamBYOBReader(stream4) { - return new ReadableStreamBYOBReader2(stream4); - } - function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { - stream4._reader._readIntoRequests.push(readIntoRequest); - } - function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { - const reader = stream4._reader; - const readIntoRequest = reader._readIntoRequests.shift(); - if (done) { - readIntoRequest._closeSteps(chunk); - } else { - readIntoRequest._chunkSteps(chunk); - } - } - function ReadableStreamGetNumReadIntoRequests(stream4) { - return stream4._reader._readIntoRequests.length; - } - function ReadableStreamHasBYOBReader(stream4) { - const reader = stream4._reader; - if (reader === void 0) { - return false; - } - if (!IsReadableStreamBYOBReader(reader)) { - return false; - } - return true; - } - class ReadableStreamBYOBReader2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); - assertReadableStream(stream4, "First parameter"); - if (IsReadableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - } - if (!IsReadableByteStreamController(stream4._readableStreamController)) { - throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); - } - ReadableStreamReaderGenericInitialize(this, stream4); - this._readIntoRequests = new SimpleQueue(); - } - get closed() { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("closed")); - } - return this._closedPromise; - } - cancel(reason = void 0) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("cancel")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("cancel")); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - read(view, rawOptions = {}) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("read")); - } - if (!ArrayBuffer.isView(view)) { - return promiseRejectedWith(new TypeError("view must be an array buffer view")); - } - if (view.byteLength === 0) { - return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); - } - if (view.buffer.byteLength === 0) { - return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); - } - if (IsDetachedBuffer(view.buffer)) { - return promiseRejectedWith(new TypeError("view's buffer has been detached")); - } - let options; - try { - options = convertByobReadOptions(rawOptions, "options"); - } catch (e3) { - return promiseRejectedWith(e3); - } - const min = options.min; - if (min === 0) { - return promiseRejectedWith(new TypeError("options.min must be greater than 0")); - } - if (!isDataView(view)) { - if (min > view.length) { - return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); - } - } else if (min > view.byteLength) { - return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("read from")); - } - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readIntoRequest = { - _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), - _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), - _errorSteps: (e3) => rejectPromise(e3) - }; - ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); - return promise; - } - releaseLock() { - if (!IsReadableStreamBYOBReader(this)) { - throw byobReaderBrandCheckException("releaseLock"); - } - if (this._ownerReadableStream === void 0) { - return; - } - ReadableStreamBYOBReaderRelease(this); - } - } - Object.defineProperties(ReadableStreamBYOBReader2.prototype, { - cancel: { enumerable: true }, - read: { enumerable: true }, - releaseLock: { enumerable: true }, - closed: { enumerable: true } - }); - setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); - setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); - setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { - value: "ReadableStreamBYOBReader", - configurable: true - }); - } - function IsReadableStreamBYOBReader(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_readIntoRequests")) { - return false; - } - return x5 instanceof ReadableStreamBYOBReader2; - } - function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { - const stream4 = reader._ownerReadableStream; - stream4._disturbed = true; - if (stream4._state === "errored") { - readIntoRequest._errorSteps(stream4._storedError); - } else { - ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); - } - } - function ReadableStreamBYOBReaderRelease(reader) { - ReadableStreamReaderGenericRelease(reader); - const e3 = new TypeError("Reader was released"); - ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); - } - function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { - const readIntoRequests = reader._readIntoRequests; - reader._readIntoRequests = new SimpleQueue(); - readIntoRequests.forEach((readIntoRequest) => { - readIntoRequest._errorSteps(e3); - }); - } - function byobReaderBrandCheckException(name) { - return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); - } - function ExtractHighWaterMark(strategy, defaultHWM) { - const { highWaterMark } = strategy; - if (highWaterMark === void 0) { - return defaultHWM; - } - if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { - throw new RangeError("Invalid highWaterMark"); - } - return highWaterMark; - } - function ExtractSizeAlgorithm(strategy) { - const { size } = strategy; - if (!size) { - return () => 1; - } - return size; - } - function convertQueuingStrategy(init, context) { - assertDictionary(init, context); - const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; - const size = init === null || init === void 0 ? void 0 : init.size; - return { - highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), - size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context} has member 'size' that`) - }; - } - function convertQueuingStrategySize(fn, context) { - assertFunction(fn, context); - return (chunk) => convertUnrestrictedDouble(fn(chunk)); - } - function convertUnderlyingSink(original, context) { - assertDictionary(original, context); - const abort = original === null || original === void 0 ? void 0 : original.abort; - const close = original === null || original === void 0 ? void 0 : original.close; - const start = original === null || original === void 0 ? void 0 : original.start; - const type = original === null || original === void 0 ? void 0 : original.type; - const write = original === null || original === void 0 ? void 0 : original.write; - return { - abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context} has member 'abort' that`), - close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context} has member 'close' that`), - start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context} has member 'start' that`), - write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context} has member 'write' that`), - type - }; - } - function convertUnderlyingSinkAbortCallback(fn, original, context) { - assertFunction(fn, context); - return (reason) => promiseCall(fn, original, [reason]); - } - function convertUnderlyingSinkCloseCallback(fn, original, context) { - assertFunction(fn, context); - return () => promiseCall(fn, original, []); - } - function convertUnderlyingSinkStartCallback(fn, original, context) { - assertFunction(fn, context); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertUnderlyingSinkWriteCallback(fn, original, context) { - assertFunction(fn, context); - return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); - } - function assertWritableStream(x5, context) { - if (!IsWritableStream(x5)) { - throw new TypeError(`${context} is not a WritableStream.`); - } - } - function isAbortSignal(value) { - if (typeof value !== "object" || value === null) { - return false; - } - try { - return typeof value.aborted === "boolean"; - } catch (_a3) { - return false; - } - } - const supportsAbortController = typeof AbortController === "function"; - function createAbortController() { - if (supportsAbortController) { - return new AbortController(); - } - return void 0; - } - class WritableStream2 { - constructor(rawUnderlyingSink = {}, rawStrategy = {}) { - if (rawUnderlyingSink === void 0) { - rawUnderlyingSink = null; - } else { - assertObject(rawUnderlyingSink, "First parameter"); - } - const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); - const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); - InitializeWritableStream(this); - const type = underlyingSink.type; - if (type !== void 0) { - throw new RangeError("Invalid type is specified"); - } - const sizeAlgorithm = ExtractSizeAlgorithm(strategy); - const highWaterMark = ExtractHighWaterMark(strategy, 1); - SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); - } - get locked() { - if (!IsWritableStream(this)) { - throw streamBrandCheckException$2("locked"); - } - return IsWritableStreamLocked(this); - } - abort(reason = void 0) { - if (!IsWritableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$2("abort")); - } - if (IsWritableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); - } - return WritableStreamAbort(this, reason); - } - close() { - if (!IsWritableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$2("close")); - } - if (IsWritableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); - } - if (WritableStreamCloseQueuedOrInFlight(this)) { - return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); - } - return WritableStreamClose(this); - } - getWriter() { - if (!IsWritableStream(this)) { - throw streamBrandCheckException$2("getWriter"); - } - return AcquireWritableStreamDefaultWriter(this); - } - } - Object.defineProperties(WritableStream2.prototype, { - abort: { enumerable: true }, - close: { enumerable: true }, - getWriter: { enumerable: true }, - locked: { enumerable: true } - }); - setFunctionName(WritableStream2.prototype.abort, "abort"); - setFunctionName(WritableStream2.prototype.close, "close"); - setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { - value: "WritableStream", - configurable: true - }); - } - function AcquireWritableStreamDefaultWriter(stream4) { - return new WritableStreamDefaultWriter2(stream4); - } - function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { - const stream4 = Object.create(WritableStream2.prototype); - InitializeWritableStream(stream4); - const controller = Object.create(WritableStreamDefaultController2.prototype); - SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - return stream4; - } - function InitializeWritableStream(stream4) { - stream4._state = "writable"; - stream4._storedError = void 0; - stream4._writer = void 0; - stream4._writableStreamController = void 0; - stream4._writeRequests = new SimpleQueue(); - stream4._inFlightWriteRequest = void 0; - stream4._closeRequest = void 0; - stream4._inFlightCloseRequest = void 0; - stream4._pendingAbortRequest = void 0; - stream4._backpressure = false; - } - function IsWritableStream(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_writableStreamController")) { - return false; - } - return x5 instanceof WritableStream2; - } - function IsWritableStreamLocked(stream4) { - if (stream4._writer === void 0) { - return false; - } - return true; - } - function WritableStreamAbort(stream4, reason) { - var _a3; - if (stream4._state === "closed" || stream4._state === "errored") { - return promiseResolvedWith(void 0); - } - stream4._writableStreamController._abortReason = reason; - (_a3 = stream4._writableStreamController._abortController) === null || _a3 === void 0 ? void 0 : _a3.abort(reason); - const state = stream4._state; - if (state === "closed" || state === "errored") { - return promiseResolvedWith(void 0); - } - if (stream4._pendingAbortRequest !== void 0) { - return stream4._pendingAbortRequest._promise; - } - let wasAlreadyErroring = false; - if (state === "erroring") { - wasAlreadyErroring = true; - reason = void 0; - } - const promise = newPromise((resolve, reject) => { - stream4._pendingAbortRequest = { - _promise: void 0, - _resolve: resolve, - _reject: reject, - _reason: reason, - _wasAlreadyErroring: wasAlreadyErroring - }; - }); - stream4._pendingAbortRequest._promise = promise; - if (!wasAlreadyErroring) { - WritableStreamStartErroring(stream4, reason); - } - return promise; - } - function WritableStreamClose(stream4) { - const state = stream4._state; - if (state === "closed" || state === "errored") { - return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`)); - } - const promise = newPromise((resolve, reject) => { - const closeRequest = { - _resolve: resolve, - _reject: reject - }; - stream4._closeRequest = closeRequest; - }); - const writer = stream4._writer; - if (writer !== void 0 && stream4._backpressure && state === "writable") { - defaultWriterReadyPromiseResolve(writer); - } - WritableStreamDefaultControllerClose(stream4._writableStreamController); - return promise; - } - function WritableStreamAddWriteRequest(stream4) { - const promise = newPromise((resolve, reject) => { - const writeRequest = { - _resolve: resolve, - _reject: reject - }; - stream4._writeRequests.push(writeRequest); - }); - return promise; - } - function WritableStreamDealWithRejection(stream4, error) { - const state = stream4._state; - if (state === "writable") { - WritableStreamStartErroring(stream4, error); - return; - } - WritableStreamFinishErroring(stream4); - } - function WritableStreamStartErroring(stream4, reason) { - const controller = stream4._writableStreamController; - stream4._state = "erroring"; - stream4._storedError = reason; - const writer = stream4._writer; - if (writer !== void 0) { - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); - } - if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { - WritableStreamFinishErroring(stream4); - } - } - function WritableStreamFinishErroring(stream4) { - stream4._state = "errored"; - stream4._writableStreamController[ErrorSteps](); - const storedError = stream4._storedError; - stream4._writeRequests.forEach((writeRequest) => { - writeRequest._reject(storedError); - }); - stream4._writeRequests = new SimpleQueue(); - if (stream4._pendingAbortRequest === void 0) { - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return; - } - const abortRequest = stream4._pendingAbortRequest; - stream4._pendingAbortRequest = void 0; - if (abortRequest._wasAlreadyErroring) { - abortRequest._reject(storedError); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return; - } - const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); - uponPromise(promise, () => { - abortRequest._resolve(); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return null; - }, (reason) => { - abortRequest._reject(reason); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return null; - }); - } - function WritableStreamFinishInFlightWrite(stream4) { - stream4._inFlightWriteRequest._resolve(void 0); - stream4._inFlightWriteRequest = void 0; - } - function WritableStreamFinishInFlightWriteWithError(stream4, error) { - stream4._inFlightWriteRequest._reject(error); - stream4._inFlightWriteRequest = void 0; - WritableStreamDealWithRejection(stream4, error); - } - function WritableStreamFinishInFlightClose(stream4) { - stream4._inFlightCloseRequest._resolve(void 0); - stream4._inFlightCloseRequest = void 0; - const state = stream4._state; - if (state === "erroring") { - stream4._storedError = void 0; - if (stream4._pendingAbortRequest !== void 0) { - stream4._pendingAbortRequest._resolve(); - stream4._pendingAbortRequest = void 0; - } - } - stream4._state = "closed"; - const writer = stream4._writer; - if (writer !== void 0) { - defaultWriterClosedPromiseResolve(writer); - } - } - function WritableStreamFinishInFlightCloseWithError(stream4, error) { - stream4._inFlightCloseRequest._reject(error); - stream4._inFlightCloseRequest = void 0; - if (stream4._pendingAbortRequest !== void 0) { - stream4._pendingAbortRequest._reject(error); - stream4._pendingAbortRequest = void 0; - } - WritableStreamDealWithRejection(stream4, error); - } - function WritableStreamCloseQueuedOrInFlight(stream4) { - if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { - return false; - } - return true; - } - function WritableStreamHasOperationMarkedInFlight(stream4) { - if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { - return false; - } - return true; - } - function WritableStreamMarkCloseRequestInFlight(stream4) { - stream4._inFlightCloseRequest = stream4._closeRequest; - stream4._closeRequest = void 0; - } - function WritableStreamMarkFirstWriteRequestInFlight(stream4) { - stream4._inFlightWriteRequest = stream4._writeRequests.shift(); - } - function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { - if (stream4._closeRequest !== void 0) { - stream4._closeRequest._reject(stream4._storedError); - stream4._closeRequest = void 0; - } - const writer = stream4._writer; - if (writer !== void 0) { - defaultWriterClosedPromiseReject(writer, stream4._storedError); - } - } - function WritableStreamUpdateBackpressure(stream4, backpressure) { - const writer = stream4._writer; - if (writer !== void 0 && backpressure !== stream4._backpressure) { - if (backpressure) { - defaultWriterReadyPromiseReset(writer); - } else { - defaultWriterReadyPromiseResolve(writer); - } - } - stream4._backpressure = backpressure; - } - class WritableStreamDefaultWriter2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); - assertWritableStream(stream4, "First parameter"); - if (IsWritableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive writing by another writer"); - } - this._ownerWritableStream = stream4; - stream4._writer = this; - const state = stream4._state; - if (state === "writable") { - if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { - defaultWriterReadyPromiseInitialize(this); - } else { - defaultWriterReadyPromiseInitializeAsResolved(this); - } - defaultWriterClosedPromiseInitialize(this); - } else if (state === "erroring") { - defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); - defaultWriterClosedPromiseInitialize(this); - } else if (state === "closed") { - defaultWriterReadyPromiseInitializeAsResolved(this); - defaultWriterClosedPromiseInitializeAsResolved(this); - } else { - const storedError = stream4._storedError; - defaultWriterReadyPromiseInitializeAsRejected(this, storedError); - defaultWriterClosedPromiseInitializeAsRejected(this, storedError); - } - } - get closed() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("closed")); - } - return this._closedPromise; - } - get desiredSize() { - if (!IsWritableStreamDefaultWriter(this)) { - throw defaultWriterBrandCheckException("desiredSize"); - } - if (this._ownerWritableStream === void 0) { - throw defaultWriterLockException("desiredSize"); - } - return WritableStreamDefaultWriterGetDesiredSize(this); - } - get ready() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("ready")); - } - return this._readyPromise; - } - abort(reason = void 0) { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("abort")); - } - if (this._ownerWritableStream === void 0) { - return promiseRejectedWith(defaultWriterLockException("abort")); - } - return WritableStreamDefaultWriterAbort(this, reason); - } - close() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("close")); - } - const stream4 = this._ownerWritableStream; - if (stream4 === void 0) { - return promiseRejectedWith(defaultWriterLockException("close")); - } - if (WritableStreamCloseQueuedOrInFlight(stream4)) { - return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); - } - return WritableStreamDefaultWriterClose(this); - } - releaseLock() { - if (!IsWritableStreamDefaultWriter(this)) { - throw defaultWriterBrandCheckException("releaseLock"); - } - const stream4 = this._ownerWritableStream; - if (stream4 === void 0) { - return; - } - WritableStreamDefaultWriterRelease(this); - } - write(chunk = void 0) { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("write")); - } - if (this._ownerWritableStream === void 0) { - return promiseRejectedWith(defaultWriterLockException("write to")); - } - return WritableStreamDefaultWriterWrite(this, chunk); - } - } - Object.defineProperties(WritableStreamDefaultWriter2.prototype, { - abort: { enumerable: true }, - close: { enumerable: true }, - releaseLock: { enumerable: true }, - write: { enumerable: true }, - closed: { enumerable: true }, - desiredSize: { enumerable: true }, - ready: { enumerable: true } - }); - setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); - setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); - setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); - setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { - value: "WritableStreamDefaultWriter", - configurable: true - }); - } - function IsWritableStreamDefaultWriter(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_ownerWritableStream")) { - return false; - } - return x5 instanceof WritableStreamDefaultWriter2; - } - function WritableStreamDefaultWriterAbort(writer, reason) { - const stream4 = writer._ownerWritableStream; - return WritableStreamAbort(stream4, reason); - } - function WritableStreamDefaultWriterClose(writer) { - const stream4 = writer._ownerWritableStream; - return WritableStreamClose(stream4); - } - function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { - const stream4 = writer._ownerWritableStream; - const state = stream4._state; - if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { - return promiseResolvedWith(void 0); - } - if (state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - return WritableStreamDefaultWriterClose(writer); - } - function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { - if (writer._closedPromiseState === "pending") { - defaultWriterClosedPromiseReject(writer, error); - } else { - defaultWriterClosedPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { - if (writer._readyPromiseState === "pending") { - defaultWriterReadyPromiseReject(writer, error); - } else { - defaultWriterReadyPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterGetDesiredSize(writer) { - const stream4 = writer._ownerWritableStream; - const state = stream4._state; - if (state === "errored" || state === "erroring") { - return null; - } - if (state === "closed") { - return 0; - } - return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); - } - function WritableStreamDefaultWriterRelease(writer) { - const stream4 = writer._ownerWritableStream; - const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); - WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); - stream4._writer = void 0; - writer._ownerWritableStream = void 0; - } - function WritableStreamDefaultWriterWrite(writer, chunk) { - const stream4 = writer._ownerWritableStream; - const controller = stream4._writableStreamController; - const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); - if (stream4 !== writer._ownerWritableStream) { - return promiseRejectedWith(defaultWriterLockException("write to")); - } - const state = stream4._state; - if (state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { - return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); - } - if (state === "erroring") { - return promiseRejectedWith(stream4._storedError); - } - const promise = WritableStreamAddWriteRequest(stream4); - WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); - return promise; - } - const closeSentinel = {}; - class WritableStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get abortReason() { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("abortReason"); - } - return this._abortReason; - } - get signal() { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("signal"); - } - if (this._abortController === void 0) { - throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); - } - return this._abortController.signal; - } - error(e3 = void 0) { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("error"); - } - const state = this._controlledWritableStream._state; - if (state !== "writable") { - return; - } - WritableStreamDefaultControllerError(this, e3); - } - [AbortSteps](reason) { - const result = this._abortAlgorithm(reason); - WritableStreamDefaultControllerClearAlgorithms(this); - return result; - } - [ErrorSteps]() { - ResetQueue(this); - } - } - Object.defineProperties(WritableStreamDefaultController2.prototype, { - abortReason: { enumerable: true }, - signal: { enumerable: true }, - error: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "WritableStreamDefaultController", - configurable: true - }); - } - function IsWritableStreamDefaultController(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_controlledWritableStream")) { - return false; - } - return x5 instanceof WritableStreamDefaultController2; - } - function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledWritableStream = stream4; - stream4._writableStreamController = controller; - controller._queue = void 0; - controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._abortReason = void 0; - controller._abortController = createAbortController(); - controller._started = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._writeAlgorithm = writeAlgorithm; - controller._closeAlgorithm = closeAlgorithm; - controller._abortAlgorithm = abortAlgorithm; - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - const startResult = startAlgorithm(); - const startPromise = promiseResolvedWith(startResult); - uponPromise(startPromise, () => { - controller._started = true; - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - return null; - }, (r3) => { - controller._started = true; - WritableStreamDealWithRejection(stream4, r3); - return null; - }); - } - function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { - const controller = Object.create(WritableStreamDefaultController2.prototype); - let startAlgorithm; - let writeAlgorithm; - let closeAlgorithm; - let abortAlgorithm; - if (underlyingSink.start !== void 0) { - startAlgorithm = () => underlyingSink.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingSink.write !== void 0) { - writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); - } else { - writeAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSink.close !== void 0) { - closeAlgorithm = () => underlyingSink.close(); - } else { - closeAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSink.abort !== void 0) { - abortAlgorithm = (reason) => underlyingSink.abort(reason); - } else { - abortAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - } - function WritableStreamDefaultControllerClearAlgorithms(controller) { - controller._writeAlgorithm = void 0; - controller._closeAlgorithm = void 0; - controller._abortAlgorithm = void 0; - controller._strategySizeAlgorithm = void 0; - } - function WritableStreamDefaultControllerClose(controller) { - EnqueueValueWithSize(controller, closeSentinel, 0); - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { - try { - return controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); - return 1; - } - } - function WritableStreamDefaultControllerGetDesiredSize(controller) { - return controller._strategyHWM - controller._queueTotalSize; - } - function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); - return; - } - const stream4 = controller._controlledWritableStream; - if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { - const stream4 = controller._controlledWritableStream; - if (!controller._started) { - return; - } - if (stream4._inFlightWriteRequest !== void 0) { - return; - } - const state = stream4._state; - if (state === "erroring") { - WritableStreamFinishErroring(stream4); - return; - } - if (controller._queue.length === 0) { - return; - } - const value = PeekQueueValue(controller); - if (value === closeSentinel) { - WritableStreamDefaultControllerProcessClose(controller); - } else { - WritableStreamDefaultControllerProcessWrite(controller, value); - } - } - function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { - if (controller._controlledWritableStream._state === "writable") { - WritableStreamDefaultControllerError(controller, error); - } - } - function WritableStreamDefaultControllerProcessClose(controller) { - const stream4 = controller._controlledWritableStream; - WritableStreamMarkCloseRequestInFlight(stream4); - DequeueValue(controller); - const sinkClosePromise = controller._closeAlgorithm(); - WritableStreamDefaultControllerClearAlgorithms(controller); - uponPromise(sinkClosePromise, () => { - WritableStreamFinishInFlightClose(stream4); - return null; - }, (reason) => { - WritableStreamFinishInFlightCloseWithError(stream4, reason); - return null; - }); - } - function WritableStreamDefaultControllerProcessWrite(controller, chunk) { - const stream4 = controller._controlledWritableStream; - WritableStreamMarkFirstWriteRequestInFlight(stream4); - const sinkWritePromise = controller._writeAlgorithm(chunk); - uponPromise(sinkWritePromise, () => { - WritableStreamFinishInFlightWrite(stream4); - const state = stream4._state; - DequeueValue(controller); - if (!WritableStreamCloseQueuedOrInFlight(stream4) && state === "writable") { - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - return null; - }, (reason) => { - if (stream4._state === "writable") { - WritableStreamDefaultControllerClearAlgorithms(controller); - } - WritableStreamFinishInFlightWriteWithError(stream4, reason); - return null; - }); - } - function WritableStreamDefaultControllerGetBackpressure(controller) { - const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); - return desiredSize <= 0; - } - function WritableStreamDefaultControllerError(controller, error) { - const stream4 = controller._controlledWritableStream; - WritableStreamDefaultControllerClearAlgorithms(controller); - WritableStreamStartErroring(stream4, error); - } - function streamBrandCheckException$2(name) { - return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); - } - function defaultControllerBrandCheckException$2(name) { - return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); - } - function defaultWriterBrandCheckException(name) { - return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); - } - function defaultWriterLockException(name) { - return new TypeError("Cannot " + name + " a stream using a released writer"); - } - function defaultWriterClosedPromiseInitialize(writer) { - writer._closedPromise = newPromise((resolve, reject) => { - writer._closedPromise_resolve = resolve; - writer._closedPromise_reject = reject; - writer._closedPromiseState = "pending"; - }); - } - function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseReject(writer, reason); - } - function defaultWriterClosedPromiseInitializeAsResolved(writer) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseResolve(writer); - } - function defaultWriterClosedPromiseReject(writer, reason) { - if (writer._closedPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(writer._closedPromise); - writer._closedPromise_reject(reason); - writer._closedPromise_resolve = void 0; - writer._closedPromise_reject = void 0; - writer._closedPromiseState = "rejected"; - } - function defaultWriterClosedPromiseResetToRejected(writer, reason) { - defaultWriterClosedPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterClosedPromiseResolve(writer) { - if (writer._closedPromise_resolve === void 0) { - return; - } - writer._closedPromise_resolve(void 0); - writer._closedPromise_resolve = void 0; - writer._closedPromise_reject = void 0; - writer._closedPromiseState = "resolved"; - } - function defaultWriterReadyPromiseInitialize(writer) { - writer._readyPromise = newPromise((resolve, reject) => { - writer._readyPromise_resolve = resolve; - writer._readyPromise_reject = reject; - }); - writer._readyPromiseState = "pending"; - } - function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseReject(writer, reason); - } - function defaultWriterReadyPromiseInitializeAsResolved(writer) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseResolve(writer); - } - function defaultWriterReadyPromiseReject(writer, reason) { - if (writer._readyPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(writer._readyPromise); - writer._readyPromise_reject(reason); - writer._readyPromise_resolve = void 0; - writer._readyPromise_reject = void 0; - writer._readyPromiseState = "rejected"; - } - function defaultWriterReadyPromiseReset(writer) { - defaultWriterReadyPromiseInitialize(writer); - } - function defaultWriterReadyPromiseResetToRejected(writer, reason) { - defaultWriterReadyPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterReadyPromiseResolve(writer) { - if (writer._readyPromise_resolve === void 0) { - return; - } - writer._readyPromise_resolve(void 0); - writer._readyPromise_resolve = void 0; - writer._readyPromise_reject = void 0; - writer._readyPromiseState = "fulfilled"; - } - function getGlobals() { - if (typeof globalThis !== "undefined") { - return globalThis; - } else if (typeof self !== "undefined") { - return self; - } else if (typeof global !== "undefined") { - return global; - } - return void 0; - } - const globals = getGlobals(); - function isDOMExceptionConstructor(ctor) { - if (!(typeof ctor === "function" || typeof ctor === "object")) { - return false; - } - if (ctor.name !== "DOMException") { - return false; - } - try { - new ctor(); - return true; - } catch (_a3) { - return false; - } - } - function getFromGlobal() { - const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; - return isDOMExceptionConstructor(ctor) ? ctor : void 0; - } - function createPolyfill() { - const ctor = function DOMException4(message, name) { - this.message = message || ""; - this.name = name || "Error"; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - }; - setFunctionName(ctor, "DOMException"); - ctor.prototype = Object.create(Error.prototype); - Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); - return ctor; - } - const DOMException3 = getFromGlobal() || createPolyfill(); - function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { - const reader = AcquireReadableStreamDefaultReader(source); - const writer = AcquireWritableStreamDefaultWriter(dest); - source._disturbed = true; - let shuttingDown = false; - let currentWrite = promiseResolvedWith(void 0); - return newPromise((resolve, reject) => { - let abortAlgorithm; - if (signal !== void 0) { - abortAlgorithm = () => { - const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); - const actions = []; - if (!preventAbort) { - actions.push(() => { - if (dest._state === "writable") { - return WritableStreamAbort(dest, error); - } - return promiseResolvedWith(void 0); - }); - } - if (!preventCancel) { - actions.push(() => { - if (source._state === "readable") { - return ReadableStreamCancel(source, error); - } - return promiseResolvedWith(void 0); - }); - } - shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); - }; - if (signal.aborted) { - abortAlgorithm(); - return; - } - signal.addEventListener("abort", abortAlgorithm); - } - function pipeLoop() { - return newPromise((resolveLoop, rejectLoop) => { - function next(done) { - if (done) { - resolveLoop(); - } else { - PerformPromiseThen(pipeStep(), next, rejectLoop); - } - } - next(false); - }); - } - function pipeStep() { - if (shuttingDown) { - return promiseResolvedWith(true); - } - return PerformPromiseThen(writer._readyPromise, () => { - return newPromise((resolveRead, rejectRead) => { - ReadableStreamDefaultReaderRead(reader, { - _chunkSteps: (chunk) => { - currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); - resolveRead(false); - }, - _closeSteps: () => resolveRead(true), - _errorSteps: rejectRead - }); - }); - }); - } - isOrBecomesErrored(source, reader._closedPromise, (storedError) => { - if (!preventAbort) { - shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); - } else { - shutdown(true, storedError); - } - return null; - }); - isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { - if (!preventCancel) { - shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); - } else { - shutdown(true, storedError); - } - return null; - }); - isOrBecomesClosed(source, reader._closedPromise, () => { - if (!preventClose) { - shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); - } else { - shutdown(); - } - return null; - }); - if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { - const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); - if (!preventCancel) { - shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); - } else { - shutdown(true, destClosed); - } - } - setPromiseIsHandledToTrue(pipeLoop()); - function waitForWritesToFinish() { - const oldCurrentWrite = currentWrite; - return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); - } - function isOrBecomesErrored(stream4, promise, action) { - if (stream4._state === "errored") { - action(stream4._storedError); - } else { - uponRejection(promise, action); - } - } - function isOrBecomesClosed(stream4, promise, action) { - if (stream4._state === "closed") { - action(); - } else { - uponFulfillment(promise, action); - } - } - function shutdownWithAction(action, originalIsError, originalError) { - if (shuttingDown) { - return; - } - shuttingDown = true; - if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { - uponFulfillment(waitForWritesToFinish(), doTheRest); - } else { - doTheRest(); - } - function doTheRest() { - uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); - return null; - } - } - function shutdown(isError, error) { - if (shuttingDown) { - return; - } - shuttingDown = true; - if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { - uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error)); - } else { - finalize(isError, error); - } - } - function finalize(isError, error) { - WritableStreamDefaultWriterRelease(writer); - ReadableStreamReaderGenericRelease(reader); - if (signal !== void 0) { - signal.removeEventListener("abort", abortAlgorithm); - } - if (isError) { - reject(error); - } else { - resolve(void 0); - } - return null; - } - }); - } - class ReadableStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("desiredSize"); - } - return ReadableStreamDefaultControllerGetDesiredSize(this); - } - close() { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("close"); - } - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { - throw new TypeError("The stream is not in a state that permits close"); - } - ReadableStreamDefaultControllerClose(this); - } - enqueue(chunk = void 0) { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("enqueue"); - } - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { - throw new TypeError("The stream is not in a state that permits enqueue"); - } - return ReadableStreamDefaultControllerEnqueue(this, chunk); - } - error(e3 = void 0) { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("error"); - } - ReadableStreamDefaultControllerError(this, e3); - } - [CancelSteps](reason) { - ResetQueue(this); - const result = this._cancelAlgorithm(reason); - ReadableStreamDefaultControllerClearAlgorithms(this); - return result; - } - [PullSteps](readRequest) { - const stream4 = this._controlledReadableStream; - if (this._queue.length > 0) { - const chunk = DequeueValue(this); - if (this._closeRequested && this._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(this); - ReadableStreamClose(stream4); - } else { - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - readRequest._chunkSteps(chunk); - } else { - ReadableStreamAddReadRequest(stream4, readRequest); - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - } - [ReleaseSteps]() { - } - } - Object.defineProperties(ReadableStreamDefaultController2.prototype, { - close: { enumerable: true }, - enqueue: { enumerable: true }, - error: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); - setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); - setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "ReadableStreamDefaultController", - configurable: true - }); - } - function IsReadableStreamDefaultController(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableStream")) { - return false; - } - return x5 instanceof ReadableStreamDefaultController2; - } - function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { - const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); - if (!shouldPull) { - return; - } - if (controller._pulling) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - const pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, () => { - controller._pulling = false; - if (controller._pullAgain) { - controller._pullAgain = false; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - return null; - }, (e3) => { - ReadableStreamDefaultControllerError(controller, e3); - return null; - }); - } - function ReadableStreamDefaultControllerShouldCallPull(controller) { - const stream4 = controller._controlledReadableStream; - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return false; - } - if (!controller._started) { - return false; - } - if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - return true; - } - const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableStreamDefaultControllerClearAlgorithms(controller) { - controller._pullAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - controller._strategySizeAlgorithm = void 0; - } - function ReadableStreamDefaultControllerClose(controller) { - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return; - } - const stream4 = controller._controlledReadableStream; - controller._closeRequested = true; - if (controller._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamClose(stream4); - } - } - function ReadableStreamDefaultControllerEnqueue(controller, chunk) { - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return; - } - const stream4 = controller._controlledReadableStream; - if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - ReadableStreamFulfillReadRequest(stream4, chunk, false); - } else { - let chunkSize; - try { - chunkSize = controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - ReadableStreamDefaultControllerError(controller, chunkSizeE); - throw chunkSizeE; - } - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - ReadableStreamDefaultControllerError(controller, enqueueE); - throw enqueueE; - } - } - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - function ReadableStreamDefaultControllerError(controller, e3) { - const stream4 = controller._controlledReadableStream; - if (stream4._state !== "readable") { - return; - } - ResetQueue(controller); - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamError(stream4, e3); - } - function ReadableStreamDefaultControllerGetDesiredSize(controller) { - const state = controller._controlledReadableStream._state; - if (state === "errored") { - return null; - } - if (state === "closed") { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableStreamDefaultControllerHasBackpressure(controller) { - if (ReadableStreamDefaultControllerShouldCallPull(controller)) { - return false; - } - return true; - } - function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { - const state = controller._controlledReadableStream._state; - if (!controller._closeRequested && state === "readable") { - return true; - } - return false; - } - function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledReadableStream = stream4; - controller._queue = void 0; - controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._started = false; - controller._closeRequested = false; - controller._pullAgain = false; - controller._pulling = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - stream4._readableStreamController = controller; - const startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), () => { - controller._started = true; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(controller, r3); - return null; - }); - } - function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { - const controller = Object.create(ReadableStreamDefaultController2.prototype); - let startAlgorithm; - let pullAlgorithm; - let cancelAlgorithm; - if (underlyingSource.start !== void 0) { - startAlgorithm = () => underlyingSource.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingSource.pull !== void 0) { - pullAlgorithm = () => underlyingSource.pull(controller); - } else { - pullAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSource.cancel !== void 0) { - cancelAlgorithm = (reason) => underlyingSource.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - } - function defaultControllerBrandCheckException$1(name) { - return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); - } - function ReadableStreamTee(stream4, cloneForBranch2) { - if (IsReadableByteStreamController(stream4._readableStreamController)) { - return ReadableByteStreamTee(stream4); - } - return ReadableStreamDefaultTee(stream4); - } - function ReadableStreamDefaultTee(stream4, cloneForBranch2) { - const reader = AcquireReadableStreamDefaultReader(stream4); - let reading = false; - let readAgain = false; - let canceled1 = false; - let canceled2 = false; - let reason1; - let reason2; - let branch1; - let branch2; - let resolveCancelPromise; - const cancelPromise = newPromise((resolve) => { - resolveCancelPromise = resolve; - }); - function pullAlgorithm() { - if (reading) { - readAgain = true; - return promiseResolvedWith(void 0); - } - reading = true; - const readRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgain = false; - const chunk1 = chunk; - const chunk2 = chunk; - if (!canceled1) { - ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); - } - if (!canceled2) { - ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); - } - reading = false; - if (readAgain) { - pullAlgorithm(); - } - }); - }, - _closeSteps: () => { - reading = false; - if (!canceled1) { - ReadableStreamDefaultControllerClose(branch1._readableStreamController); - } - if (!canceled2) { - ReadableStreamDefaultControllerClose(branch2._readableStreamController); - } - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - return promiseResolvedWith(void 0); - } - function cancel1Algorithm(reason) { - canceled1 = true; - reason1 = reason; - if (canceled2) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function cancel2Algorithm(reason) { - canceled2 = true; - reason2 = reason; - if (canceled1) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function startAlgorithm() { - } - branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); - branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); - uponRejection(reader._closedPromise, (r3) => { - ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); - ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - return null; - }); - return [branch1, branch2]; - } - function ReadableByteStreamTee(stream4) { - let reader = AcquireReadableStreamDefaultReader(stream4); - let reading = false; - let readAgainForBranch1 = false; - let readAgainForBranch2 = false; - let canceled1 = false; - let canceled2 = false; - let reason1; - let reason2; - let branch1; - let branch2; - let resolveCancelPromise; - const cancelPromise = newPromise((resolve) => { - resolveCancelPromise = resolve; - }); - function forwardReaderError(thisReader) { - uponRejection(thisReader._closedPromise, (r3) => { - if (thisReader !== reader) { - return null; - } - ReadableByteStreamControllerError(branch1._readableStreamController, r3); - ReadableByteStreamControllerError(branch2._readableStreamController, r3); - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - return null; - }); - } - function pullWithDefaultReader() { - if (IsReadableStreamBYOBReader(reader)) { - ReadableStreamReaderGenericRelease(reader); - reader = AcquireReadableStreamDefaultReader(stream4); - forwardReaderError(reader); - } - const readRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgainForBranch1 = false; - readAgainForBranch2 = false; - const chunk1 = chunk; - let chunk2 = chunk; - if (!canceled1 && !canceled2) { - try { - chunk2 = CloneAsUint8Array(chunk); - } catch (cloneE) { - ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); - ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); - resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); - return; - } - } - if (!canceled1) { - ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); - } - if (!canceled2) { - ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); - } - reading = false; - if (readAgainForBranch1) { - pull1Algorithm(); - } else if (readAgainForBranch2) { - pull2Algorithm(); - } - }); - }, - _closeSteps: () => { - reading = false; - if (!canceled1) { - ReadableByteStreamControllerClose(branch1._readableStreamController); - } - if (!canceled2) { - ReadableByteStreamControllerClose(branch2._readableStreamController); - } - if (branch1._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); - } - if (branch2._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); - } - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - } - function pullWithBYOBReader(view, forBranch2) { - if (IsReadableStreamDefaultReader(reader)) { - ReadableStreamReaderGenericRelease(reader); - reader = AcquireReadableStreamBYOBReader(stream4); - forwardReaderError(reader); - } - const byobBranch = forBranch2 ? branch2 : branch1; - const otherBranch = forBranch2 ? branch1 : branch2; - const readIntoRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgainForBranch1 = false; - readAgainForBranch2 = false; - const byobCanceled = forBranch2 ? canceled2 : canceled1; - const otherCanceled = forBranch2 ? canceled1 : canceled2; - if (!otherCanceled) { - let clonedChunk; - try { - clonedChunk = CloneAsUint8Array(chunk); - } catch (cloneE) { - ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); - ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); - resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); - return; - } - if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); - } else if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - reading = false; - if (readAgainForBranch1) { - pull1Algorithm(); - } else if (readAgainForBranch2) { - pull2Algorithm(); - } - }); - }, - _closeSteps: (chunk) => { - reading = false; - const byobCanceled = forBranch2 ? canceled2 : canceled1; - const otherCanceled = forBranch2 ? canceled1 : canceled2; - if (!byobCanceled) { - ReadableByteStreamControllerClose(byobBranch._readableStreamController); - } - if (!otherCanceled) { - ReadableByteStreamControllerClose(otherBranch._readableStreamController); - } - if (chunk !== void 0) { - if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); - } - } - if (!byobCanceled || !otherCanceled) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); - } - function pull1Algorithm() { - if (reading) { - readAgainForBranch1 = true; - return promiseResolvedWith(void 0); - } - reading = true; - const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); - if (byobRequest === null) { - pullWithDefaultReader(); - } else { - pullWithBYOBReader(byobRequest._view, false); - } - return promiseResolvedWith(void 0); - } - function pull2Algorithm() { - if (reading) { - readAgainForBranch2 = true; - return promiseResolvedWith(void 0); - } - reading = true; - const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); - if (byobRequest === null) { - pullWithDefaultReader(); - } else { - pullWithBYOBReader(byobRequest._view, true); - } - return promiseResolvedWith(void 0); - } - function cancel1Algorithm(reason) { - canceled1 = true; - reason1 = reason; - if (canceled2) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function cancel2Algorithm(reason) { - canceled2 = true; - reason2 = reason; - if (canceled1) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function startAlgorithm() { - return; - } - branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); - branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); - forwardReaderError(reader); - return [branch1, branch2]; - } - function isReadableStreamLike(stream4) { - return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; - } - function ReadableStreamFrom(source) { - if (isReadableStreamLike(source)) { - return ReadableStreamFromDefaultReader(source.getReader()); - } - return ReadableStreamFromIterable(source); - } - function ReadableStreamFromIterable(asyncIterable) { - let stream4; - const iteratorRecord = GetIterator(asyncIterable, "async"); - const startAlgorithm = noop2; - function pullAlgorithm() { - let nextResult; - try { - nextResult = IteratorNext(iteratorRecord); - } catch (e3) { - return promiseRejectedWith(e3); - } - const nextPromise = promiseResolvedWith(nextResult); - return transformPromiseWith(nextPromise, (iterResult) => { - if (!typeIsObject(iterResult)) { - throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); - } - const done = IteratorComplete(iterResult); - if (done) { - ReadableStreamDefaultControllerClose(stream4._readableStreamController); - } else { - const value = IteratorValue(iterResult); - ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); - } - }); - } - function cancelAlgorithm(reason) { - const iterator = iteratorRecord.iterator; - let returnMethod; - try { - returnMethod = GetMethod(iterator, "return"); - } catch (e3) { - return promiseRejectedWith(e3); - } - if (returnMethod === void 0) { - return promiseResolvedWith(void 0); - } - let returnResult; - try { - returnResult = reflectCall(returnMethod, iterator, [reason]); - } catch (e3) { - return promiseRejectedWith(e3); - } - const returnPromise = promiseResolvedWith(returnResult); - return transformPromiseWith(returnPromise, (iterResult) => { - if (!typeIsObject(iterResult)) { - throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); - } - return void 0; - }); - } - stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); - return stream4; - } - function ReadableStreamFromDefaultReader(reader) { - let stream4; - const startAlgorithm = noop2; - function pullAlgorithm() { - let readPromise; - try { - readPromise = reader.read(); - } catch (e3) { - return promiseRejectedWith(e3); - } - return transformPromiseWith(readPromise, (readResult) => { - if (!typeIsObject(readResult)) { - throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); - } - if (readResult.done) { - ReadableStreamDefaultControllerClose(stream4._readableStreamController); - } else { - const value = readResult.value; - ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); - } - }); - } - function cancelAlgorithm(reason) { - try { - return promiseResolvedWith(reader.cancel(reason)); - } catch (e3) { - return promiseRejectedWith(e3); - } - } - stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); - return stream4; - } - function convertUnderlyingDefaultOrByteSource(source, context) { - assertDictionary(source, context); - const original = source; - const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; - const cancel = original === null || original === void 0 ? void 0 : original.cancel; - const pull = original === null || original === void 0 ? void 0 : original.pull; - const start = original === null || original === void 0 ? void 0 : original.start; - const type = original === null || original === void 0 ? void 0 : original.type; - return { - autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context} has member 'autoAllocateChunkSize' that`), - cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context} has member 'cancel' that`), - pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context} has member 'pull' that`), - start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context} has member 'start' that`), - type: type === void 0 ? void 0 : convertReadableStreamType(type, `${context} has member 'type' that`) - }; - } - function convertUnderlyingSourceCancelCallback(fn, original, context) { - assertFunction(fn, context); - return (reason) => promiseCall(fn, original, [reason]); - } - function convertUnderlyingSourcePullCallback(fn, original, context) { - assertFunction(fn, context); - return (controller) => promiseCall(fn, original, [controller]); - } - function convertUnderlyingSourceStartCallback(fn, original, context) { - assertFunction(fn, context); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertReadableStreamType(type, context) { - type = `${type}`; - if (type !== "bytes") { - throw new TypeError(`${context} '${type}' is not a valid enumeration value for ReadableStreamType`); - } - return type; - } - function convertIteratorOptions(options, context) { - assertDictionary(options, context); - const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; - return { preventCancel: Boolean(preventCancel) }; - } - function convertPipeOptions(options, context) { - assertDictionary(options, context); - const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; - const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; - const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; - const signal = options === null || options === void 0 ? void 0 : options.signal; - if (signal !== void 0) { - assertAbortSignal(signal, `${context} has member 'signal' that`); - } - return { - preventAbort: Boolean(preventAbort), - preventCancel: Boolean(preventCancel), - preventClose: Boolean(preventClose), - signal - }; - } - function assertAbortSignal(signal, context) { - if (!isAbortSignal(signal)) { - throw new TypeError(`${context} is not an AbortSignal.`); - } - } - function convertReadableWritablePair(pair, context) { - assertDictionary(pair, context); - const readable = pair === null || pair === void 0 ? void 0 : pair.readable; - assertRequiredField(readable, "readable", "ReadableWritablePair"); - assertReadableStream(readable, `${context} has member 'readable' that`); - const writable = pair === null || pair === void 0 ? void 0 : pair.writable; - assertRequiredField(writable, "writable", "ReadableWritablePair"); - assertWritableStream(writable, `${context} has member 'writable' that`); - return { readable, writable }; - } - class ReadableStream4 { - constructor(rawUnderlyingSource = {}, rawStrategy = {}) { - if (rawUnderlyingSource === void 0) { - rawUnderlyingSource = null; - } else { - assertObject(rawUnderlyingSource, "First parameter"); - } - const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); - const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); - InitializeReadableStream(this); - if (underlyingSource.type === "bytes") { - if (strategy.size !== void 0) { - throw new RangeError("The strategy for a byte stream cannot have a size function"); - } - const highWaterMark = ExtractHighWaterMark(strategy, 0); - SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); - } else { - const sizeAlgorithm = ExtractSizeAlgorithm(strategy); - const highWaterMark = ExtractHighWaterMark(strategy, 1); - SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); - } - } - get locked() { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("locked"); - } - return IsReadableStreamLocked(this); - } - cancel(reason = void 0) { - if (!IsReadableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$1("cancel")); - } - if (IsReadableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); - } - return ReadableStreamCancel(this, reason); - } - getReader(rawOptions = void 0) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("getReader"); - } - const options = convertReaderOptions(rawOptions, "First parameter"); - if (options.mode === void 0) { - return AcquireReadableStreamDefaultReader(this); - } - return AcquireReadableStreamBYOBReader(this); - } - pipeThrough(rawTransform, rawOptions = {}) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("pipeThrough"); - } - assertRequiredArgument(rawTransform, 1, "pipeThrough"); - const transform = convertReadableWritablePair(rawTransform, "First parameter"); - const options = convertPipeOptions(rawOptions, "Second parameter"); - if (IsReadableStreamLocked(this)) { - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); - } - if (IsWritableStreamLocked(transform.writable)) { - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); - } - const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); - setPromiseIsHandledToTrue(promise); - return transform.readable; - } - pipeTo(destination, rawOptions = {}) { - if (!IsReadableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); - } - if (destination === void 0) { - return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); - } - if (!IsWritableStream(destination)) { - return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); - } - let options; - try { - options = convertPipeOptions(rawOptions, "Second parameter"); - } catch (e3) { - return promiseRejectedWith(e3); - } - if (IsReadableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); - } - if (IsWritableStreamLocked(destination)) { - return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); - } - return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); - } - tee() { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("tee"); - } - const branches = ReadableStreamTee(this); - return CreateArrayFromList(branches); - } - values(rawOptions = void 0) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("values"); - } - const options = convertIteratorOptions(rawOptions, "First parameter"); - return AcquireReadableStreamAsyncIterator(this, options.preventCancel); - } - [SymbolAsyncIterator](options) { - return this.values(options); - } - static from(asyncIterable) { - return ReadableStreamFrom(asyncIterable); - } - } - Object.defineProperties(ReadableStream4, { - from: { enumerable: true } - }); - Object.defineProperties(ReadableStream4.prototype, { - cancel: { enumerable: true }, - getReader: { enumerable: true }, - pipeThrough: { enumerable: true }, - pipeTo: { enumerable: true }, - tee: { enumerable: true }, - values: { enumerable: true }, - locked: { enumerable: true } - }); - setFunctionName(ReadableStream4.from, "from"); - setFunctionName(ReadableStream4.prototype.cancel, "cancel"); - setFunctionName(ReadableStream4.prototype.getReader, "getReader"); - setFunctionName(ReadableStream4.prototype.pipeThrough, "pipeThrough"); - setFunctionName(ReadableStream4.prototype.pipeTo, "pipeTo"); - setFunctionName(ReadableStream4.prototype.tee, "tee"); - setFunctionName(ReadableStream4.prototype.values, "values"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStream4.prototype, Symbol.toStringTag, { - value: "ReadableStream", - configurable: true - }); - } - Object.defineProperty(ReadableStream4.prototype, SymbolAsyncIterator, { - value: ReadableStream4.prototype.values, - writable: true, - configurable: true - }); - function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { - const stream4 = Object.create(ReadableStream4.prototype); - InitializeReadableStream(stream4); - const controller = Object.create(ReadableStreamDefaultController2.prototype); - SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - return stream4; - } - function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { - const stream4 = Object.create(ReadableStream4.prototype); - InitializeReadableStream(stream4); - const controller = Object.create(ReadableByteStreamController2.prototype); - SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); - return stream4; - } - function InitializeReadableStream(stream4) { - stream4._state = "readable"; - stream4._reader = void 0; - stream4._storedError = void 0; - stream4._disturbed = false; - } - function IsReadableStream(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_readableStreamController")) { - return false; - } - return x5 instanceof ReadableStream4; - } - function IsReadableStreamLocked(stream4) { - if (stream4._reader === void 0) { - return false; - } - return true; - } - function ReadableStreamCancel(stream4, reason) { - stream4._disturbed = true; - if (stream4._state === "closed") { - return promiseResolvedWith(void 0); - } - if (stream4._state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - ReadableStreamClose(stream4); - const reader = stream4._reader; - if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { - const readIntoRequests = reader._readIntoRequests; - reader._readIntoRequests = new SimpleQueue(); - readIntoRequests.forEach((readIntoRequest) => { - readIntoRequest._closeSteps(void 0); - }); - } - const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); - return transformPromiseWith(sourceCancelPromise, noop2); - } - function ReadableStreamClose(stream4) { - stream4._state = "closed"; - const reader = stream4._reader; - if (reader === void 0) { - return; - } - defaultReaderClosedPromiseResolve(reader); - if (IsReadableStreamDefaultReader(reader)) { - const readRequests = reader._readRequests; - reader._readRequests = new SimpleQueue(); - readRequests.forEach((readRequest) => { - readRequest._closeSteps(); - }); - } - } - function ReadableStreamError(stream4, e3) { - stream4._state = "errored"; - stream4._storedError = e3; - const reader = stream4._reader; - if (reader === void 0) { - return; - } - defaultReaderClosedPromiseReject(reader, e3); - if (IsReadableStreamDefaultReader(reader)) { - ReadableStreamDefaultReaderErrorReadRequests(reader, e3); - } else { - ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); - } - } - function streamBrandCheckException$1(name) { - return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); - } - function convertQueuingStrategyInit(init, context) { - assertDictionary(init, context); - const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; - assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); - return { - highWaterMark: convertUnrestrictedDouble(highWaterMark) - }; - } - const byteLengthSizeFunction = (chunk) => { - return chunk.byteLength; - }; - setFunctionName(byteLengthSizeFunction, "size"); - class ByteLengthQueuingStrategy2 { - constructor(options) { - assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); - options = convertQueuingStrategyInit(options, "First parameter"); - this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; - } - get highWaterMark() { - if (!IsByteLengthQueuingStrategy(this)) { - throw byteLengthBrandCheckException("highWaterMark"); - } - return this._byteLengthQueuingStrategyHighWaterMark; - } - get size() { - if (!IsByteLengthQueuingStrategy(this)) { - throw byteLengthBrandCheckException("size"); - } - return byteLengthSizeFunction; - } - } - Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { - highWaterMark: { enumerable: true }, - size: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { - value: "ByteLengthQueuingStrategy", - configurable: true - }); - } - function byteLengthBrandCheckException(name) { - return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); - } - function IsByteLengthQueuingStrategy(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_byteLengthQueuingStrategyHighWaterMark")) { - return false; - } - return x5 instanceof ByteLengthQueuingStrategy2; - } - const countSizeFunction = () => { - return 1; - }; - setFunctionName(countSizeFunction, "size"); - class CountQueuingStrategy2 { - constructor(options) { - assertRequiredArgument(options, 1, "CountQueuingStrategy"); - options = convertQueuingStrategyInit(options, "First parameter"); - this._countQueuingStrategyHighWaterMark = options.highWaterMark; - } - get highWaterMark() { - if (!IsCountQueuingStrategy(this)) { - throw countBrandCheckException("highWaterMark"); - } - return this._countQueuingStrategyHighWaterMark; - } - get size() { - if (!IsCountQueuingStrategy(this)) { - throw countBrandCheckException("size"); - } - return countSizeFunction; - } - } - Object.defineProperties(CountQueuingStrategy2.prototype, { - highWaterMark: { enumerable: true }, - size: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { - value: "CountQueuingStrategy", - configurable: true - }); - } - function countBrandCheckException(name) { - return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); - } - function IsCountQueuingStrategy(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_countQueuingStrategyHighWaterMark")) { - return false; - } - return x5 instanceof CountQueuingStrategy2; - } - function convertTransformer(original, context) { - assertDictionary(original, context); - const cancel = original === null || original === void 0 ? void 0 : original.cancel; - const flush = original === null || original === void 0 ? void 0 : original.flush; - const readableType = original === null || original === void 0 ? void 0 : original.readableType; - const start = original === null || original === void 0 ? void 0 : original.start; - const transform = original === null || original === void 0 ? void 0 : original.transform; - const writableType = original === null || original === void 0 ? void 0 : original.writableType; - return { - cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context} has member 'cancel' that`), - flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context} has member 'flush' that`), - readableType, - start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context} has member 'start' that`), - transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context} has member 'transform' that`), - writableType - }; - } - function convertTransformerFlushCallback(fn, original, context) { - assertFunction(fn, context); - return (controller) => promiseCall(fn, original, [controller]); - } - function convertTransformerStartCallback(fn, original, context) { - assertFunction(fn, context); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertTransformerTransformCallback(fn, original, context) { - assertFunction(fn, context); - return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); - } - function convertTransformerCancelCallback(fn, original, context) { - assertFunction(fn, context); - return (reason) => promiseCall(fn, original, [reason]); - } - class TransformStream2 { - constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { - if (rawTransformer === void 0) { - rawTransformer = null; - } - const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); - const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); - const transformer = convertTransformer(rawTransformer, "First parameter"); - if (transformer.readableType !== void 0) { - throw new RangeError("Invalid readableType specified"); - } - if (transformer.writableType !== void 0) { - throw new RangeError("Invalid writableType specified"); - } - const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); - const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); - const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); - const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); - let startPromise_resolve; - const startPromise = newPromise((resolve) => { - startPromise_resolve = resolve; - }); - InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); - if (transformer.start !== void 0) { - startPromise_resolve(transformer.start(this._transformStreamController)); - } else { - startPromise_resolve(void 0); - } - } - get readable() { - if (!IsTransformStream(this)) { - throw streamBrandCheckException("readable"); - } - return this._readable; - } - get writable() { - if (!IsTransformStream(this)) { - throw streamBrandCheckException("writable"); - } - return this._writable; - } - } - Object.defineProperties(TransformStream2.prototype, { - readable: { enumerable: true }, - writable: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(TransformStream2.prototype, Symbol.toStringTag, { - value: "TransformStream", - configurable: true - }); - } - function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { - function startAlgorithm() { - return startPromise; - } - function writeAlgorithm(chunk) { - return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); - } - function abortAlgorithm(reason) { - return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); - } - function closeAlgorithm() { - return TransformStreamDefaultSinkCloseAlgorithm(stream4); - } - stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); - function pullAlgorithm() { - return TransformStreamDefaultSourcePullAlgorithm(stream4); - } - function cancelAlgorithm(reason) { - return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); - } - stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - stream4._backpressure = void 0; - stream4._backpressureChangePromise = void 0; - stream4._backpressureChangePromise_resolve = void 0; - TransformStreamSetBackpressure(stream4, true); - stream4._transformStreamController = void 0; - } - function IsTransformStream(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_transformStreamController")) { - return false; - } - return x5 instanceof TransformStream2; - } - function TransformStreamError(stream4, e3) { - ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); - TransformStreamErrorWritableAndUnblockWrite(stream4, e3); - } - function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { - TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); - WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); - TransformStreamUnblockWrite(stream4); - } - function TransformStreamUnblockWrite(stream4) { - if (stream4._backpressure) { - TransformStreamSetBackpressure(stream4, false); - } - } - function TransformStreamSetBackpressure(stream4, backpressure) { - if (stream4._backpressureChangePromise !== void 0) { - stream4._backpressureChangePromise_resolve(); - } - stream4._backpressureChangePromise = newPromise((resolve) => { - stream4._backpressureChangePromise_resolve = resolve; - }); - stream4._backpressure = backpressure; - } - class TransformStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("desiredSize"); - } - const readableController = this._controlledTransformStream._readable._readableStreamController; - return ReadableStreamDefaultControllerGetDesiredSize(readableController); - } - enqueue(chunk = void 0) { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("enqueue"); - } - TransformStreamDefaultControllerEnqueue(this, chunk); - } - error(reason = void 0) { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("error"); - } - TransformStreamDefaultControllerError(this, reason); - } - terminate() { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("terminate"); - } - TransformStreamDefaultControllerTerminate(this); - } - } - Object.defineProperties(TransformStreamDefaultController2.prototype, { - enqueue: { enumerable: true }, - error: { enumerable: true }, - terminate: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); - setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); - setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "TransformStreamDefaultController", - configurable: true - }); - } - function IsTransformStreamDefaultController(x5) { - if (!typeIsObject(x5)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x5, "_controlledTransformStream")) { - return false; - } - return x5 instanceof TransformStreamDefaultController2; - } - function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { - controller._controlledTransformStream = stream4; - stream4._transformStreamController = controller; - controller._transformAlgorithm = transformAlgorithm; - controller._flushAlgorithm = flushAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - controller._finishPromise = void 0; - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { - const controller = Object.create(TransformStreamDefaultController2.prototype); - let transformAlgorithm; - let flushAlgorithm; - let cancelAlgorithm; - if (transformer.transform !== void 0) { - transformAlgorithm = (chunk) => transformer.transform(chunk, controller); - } else { - transformAlgorithm = (chunk) => { - try { - TransformStreamDefaultControllerEnqueue(controller, chunk); - return promiseResolvedWith(void 0); - } catch (transformResultE) { - return promiseRejectedWith(transformResultE); - } - }; - } - if (transformer.flush !== void 0) { - flushAlgorithm = () => transformer.flush(controller); - } else { - flushAlgorithm = () => promiseResolvedWith(void 0); - } - if (transformer.cancel !== void 0) { - cancelAlgorithm = (reason) => transformer.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); - } - function TransformStreamDefaultControllerClearAlgorithms(controller) { - controller._transformAlgorithm = void 0; - controller._flushAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - } - function TransformStreamDefaultControllerEnqueue(controller, chunk) { - const stream4 = controller._controlledTransformStream; - const readableController = stream4._readable._readableStreamController; - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { - throw new TypeError("Readable side is not in a state that permits enqueue"); - } - try { - ReadableStreamDefaultControllerEnqueue(readableController, chunk); - } catch (e3) { - TransformStreamErrorWritableAndUnblockWrite(stream4, e3); - throw stream4._readable._storedError; - } - const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); - if (backpressure !== stream4._backpressure) { - TransformStreamSetBackpressure(stream4, true); - } - } - function TransformStreamDefaultControllerError(controller, e3) { - TransformStreamError(controller._controlledTransformStream, e3); - } - function TransformStreamDefaultControllerPerformTransform(controller, chunk) { - const transformPromise = controller._transformAlgorithm(chunk); - return transformPromiseWith(transformPromise, void 0, (r3) => { - TransformStreamError(controller._controlledTransformStream, r3); - throw r3; - }); - } - function TransformStreamDefaultControllerTerminate(controller) { - const stream4 = controller._controlledTransformStream; - const readableController = stream4._readable._readableStreamController; - ReadableStreamDefaultControllerClose(readableController); - const error = new TypeError("TransformStream terminated"); - TransformStreamErrorWritableAndUnblockWrite(stream4, error); - } - function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { - const controller = stream4._transformStreamController; - if (stream4._backpressure) { - const backpressureChangePromise = stream4._backpressureChangePromise; - return transformPromiseWith(backpressureChangePromise, () => { - const writable = stream4._writable; - const state = writable._state; - if (state === "erroring") { - throw writable._storedError; - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - }); - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - } - function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const readable = stream4._readable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const cancelPromise = controller._cancelAlgorithm(reason); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(cancelPromise, () => { - if (readable._state === "errored") { - defaultControllerFinishPromiseReject(controller, readable._storedError); - } else { - ReadableStreamDefaultControllerError(readable._readableStreamController, reason); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(readable._readableStreamController, r3); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function TransformStreamDefaultSinkCloseAlgorithm(stream4) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const readable = stream4._readable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const flushPromise = controller._flushAlgorithm(); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(flushPromise, () => { - if (readable._state === "errored") { - defaultControllerFinishPromiseReject(controller, readable._storedError); - } else { - ReadableStreamDefaultControllerClose(readable._readableStreamController); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(readable._readableStreamController, r3); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function TransformStreamDefaultSourcePullAlgorithm(stream4) { - TransformStreamSetBackpressure(stream4, false); - return stream4._backpressureChangePromise; - } - function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const writable = stream4._writable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const cancelPromise = controller._cancelAlgorithm(reason); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(cancelPromise, () => { - if (writable._state === "errored") { - defaultControllerFinishPromiseReject(controller, writable._storedError); - } else { - WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); - TransformStreamUnblockWrite(stream4); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); - TransformStreamUnblockWrite(stream4); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function defaultControllerBrandCheckException(name) { - return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); - } - function defaultControllerFinishPromiseResolve(controller) { - if (controller._finishPromise_resolve === void 0) { - return; - } - controller._finishPromise_resolve(); - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function defaultControllerFinishPromiseReject(controller, reason) { - if (controller._finishPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(controller._finishPromise); - controller._finishPromise_reject(reason); - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function streamBrandCheckException(name) { - return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); - } - exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; - exports2.CountQueuingStrategy = CountQueuingStrategy2; - exports2.ReadableByteStreamController = ReadableByteStreamController2; - exports2.ReadableStream = ReadableStream4; - exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; - exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; - exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; - exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; - exports2.TransformStream = TransformStream2; - exports2.TransformStreamDefaultController = TransformStreamDefaultController2; - exports2.WritableStream = WritableStream2; - exports2.WritableStreamDefaultController = WritableStreamDefaultController2; - exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; - }); - } -}); - -// node_modules/node-domexception/index.js -var require_node_domexception = __commonJS({ - "node_modules/node-domexception/index.js"(exports, module2) { - if (!globalThis.DOMException) { - try { - const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); - port.postMessage(ab, [ab, ab]); - } catch (err) { - err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); - } - } - module2.exports = globalThis.DOMException; - } -}); - -// node_modules/formdata-node/lib/esm/isPlainObject.js -function isPlainObject3(value) { - if (getType2(value) !== "object") { - return false; - } - const pp = Object.getPrototypeOf(value); - if (pp === null || pp === void 0) { - return true; - } - const Ctor = pp.constructor && pp.constructor.toString(); - return Ctor === Object.toString(); -} -var getType2, isPlainObject_default2; -var init_isPlainObject = __esm({ - "node_modules/formdata-node/lib/esm/isPlainObject.js"() { - getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); - isPlainObject_default2 = isPlainObject3; - } -}); - -// node_modules/formdata-node/lib/esm/fileFromPath.js -var fileFromPath_exports = {}; -__export(fileFromPath_exports, { - fileFromPath: () => fileFromPath2, - fileFromPathSync: () => fileFromPathSync, - isFile: () => isFile2 -}); -function createFileFromPath(path5, { mtimeMs, size }, filenameOrOptions, options = {}) { - let filename; - if (isPlainObject_default2(filenameOrOptions)) { - [options, filename] = [filenameOrOptions, void 0]; - } else { - filename = filenameOrOptions; - } - const file = new FileFromPath({ path: path5, size, lastModified: mtimeMs }); - if (!filename) { - filename = file.name; - } - return new File2([file], filename, { - ...options, - lastModified: file.lastModified - }); -} -function fileFromPathSync(path5, filenameOrOptions, options = {}) { - const stats = (0, import_fs2.statSync)(path5); - return createFileFromPath(path5, stats, filenameOrOptions, options); -} -async function fileFromPath2(path5, filenameOrOptions, options) { - const stats = await import_fs2.promises.stat(path5); - return createFileFromPath(path5, stats, filenameOrOptions, options); -} -var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet4, __classPrivateFieldGet5, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; -var init_fileFromPath = __esm({ - "node_modules/formdata-node/lib/esm/fileFromPath.js"() { - import_fs2 = require("fs"); - import_path3 = require("path"); - import_node_domexception = __toESM(require_node_domexception(), 1); - init_File(); - init_isPlainObject(); - init_isFile(); - __classPrivateFieldSet4 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet5 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; - FileFromPath = class { - constructor(input) { - _FileFromPath_path.set(this, void 0); - _FileFromPath_start.set(this, void 0); - __classPrivateFieldSet4(this, _FileFromPath_path, input.path, "f"); - __classPrivateFieldSet4(this, _FileFromPath_start, input.start || 0, "f"); - this.name = (0, import_path3.basename)(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); - this.size = input.size; - this.lastModified = input.lastModified; - } - slice(start, end) { - return new FileFromPath({ - path: __classPrivateFieldGet5(this, _FileFromPath_path, "f"), - lastModified: this.lastModified, - size: end - start, - start - }); - } - async *stream() { - const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); - if (mtimeMs > this.lastModified) { - throw new import_node_domexception.default(MESSAGE, "NotReadableError"); - } - if (this.size) { - yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet5(this, _FileFromPath_path, "f"), { - start: __classPrivateFieldGet5(this, _FileFromPath_start, "f"), - end: __classPrivateFieldGet5(this, _FileFromPath_start, "f") + this.size - 1 - }); - } - } - get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { - return "File"; - } - }; - } -}); - // node_modules/ignore/index.js var require_ignore = __commonJS({ "node_modules/ignore/index.js"(exports, module2) { @@ -25934,7 +15386,7 @@ var require_ignore = __commonJS({ TMP_KEY_IGNORE = Symbol.for("node-ignore"); } var KEY_IGNORE = TMP_KEY_IGNORE; - var define2 = (object, key, value) => Object.defineProperty(object, key, { value }); + var define = (object, key, value) => Object.defineProperty(object, key, { value }); var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; var RETURN_FALSE = () => false; var sanitizeRange = (range) => range.replace( @@ -25946,10 +15398,6 @@ var require_ignore = __commonJS({ return slashes.slice(0, length - length % 2); }; var REPLACERS = [ - [ - /^\uFEFF/, - () => EMPTY - ], [ /\\?\s+$/, (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY @@ -25986,11 +15434,11 @@ var require_ignore = __commonJS({ ], [ /\\\/\\\*\\\*(?=\\\/|$)/g, - (_7, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" + (_6, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" ], [ /(^|[^\\]+)(\\\*)+(?=.+)/g, - (_7, p1, p22) => { + (_6, p1, p22) => { const unescaped = p22.replace(/\\\*/g, "[^\\/]*"); return p1 + unescaped; } @@ -26013,7 +15461,7 @@ var require_ignore = __commonJS({ ], [ /(\^|\\\/)?\\\*$/, - (_7, p1) => { + (_6, p1) => { const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; return `${prefix}(?=$|\\/$)`; } @@ -26072,9 +15520,9 @@ var require_ignore = __commonJS({ return doThrow(`path must not be empty`, TypeError); } if (checkPath.isNotRelative(path5)) { - const r3 = "`path.relative()`d"; + const r2 = "`path.relative()`d"; return doThrow( - `path should be a ${r3} string, but got "${originalPath}"`, + `path should be a ${r2} string, but got "${originalPath}"`, RangeError ); } @@ -26089,7 +15537,7 @@ var require_ignore = __commonJS({ ignoreCase = ignorecase, allowRelativePaths = false } = {}) { - define2(this, KEY_IGNORE, true); + define(this, KEY_IGNORE, true); this._rules = []; this._ignoreCase = ignoreCase; this._allowRelativePaths = allowRelativePaths; @@ -26204,139 +15652,139 @@ var k = "unknown-flag"; var C = "argument"; var { stringify: h } = JSON; var O = /\B([A-Z])/g; -var v = (t2) => t2.replace(O, "-$1").toLowerCase(); +var v = (t) => t.replace(O, "-$1").toLowerCase(); var { hasOwnProperty: D } = Object.prototype; -var w = (t2, n2) => D.call(t2, n2); -var L = (t2) => Array.isArray(t2); -var b = (t2) => typeof t2 == "function" ? [t2, false] : L(t2) ? [t2[0], true] : b(t2.type); -var d = (t2, n2) => t2 === Boolean ? n2 !== "false" : n2; -var m = (t2, n2) => typeof n2 == "boolean" ? n2 : t2 === Number && n2 === "" ? Number.NaN : t2(n2); +var w = (t, n) => D.call(t, n); +var L = (t) => Array.isArray(t); +var b = (t) => typeof t == "function" ? [t, false] : L(t) ? [t[0], true] : b(t.type); +var d = (t, n) => t === Boolean ? n !== "false" : n; +var m = (t, n) => typeof n == "boolean" ? n : t === Number && n === "" ? Number.NaN : t(n); var R = /[\s.:=]/; -var B = (t2) => { - const n2 = `Flag name ${h(t2)}`; - if (t2.length === 0) - throw new Error(`${n2} cannot be empty`); - if (t2.length === 1) - throw new Error(`${n2} must be longer than a character`); - const r3 = t2.match(R); - if (r3) - throw new Error(`${n2} cannot contain ${h(r3?.[0])}`); +var B = (t) => { + const n = `Flag name ${h(t)}`; + if (t.length === 0) + throw new Error(`${n} cannot be empty`); + if (t.length === 1) + throw new Error(`${n} must be longer than a character`); + const r2 = t.match(R); + if (r2) + throw new Error(`${n} cannot contain ${h(r2?.[0])}`); }; -var K = (t2) => { - const n2 = {}, r3 = (e3, o3) => { - if (w(n2, e3)) - throw new Error(`Duplicate flags named ${h(e3)}`); - n2[e3] = o3; +var K = (t) => { + const n = {}, r2 = (e2, o2) => { + if (w(n, e2)) + throw new Error(`Duplicate flags named ${h(e2)}`); + n[e2] = o2; }; - for (const e3 in t2) { - if (!w(t2, e3)) + for (const e2 in t) { + if (!w(t, e2)) continue; - B(e3); - const o3 = t2[e3], s2 = [[], ...b(o3), o3]; - r3(e3, s2); - const i3 = v(e3); - if (e3 !== i3 && r3(i3, s2), "alias" in o3 && typeof o3.alias == "string") { - const { alias: a4 } = o3, l3 = `Flag alias ${h(a4)} for flag ${h(e3)}`; - if (a4.length === 0) - throw new Error(`${l3} cannot be empty`); - if (a4.length > 1) - throw new Error(`${l3} must be a single character`); - r3(a4, s2); + B(e2); + const o2 = t[e2], s = [[], ...b(o2), o2]; + r2(e2, s); + const i2 = v(e2); + if (e2 !== i2 && r2(i2, s), "alias" in o2 && typeof o2.alias == "string") { + const { alias: a2 } = o2, l = `Flag alias ${h(a2)} for flag ${h(e2)}`; + if (a2.length === 0) + throw new Error(`${l} cannot be empty`); + if (a2.length > 1) + throw new Error(`${l} must be a single character`); + r2(a2, s); } } - return n2; + return n; }; -var _ = (t2, n2) => { - const r3 = {}; - for (const e3 in t2) { - if (!w(t2, e3)) +var _ = (t, n) => { + const r2 = {}; + for (const e2 in t) { + if (!w(t, e2)) continue; - const [o3, , s2, i3] = n2[e3]; - if (o3.length === 0 && "default" in i3) { - let { default: a4 } = i3; - typeof a4 == "function" && (a4 = a4()), r3[e3] = a4; + const [o2, , s, i2] = n[e2]; + if (o2.length === 0 && "default" in i2) { + let { default: a2 } = i2; + typeof a2 == "function" && (a2 = a2()), r2[e2] = a2; } else - r3[e3] = s2 ? o3 : o3.pop(); + r2[e2] = s ? o2 : o2.pop(); } - return r3; + return r2; }; var F = "--"; var G = /[.:=]/; var T = /^-{1,2}\w/; -var N = (t2) => { - if (!T.test(t2)) +var N = (t) => { + if (!T.test(t)) return; - const n2 = !t2.startsWith(F); - let r3 = t2.slice(n2 ? 1 : 2), e3; - const o3 = r3.match(G); - if (o3) { - const { index: s2 } = o3; - e3 = r3.slice(s2 + 1), r3 = r3.slice(0, s2); + const n = !t.startsWith(F); + let r2 = t.slice(n ? 1 : 2), e2; + const o2 = r2.match(G); + if (o2) { + const { index: s } = o2; + e2 = r2.slice(s + 1), r2 = r2.slice(0, s); } - return [r3, e3, n2]; + return [r2, e2, n]; }; -var $ = (t2, { onFlag: n2, onArgument: r3 }) => { - let e3; - const o3 = (s2, i3) => { - if (typeof e3 != "function") +var $ = (t, { onFlag: n, onArgument: r2 }) => { + let e2; + const o2 = (s, i2) => { + if (typeof e2 != "function") return true; - e3(s2, i3), e3 = void 0; + e2(s, i2), e2 = void 0; }; - for (let s2 = 0; s2 < t2.length; s2 += 1) { - const i3 = t2[s2]; - if (i3 === F) { - o3(); - const l3 = t2.slice(s2 + 1); - r3?.(l3, [s2], true); + for (let s = 0; s < t.length; s += 1) { + const i2 = t[s]; + if (i2 === F) { + o2(); + const l = t.slice(s + 1); + r2?.(l, [s], true); break; } - const a4 = N(i3); - if (a4) { - if (o3(), !n2) + const a2 = N(i2); + if (a2) { + if (o2(), !n) continue; - const [l3, f4, g4] = a4; - if (g4) - for (let c3 = 0; c3 < l3.length; c3 += 1) { - o3(); - const u3 = c3 === l3.length - 1; - e3 = n2(l3[c3], u3 ? f4 : void 0, [s2, c3 + 1, u3]); + const [l, f3, g3] = a2; + if (g3) + for (let c3 = 0; c3 < l.length; c3 += 1) { + o2(); + const u2 = c3 === l.length - 1; + e2 = n(l[c3], u2 ? f3 : void 0, [s, c3 + 1, u2]); } else - e3 = n2(l3, f4, [s2]); + e2 = n(l, f3, [s]); } else - o3(i3, [s2]) && r3?.([i3], [s2]); + o2(i2, [s]) && r2?.([i2], [s]); } - o3(); + o2(); }; -var E = (t2, n2) => { - for (const [r3, e3, o3] of n2.reverse()) { - if (e3) { - const s2 = t2[r3]; - let i3 = s2.slice(0, e3); - if (o3 || (i3 += s2.slice(e3 + 1)), i3 !== "-") { - t2[r3] = i3; +var E = (t, n) => { + for (const [r2, e2, o2] of n.reverse()) { + if (e2) { + const s = t[r2]; + let i2 = s.slice(0, e2); + if (o2 || (i2 += s.slice(e2 + 1)), i2 !== "-") { + t[r2] = i2; continue; } } - t2.splice(r3, 1); + t.splice(r2, 1); } }; -var U = (t2, n2 = process.argv.slice(2), { ignore: r3 } = {}) => { - const e3 = [], o3 = K(t2), s2 = {}, i3 = []; - return i3[F] = [], $(n2, { onFlag(a4, l3, f4) { - const g4 = w(o3, a4); - if (!r3?.(g4 ? V : k, a4, l3)) { - if (g4) { - const [c3, u3] = o3[a4], y6 = d(u3, l3), p4 = (P4, A5) => { - e3.push(f4), A5 && e3.push(A5), c3.push(m(u3, P4 || "")); +var U = (t, n = process.argv.slice(2), { ignore: r2 } = {}) => { + const e2 = [], o2 = K(t), s = {}, i2 = []; + return i2[F] = [], $(n, { onFlag(a2, l, f3) { + const g3 = w(o2, a2); + if (!r2?.(g3 ? V : k, a2, l)) { + if (g3) { + const [c3, u2] = o2[a2], y5 = d(u2, l), p4 = (P3, A3) => { + e2.push(f3), A3 && e2.push(A3), c3.push(m(u2, P3 || "")); }; - return y6 === void 0 ? p4 : p4(y6); + return y5 === void 0 ? p4 : p4(y5); } - w(s2, a4) || (s2[a4] = []), s2[a4].push(l3 === void 0 ? true : l3), e3.push(f4); + w(s, a2) || (s[a2] = []), s[a2].push(l === void 0 ? true : l), e2.push(f3); } - }, onArgument(a4, l3, f4) { - r3?.(C, n2[l3[0]]) || (i3.push(...a4), f4 ? (i3[F] = a4, n2.splice(l3[0])) : e3.push(l3)); - } }), E(n2, e3), { flags: _(t2, o3), unknownFlags: s2, _: i3 }; + }, onArgument(a2, l, f3) { + r2?.(C, n[l[0]]) || (i2.push(...a2), f3 ? (i2[F] = a2, n.splice(l[0])) : e2.push(l)); + } }), E(n, e2), { flags: _(t, o2), unknownFlags: s, _: i2 }; }; // node_modules/cleye/dist/index.mjs @@ -26353,200 +15801,200 @@ var I = Object.getOwnPropertySymbols; var ED = Object.getPrototypeOf; var L2 = Object.prototype.hasOwnProperty; var eD = Object.prototype.propertyIsEnumerable; -var W = (D5, F5, u3) => F5 in D5 ? m2(D5, F5, { enumerable: true, configurable: true, writable: true, value: u3 }) : D5[F5] = u3; -var p = (D5, F5) => { - for (var u3 in F5 || (F5 = {})) - L2.call(F5, u3) && W(D5, u3, F5[u3]); +var W = (D4, F4, u2) => F4 in D4 ? m2(D4, F4, { enumerable: true, configurable: true, writable: true, value: u2 }) : D4[F4] = u2; +var p = (D4, F4) => { + for (var u2 in F4 || (F4 = {})) + L2.call(F4, u2) && W(D4, u2, F4[u2]); if (I) - for (var u3 of I(F5)) - eD.call(F5, u3) && W(D5, u3, F5[u3]); - return D5; + for (var u2 of I(F4)) + eD.call(F4, u2) && W(D4, u2, F4[u2]); + return D4; }; -var c = (D5, F5) => uD(D5, CD(F5)); -var nD = (D5) => m2(D5, "__esModule", { value: true }); -var rD = (D5, F5) => () => (D5 && (F5 = D5(D5 = 0)), F5); -var iD = (D5, F5) => () => (F5 || D5((F5 = { exports: {} }).exports, F5), F5.exports); -var oD = (D5, F5, u3, C5) => { - if (F5 && typeof F5 == "object" || typeof F5 == "function") - for (let t2 of tD(F5)) - !L2.call(D5, t2) && (u3 || t2 !== "default") && m2(D5, t2, { get: () => F5[t2], enumerable: !(C5 = FD(F5, t2)) || C5.enumerable }); - return D5; +var c = (D4, F4) => uD(D4, CD(F4)); +var nD = (D4) => m2(D4, "__esModule", { value: true }); +var rD = (D4, F4) => () => (D4 && (F4 = D4(D4 = 0)), F4); +var iD = (D4, F4) => () => (F4 || D4((F4 = { exports: {} }).exports, F4), F4.exports); +var oD = (D4, F4, u2, C4) => { + if (F4 && typeof F4 == "object" || typeof F4 == "function") + for (let t of tD(F4)) + !L2.call(D4, t) && (u2 || t !== "default") && m2(D4, t, { get: () => F4[t], enumerable: !(C4 = FD(F4, t)) || C4.enumerable }); + return D4; }; -var BD = (D5, F5) => oD(nD(m2(D5 != null ? DD(ED(D5)) : {}, "default", !F5 && D5 && D5.__esModule ? { get: () => D5.default, enumerable: true } : { value: D5, enumerable: true })), D5); +var BD = (D4, F4) => oD(nD(m2(D4 != null ? DD(ED(D4)) : {}, "default", !F4 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); var i = rD(() => { }); -var $2 = iD((LD, N6) => { +var $2 = iD((LD, N5) => { "use strict"; i(); - N6.exports = function() { + N5.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); i(); i(); i(); -var v2 = (D5) => { - var u3, C5, t2; - let F5 = (u3 = process.stdout.columns) != null ? u3 : Number.POSITIVE_INFINITY; - return typeof D5 == "function" && (D5 = D5(F5)), D5 || (D5 = {}), Array.isArray(D5) ? { columns: D5, stdoutColumns: F5 } : { columns: (C5 = D5.columns) != null ? C5 : [], stdoutColumns: (t2 = D5.stdoutColumns) != null ? t2 : F5 }; +var v2 = (D4) => { + var u2, C4, t; + let F4 = (u2 = process.stdout.columns) != null ? u2 : Number.POSITIVE_INFINITY; + return typeof D4 == "function" && (D4 = D4(F4)), D4 || (D4 = {}), Array.isArray(D4) ? { columns: D4, stdoutColumns: F4 } : { columns: (C4 = D4.columns) != null ? C4 : [], stdoutColumns: (t = D4.stdoutColumns) != null ? t : F4 }; }; i(); i(); i(); i(); i(); -function w2({ onlyFirst: D5 = false } = {}) { - let F5 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(F5, D5 ? void 0 : "g"); +function w2({ onlyFirst: D4 = false } = {}) { + let F4 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(F4, D4 ? void 0 : "g"); } -function d2(D5) { - if (typeof D5 != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof D5}\``); - return D5.replace(w2(), ""); +function d2(D4) { + if (typeof D4 != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof D4}\``); + return D4.replace(w2(), ""); } i(); -function y(D5) { - return Number.isInteger(D5) ? D5 >= 4352 && (D5 <= 4447 || D5 === 9001 || D5 === 9002 || 11904 <= D5 && D5 <= 12871 && D5 !== 12351 || 12880 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65131 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 262141) : false; +function y(D4) { + return Number.isInteger(D4) ? D4 >= 4352 && (D4 <= 4447 || D4 === 9001 || D4 === 9002 || 11904 <= D4 && D4 <= 12871 && D4 !== 12351 || 12880 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65131 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 262141) : false; } var j = BD($2(), 1); -function g(D5) { - if (typeof D5 != "string" || D5.length === 0 || (D5 = d2(D5), D5.length === 0)) +function g(D4) { + if (typeof D4 != "string" || D4.length === 0 || (D4 = d2(D4), D4.length === 0)) return 0; - D5 = D5.replace((0, j.default)(), " "); - let F5 = 0; - for (let u3 = 0; u3 < D5.length; u3++) { - let C5 = D5.codePointAt(u3); - C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879 || (C5 > 65535 && u3++, F5 += y(C5) ? 2 : 1); + D4 = D4.replace((0, j.default)(), " "); + let F4 = 0; + for (let u2 = 0; u2 < D4.length; u2++) { + let C4 = D4.codePointAt(u2); + C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879 || (C4 > 65535 && u2++, F4 += y(C4) ? 2 : 1); } - return F5; + return F4; } -var b2 = (D5) => Math.max(...D5.split(` +var b2 = (D4) => Math.max(...D4.split(` `).map(g)); -var k2 = (D5) => { - let F5 = []; - for (let u3 of D5) { - let { length: C5 } = u3, t2 = C5 - F5.length; - for (let E4 = 0; E4 < t2; E4 += 1) - F5.push(0); - for (let E4 = 0; E4 < C5; E4 += 1) { - let e3 = b2(u3[E4]); - e3 > F5[E4] && (F5[E4] = e3); +var k2 = (D4) => { + let F4 = []; + for (let u2 of D4) { + let { length: C4 } = u2, t = C4 - F4.length; + for (let E3 = 0; E3 < t; E3 += 1) + F4.push(0); + for (let E3 = 0; E3 < C4; E3 += 1) { + let e2 = b2(u2[E3]); + e2 > F4[E3] && (F4[E3] = e2); } } - return F5; + return F4; }; i(); var _2 = /^\d+%$/; var z = { width: "auto", align: "left", contentWidth: 0, paddingLeft: 0, paddingRight: 0, paddingTop: 0, paddingBottom: 0, horizontalPadding: 0, paddingLeftString: "", paddingRightString: "" }; -var sD = (D5, F5) => { - var C5; - let u3 = []; - for (let t2 = 0; t2 < D5.length; t2 += 1) { - let E4 = (C5 = F5[t2]) != null ? C5 : "auto"; - if (typeof E4 == "number" || E4 === "auto" || E4 === "content-width" || typeof E4 == "string" && _2.test(E4)) { - u3.push(c(p({}, z), { width: E4, contentWidth: D5[t2] })); +var sD = (D4, F4) => { + var C4; + let u2 = []; + for (let t = 0; t < D4.length; t += 1) { + let E3 = (C4 = F4[t]) != null ? C4 : "auto"; + if (typeof E3 == "number" || E3 === "auto" || E3 === "content-width" || typeof E3 == "string" && _2.test(E3)) { + u2.push(c(p({}, z), { width: E3, contentWidth: D4[t] })); continue; } - if (E4 && typeof E4 == "object") { - let e3 = c(p(p({}, z), E4), { contentWidth: D5[t2] }); - e3.horizontalPadding = e3.paddingLeft + e3.paddingRight, u3.push(e3); + if (E3 && typeof E3 == "object") { + let e2 = c(p(p({}, z), E3), { contentWidth: D4[t] }); + e2.horizontalPadding = e2.paddingLeft + e2.paddingRight, u2.push(e2); continue; } - throw new Error(`Invalid column width: ${JSON.stringify(E4)}`); + throw new Error(`Invalid column width: ${JSON.stringify(E3)}`); } - return u3; + return u2; }; -function aD(D5, F5) { - for (let u3 of D5) { - let { width: C5 } = u3; - if (C5 === "content-width" && (u3.width = u3.contentWidth), C5 === "auto") { - let n2 = Math.min(20, u3.contentWidth); - u3.width = n2, u3.autoOverflow = u3.contentWidth - n2; +function aD(D4, F4) { + for (let u2 of D4) { + let { width: C4 } = u2; + if (C4 === "content-width" && (u2.width = u2.contentWidth), C4 === "auto") { + let n = Math.min(20, u2.contentWidth); + u2.width = n, u2.autoOverflow = u2.contentWidth - n; } - if (typeof C5 == "string" && _2.test(C5)) { - let n2 = Number.parseFloat(C5.slice(0, -1)) / 100; - u3.width = Math.floor(F5 * n2) - (u3.paddingLeft + u3.paddingRight); + if (typeof C4 == "string" && _2.test(C4)) { + let n = Number.parseFloat(C4.slice(0, -1)) / 100; + u2.width = Math.floor(F4 * n) - (u2.paddingLeft + u2.paddingRight); } - let { horizontalPadding: t2 } = u3, E4 = 1, e3 = E4 + t2; - if (e3 >= F5) { - let n2 = e3 - F5, o3 = Math.ceil(u3.paddingLeft / t2 * n2), B3 = n2 - o3; - u3.paddingLeft -= o3, u3.paddingRight -= B3, u3.horizontalPadding = u3.paddingLeft + u3.paddingRight; + let { horizontalPadding: t } = u2, E3 = 1, e2 = E3 + t; + if (e2 >= F4) { + let n = e2 - F4, o2 = Math.ceil(u2.paddingLeft / t * n), B2 = n - o2; + u2.paddingLeft -= o2, u2.paddingRight -= B2, u2.horizontalPadding = u2.paddingLeft + u2.paddingRight; } - u3.paddingLeftString = u3.paddingLeft ? " ".repeat(u3.paddingLeft) : "", u3.paddingRightString = u3.paddingRight ? " ".repeat(u3.paddingRight) : ""; - let r3 = F5 - u3.horizontalPadding; - u3.width = Math.max(Math.min(u3.width, r3), E4); + u2.paddingLeftString = u2.paddingLeft ? " ".repeat(u2.paddingLeft) : "", u2.paddingRightString = u2.paddingRight ? " ".repeat(u2.paddingRight) : ""; + let r2 = F4 - u2.horizontalPadding; + u2.width = Math.max(Math.min(u2.width, r2), E3); } } var G2 = () => Object.assign([], { columns: 0 }); -function lD(D5, F5) { - let u3 = [G2()], [C5] = u3; - for (let t2 of D5) { - let E4 = t2.width + t2.horizontalPadding; - C5.columns + E4 > F5 && (C5 = G2(), u3.push(C5)), C5.push(t2), C5.columns += E4; +function lD(D4, F4) { + let u2 = [G2()], [C4] = u2; + for (let t of D4) { + let E3 = t.width + t.horizontalPadding; + C4.columns + E3 > F4 && (C4 = G2(), u2.push(C4)), C4.push(t), C4.columns += E3; } - for (let t2 of u3) { - let E4 = t2.reduce((s2, l3) => s2 + l3.width + l3.horizontalPadding, 0), e3 = F5 - E4; - if (e3 === 0) + for (let t of u2) { + let E3 = t.reduce((s, l) => s + l.width + l.horizontalPadding, 0), e2 = F4 - E3; + if (e2 === 0) continue; - let r3 = t2.filter((s2) => "autoOverflow" in s2), n2 = r3.filter((s2) => s2.autoOverflow > 0), o3 = n2.reduce((s2, l3) => s2 + l3.autoOverflow, 0), B3 = Math.min(o3, e3); - for (let s2 of n2) { - let l3 = Math.floor(s2.autoOverflow / o3 * B3); - s2.width += l3, e3 -= l3; + let r2 = t.filter((s) => "autoOverflow" in s), n = r2.filter((s) => s.autoOverflow > 0), o2 = n.reduce((s, l) => s + l.autoOverflow, 0), B2 = Math.min(o2, e2); + for (let s of n) { + let l = Math.floor(s.autoOverflow / o2 * B2); + s.width += l, e2 -= l; } - let a4 = Math.floor(e3 / r3.length); - for (let s2 = 0; s2 < r3.length; s2 += 1) { - let l3 = r3[s2]; - s2 === r3.length - 1 ? l3.width += e3 : l3.width += a4, e3 -= a4; + let a2 = Math.floor(e2 / r2.length); + for (let s = 0; s < r2.length; s += 1) { + let l = r2[s]; + s === r2.length - 1 ? l.width += e2 : l.width += a2, e2 -= a2; } } - return u3; + return u2; } -function Z(D5, F5, u3) { - let C5 = sD(u3, F5); - return aD(C5, D5), lD(C5, D5); +function Z(D4, F4, u2) { + let C4 = sD(u2, F4); + return aD(C4, D4), lD(C4, D4); } i(); i(); i(); var O2 = 10; -var U2 = (D5 = 0) => (F5) => `\x1B[${F5 + D5}m`; -var V2 = (D5 = 0) => (F5) => `\x1B[${38 + D5};5;${F5}m`; -var Y = (D5 = 0) => (F5, u3, C5) => `\x1B[${38 + D5};2;${F5};${u3};${C5}m`; +var U2 = (D4 = 0) => (F4) => `\x1B[${F4 + D4}m`; +var V2 = (D4 = 0) => (F4) => `\x1B[${38 + D4};5;${F4}m`; +var Y = (D4 = 0) => (F4, u2, C4) => `\x1B[${38 + D4};2;${F4};${u2};${C4}m`; function AD() { - let D5 = /* @__PURE__ */ new Map(), F5 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F5.color.gray = F5.color.blackBright, F5.bgColor.bgGray = F5.bgColor.bgBlackBright, F5.color.grey = F5.color.blackBright, F5.bgColor.bgGrey = F5.bgColor.bgBlackBright; - for (let [u3, C5] of Object.entries(F5)) { - for (let [t2, E4] of Object.entries(C5)) - F5[t2] = { open: `\x1B[${E4[0]}m`, close: `\x1B[${E4[1]}m` }, C5[t2] = F5[t2], D5.set(E4[0], E4[1]); - Object.defineProperty(F5, u3, { value: C5, enumerable: false }); + let D4 = /* @__PURE__ */ new Map(), F4 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F4.color.gray = F4.color.blackBright, F4.bgColor.bgGray = F4.bgColor.bgBlackBright, F4.color.grey = F4.color.blackBright, F4.bgColor.bgGrey = F4.bgColor.bgBlackBright; + for (let [u2, C4] of Object.entries(F4)) { + for (let [t, E3] of Object.entries(C4)) + F4[t] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C4[t] = F4[t], D4.set(E3[0], E3[1]); + Object.defineProperty(F4, u2, { value: C4, enumerable: false }); } - return Object.defineProperty(F5, "codes", { value: D5, enumerable: false }), F5.color.close = "\x1B[39m", F5.bgColor.close = "\x1B[49m", F5.color.ansi = U2(), F5.color.ansi256 = V2(), F5.color.ansi16m = Y(), F5.bgColor.ansi = U2(O2), F5.bgColor.ansi256 = V2(O2), F5.bgColor.ansi16m = Y(O2), Object.defineProperties(F5, { rgbToAnsi256: { value: (u3, C5, t2) => u3 === C5 && C5 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C5 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { - let C5 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); - if (!C5) + return Object.defineProperty(F4, "codes", { value: D4, enumerable: false }), F4.color.close = "\x1B[39m", F4.bgColor.close = "\x1B[49m", F4.color.ansi = U2(), F4.color.ansi256 = V2(), F4.color.ansi16m = Y(), F4.bgColor.ansi = U2(O2), F4.bgColor.ansi256 = V2(O2), F4.bgColor.ansi16m = Y(O2), Object.defineProperties(F4, { rgbToAnsi256: { value: (u2, C4, t) => u2 === C4 && C4 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C4 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { + let C4 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); + if (!C4) return [0, 0, 0]; - let { colorString: t2 } = C5.groups; - t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); - let E4 = Number.parseInt(t2, 16); - return [E4 >> 16 & 255, E4 >> 8 & 255, E4 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u3) => F5.rgbToAnsi256(...F5.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { - if (u3 < 8) - return 30 + u3; - if (u3 < 16) - return 90 + (u3 - 8); - let C5, t2, E4; - if (u3 >= 232) - C5 = ((u3 - 232) * 10 + 8) / 255, t2 = C5, E4 = C5; + let { colorString: t } = C4.groups; + t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); + let E3 = Number.parseInt(t, 16); + return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u2) => F4.rgbToAnsi256(...F4.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { + if (u2 < 8) + return 30 + u2; + if (u2 < 16) + return 90 + (u2 - 8); + let C4, t, E3; + if (u2 >= 232) + C4 = ((u2 - 232) * 10 + 8) / 255, t = C4, E3 = C4; else { - u3 -= 16; - let n2 = u3 % 36; - C5 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E4 = n2 % 6 / 5; + u2 -= 16; + let n = u2 % 36; + C4 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E3 = n % 6 / 5; } - let e3 = Math.max(C5, t2, E4) * 2; - if (e3 === 0) + let e2 = Math.max(C4, t, E3) * 2; + if (e2 === 0) return 30; - let r3 = 30 + (Math.round(E4) << 2 | Math.round(t2) << 1 | Math.round(C5)); - return e3 === 2 && (r3 += 60), r3; - }, enumerable: false }, rgbToAnsi: { value: (u3, C5, t2) => F5.ansi256ToAnsi(F5.rgbToAnsi256(u3, C5, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F5.ansi256ToAnsi(F5.hexToAnsi256(u3)), enumerable: false } }), F5; + let r2 = 30 + (Math.round(E3) << 2 | Math.round(t) << 1 | Math.round(C4)); + return e2 === 2 && (r2 += 60), r2; + }, enumerable: false }, rgbToAnsi: { value: (u2, C4, t) => F4.ansi256ToAnsi(F4.rgbToAnsi256(u2, C4, t)), enumerable: false }, hexToAnsi: { value: (u2) => F4.ansi256ToAnsi(F4.hexToAnsi256(u2)), enumerable: false } }), F4; } var fD = AD(); var K2 = fD; @@ -26557,386 +16005,386 @@ var q = "["; var pD = "]"; var H = "m"; var M = `${pD}8;;`; -var J = (D5) => `${x.values().next().value}${q}${D5}${H}`; -var Q = (D5) => `${x.values().next().value}${M}${D5}${R2}`; -var hD = (D5) => D5.split(" ").map((F5) => g(F5)); -var S = (D5, F5, u3) => { - let C5 = [...F5], t2 = false, E4 = false, e3 = g(d2(D5[D5.length - 1])); - for (let [r3, n2] of C5.entries()) { - let o3 = g(n2); - if (e3 + o3 <= u3 ? D5[D5.length - 1] += n2 : (D5.push(n2), e3 = 0), x.has(n2) && (t2 = true, E4 = C5.slice(r3 + 1).join("").startsWith(M)), t2) { - E4 ? n2 === R2 && (t2 = false, E4 = false) : n2 === H && (t2 = false); +var J = (D4) => `${x.values().next().value}${q}${D4}${H}`; +var Q = (D4) => `${x.values().next().value}${M}${D4}${R2}`; +var hD = (D4) => D4.split(" ").map((F4) => g(F4)); +var S = (D4, F4, u2) => { + let C4 = [...F4], t = false, E3 = false, e2 = g(d2(D4[D4.length - 1])); + for (let [r2, n] of C4.entries()) { + let o2 = g(n); + if (e2 + o2 <= u2 ? D4[D4.length - 1] += n : (D4.push(n), e2 = 0), x.has(n) && (t = true, E3 = C4.slice(r2 + 1).join("").startsWith(M)), t) { + E3 ? n === R2 && (t = false, E3 = false) : n === H && (t = false); continue; } - e3 += o3, e3 === u3 && r3 < C5.length - 1 && (D5.push(""), e3 = 0); + e2 += o2, e2 === u2 && r2 < C4.length - 1 && (D4.push(""), e2 = 0); } - !e3 && D5[D5.length - 1].length > 0 && D5.length > 1 && (D5[D5.length - 2] += D5.pop()); + !e2 && D4[D4.length - 1].length > 0 && D4.length > 1 && (D4[D4.length - 2] += D4.pop()); }; -var cD = (D5) => { - let F5 = D5.split(" "), u3 = F5.length; - for (; u3 > 0 && !(g(F5[u3 - 1]) > 0); ) - u3--; - return u3 === F5.length ? D5 : F5.slice(0, u3).join(" ") + F5.slice(u3).join(""); +var cD = (D4) => { + let F4 = D4.split(" "), u2 = F4.length; + for (; u2 > 0 && !(g(F4[u2 - 1]) > 0); ) + u2--; + return u2 === F4.length ? D4 : F4.slice(0, u2).join(" ") + F4.slice(u2).join(""); }; -var dD = (D5, F5, u3 = {}) => { - if (u3.trim !== false && D5.trim() === "") +var dD = (D4, F4, u2 = {}) => { + if (u2.trim !== false && D4.trim() === "") return ""; - let C5 = "", t2, E4, e3 = hD(D5), r3 = [""]; - for (let [o3, B3] of D5.split(" ").entries()) { - u3.trim !== false && (r3[r3.length - 1] = r3[r3.length - 1].trimStart()); - let a4 = g(r3[r3.length - 1]); - if (o3 !== 0 && (a4 >= F5 && (u3.wordWrap === false || u3.trim === false) && (r3.push(""), a4 = 0), (a4 > 0 || u3.trim === false) && (r3[r3.length - 1] += " ", a4++)), u3.hard && e3[o3] > F5) { - let s2 = F5 - a4, l3 = 1 + Math.floor((e3[o3] - s2 - 1) / F5); - Math.floor((e3[o3] - 1) / F5) < l3 && r3.push(""), S(r3, B3, F5); + let C4 = "", t, E3, e2 = hD(D4), r2 = [""]; + for (let [o2, B2] of D4.split(" ").entries()) { + u2.trim !== false && (r2[r2.length - 1] = r2[r2.length - 1].trimStart()); + let a2 = g(r2[r2.length - 1]); + if (o2 !== 0 && (a2 >= F4 && (u2.wordWrap === false || u2.trim === false) && (r2.push(""), a2 = 0), (a2 > 0 || u2.trim === false) && (r2[r2.length - 1] += " ", a2++)), u2.hard && e2[o2] > F4) { + let s = F4 - a2, l = 1 + Math.floor((e2[o2] - s - 1) / F4); + Math.floor((e2[o2] - 1) / F4) < l && r2.push(""), S(r2, B2, F4); continue; } - if (a4 + e3[o3] > F5 && a4 > 0 && e3[o3] > 0) { - if (u3.wordWrap === false && a4 < F5) { - S(r3, B3, F5); + if (a2 + e2[o2] > F4 && a2 > 0 && e2[o2] > 0) { + if (u2.wordWrap === false && a2 < F4) { + S(r2, B2, F4); continue; } - r3.push(""); + r2.push(""); } - if (a4 + e3[o3] > F5 && u3.wordWrap === false) { - S(r3, B3, F5); + if (a2 + e2[o2] > F4 && u2.wordWrap === false) { + S(r2, B2, F4); continue; } - r3[r3.length - 1] += B3; + r2[r2.length - 1] += B2; } - u3.trim !== false && (r3 = r3.map((o3) => cD(o3))); - let n2 = [...r3.join(` + u2.trim !== false && (r2 = r2.map((o2) => cD(o2))); + let n = [...r2.join(` `)]; - for (let [o3, B3] of n2.entries()) { - if (C5 += B3, x.has(B3)) { - let { groups: s2 } = new RegExp(`(?:\\${q}(?<code>\\d+)m|\\${M}(?<uri>.*)${R2})`).exec(n2.slice(o3).join("")) || { groups: {} }; - if (s2.code !== void 0) { - let l3 = Number.parseFloat(s2.code); - t2 = l3 === gD ? void 0 : l3; + for (let [o2, B2] of n.entries()) { + if (C4 += B2, x.has(B2)) { + let { groups: s } = new RegExp(`(?:\\${q}(?<code>\\d+)m|\\${M}(?<uri>.*)${R2})`).exec(n.slice(o2).join("")) || { groups: {} }; + if (s.code !== void 0) { + let l = Number.parseFloat(s.code); + t = l === gD ? void 0 : l; } else - s2.uri !== void 0 && (E4 = s2.uri.length === 0 ? void 0 : s2.uri); + s.uri !== void 0 && (E3 = s.uri.length === 0 ? void 0 : s.uri); } - let a4 = K2.codes.get(Number(t2)); - n2[o3 + 1] === ` -` ? (E4 && (C5 += Q("")), t2 && a4 && (C5 += J(a4))) : B3 === ` -` && (t2 && a4 && (C5 += J(t2)), E4 && (C5 += Q(E4))); + let a2 = K2.codes.get(Number(t)); + n[o2 + 1] === ` +` ? (E3 && (C4 += Q("")), t && a2 && (C4 += J(a2))) : B2 === ` +` && (t && a2 && (C4 += J(t)), E3 && (C4 += Q(E3))); } - return C5; + return C4; }; -function T2(D5, F5, u3) { - return String(D5).normalize().replace(/\r\n/g, ` +function T2(D4, F4, u2) { + return String(D4).normalize().replace(/\r\n/g, ` `).split(` -`).map((C5) => dD(C5, F5, u3)).join(` +`).map((C4) => dD(C4, F4, u2)).join(` `); } -var X = (D5) => Array.from({ length: D5 }).fill(""); -function P(D5, F5) { - let u3 = [], C5 = 0; - for (let t2 of D5) { - let E4 = 0, e3 = t2.map((n2) => { - var a4; - let o3 = (a4 = F5[C5]) != null ? a4 : ""; - C5 += 1, n2.preprocess && (o3 = n2.preprocess(o3)), b2(o3) > n2.width && (o3 = T2(o3, n2.width, { hard: true })); - let B3 = o3.split(` +var X = (D4) => Array.from({ length: D4 }).fill(""); +function P(D4, F4) { + let u2 = [], C4 = 0; + for (let t of D4) { + let E3 = 0, e2 = t.map((n) => { + var a2; + let o2 = (a2 = F4[C4]) != null ? a2 : ""; + C4 += 1, n.preprocess && (o2 = n.preprocess(o2)), b2(o2) > n.width && (o2 = T2(o2, n.width, { hard: true })); + let B2 = o2.split(` `); - if (n2.postprocess) { - let { postprocess: s2 } = n2; - B3 = B3.map((l3, h4) => s2.call(n2, l3, h4)); + if (n.postprocess) { + let { postprocess: s } = n; + B2 = B2.map((l, h4) => s.call(n, l, h4)); } - return n2.paddingTop && B3.unshift(...X(n2.paddingTop)), n2.paddingBottom && B3.push(...X(n2.paddingBottom)), B3.length > E4 && (E4 = B3.length), c(p({}, n2), { lines: B3 }); - }), r3 = []; - for (let n2 = 0; n2 < E4; n2 += 1) { - let o3 = e3.map((B3) => { + return n.paddingTop && B2.unshift(...X(n.paddingTop)), n.paddingBottom && B2.push(...X(n.paddingBottom)), B2.length > E3 && (E3 = B2.length), c(p({}, n), { lines: B2 }); + }), r2 = []; + for (let n = 0; n < E3; n += 1) { + let o2 = e2.map((B2) => { var h4; - let a4 = (h4 = B3.lines[n2]) != null ? h4 : "", s2 = Number.isFinite(B3.width) ? " ".repeat(B3.width - g(a4)) : "", l3 = B3.paddingLeftString; - return B3.align === "right" && (l3 += s2), l3 += a4, B3.align === "left" && (l3 += s2), l3 + B3.paddingRightString; + let a2 = (h4 = B2.lines[n]) != null ? h4 : "", s = Number.isFinite(B2.width) ? " ".repeat(B2.width - g(a2)) : "", l = B2.paddingLeftString; + return B2.align === "right" && (l += s), l += a2, B2.align === "left" && (l += s), l + B2.paddingRightString; }).join(""); - r3.push(o3); + r2.push(o2); } - u3.push(r3.join(` + u2.push(r2.join(` `)); } - return u3.join(` + return u2.join(` `); } -function mD(D5, F5) { - if (!D5 || D5.length === 0) +function mD(D4, F4) { + if (!D4 || D4.length === 0) return ""; - let u3 = k2(D5), C5 = u3.length; - if (C5 === 0) + let u2 = k2(D4), C4 = u2.length; + if (C4 === 0) return ""; - let { stdoutColumns: t2, columns: E4 } = v2(F5); - if (E4.length > C5) - throw new Error(`${E4.length} columns defined, but only ${C5} columns found`); - let e3 = Z(t2, E4, u3); - return D5.map((r3) => P(e3, r3)).join(` + let { stdoutColumns: t, columns: E3 } = v2(F4); + if (E3.length > C4) + throw new Error(`${E3.length} columns defined, but only ${C4} columns found`); + let e2 = Z(t, E3, u2); + return D4.map((r2) => P(e2, r2)).join(` `); } i(); var bD = ["<", ">", "=", ">=", "<="]; -function xD(D5) { - if (!bD.includes(D5)) - throw new TypeError(`Invalid breakpoint operator: ${D5}`); +function xD(D4) { + if (!bD.includes(D4)) + throw new TypeError(`Invalid breakpoint operator: ${D4}`); } -function wD(D5) { - let F5 = Object.keys(D5).map((u3) => { - let [C5, t2] = u3.split(" "); - xD(C5); - let E4 = Number.parseInt(t2, 10); - if (Number.isNaN(E4)) - throw new TypeError(`Invalid breakpoint value: ${t2}`); - let e3 = D5[u3]; - return { operator: C5, breakpoint: E4, value: e3 }; - }).sort((u3, C5) => C5.breakpoint - u3.breakpoint); - return (u3) => { - var C5; - return (C5 = F5.find(({ operator: t2, breakpoint: E4 }) => t2 === "=" && u3 === E4 || t2 === ">" && u3 > E4 || t2 === "<" && u3 < E4 || t2 === ">=" && u3 >= E4 || t2 === "<=" && u3 <= E4)) == null ? void 0 : C5.value; +function wD(D4) { + let F4 = Object.keys(D4).map((u2) => { + let [C4, t] = u2.split(" "); + xD(C4); + let E3 = Number.parseInt(t, 10); + if (Number.isNaN(E3)) + throw new TypeError(`Invalid breakpoint value: ${t}`); + let e2 = D4[u2]; + return { operator: C4, breakpoint: E3, value: e2 }; + }).sort((u2, C4) => C4.breakpoint - u2.breakpoint); + return (u2) => { + var C4; + return (C4 = F4.find(({ operator: t, breakpoint: E3 }) => t === "=" && u2 === E3 || t === ">" && u2 > E3 || t === "<" && u2 < E3 || t === ">=" && u2 >= E3 || t === "<=" && u2 <= E3)) == null ? void 0 : C4.value; }; } // node_modules/cleye/dist/index.mjs -var S2 = (t2) => t2.replace(/[\W_]([a-z\d])?/gi, (e3, r3) => r3 ? r3.toUpperCase() : ""); -var q2 = (t2) => t2.replace(/\B([A-Z])/g, "-$1").toLowerCase(); -var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t2) => t2.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; -function D2(t2) { - let e3 = false; - return { type: "table", data: { tableData: Object.keys(t2).sort((a4, i3) => a4.localeCompare(i3)).map((a4) => { - const i3 = t2[a4], s2 = "alias" in i3; - return s2 && (e3 = true), { name: a4, flag: i3, flagFormatted: `--${q2(a4)}`, aliasesEnabled: e3, aliasFormatted: s2 ? `-${i3.alias}` : void 0 }; - }).map((a4) => (a4.aliasesEnabled = e3, [{ type: "flagName", data: a4 }, { type: "flagDescription", data: a4 }])), tableBreakpoints: I2 } }; +var S2 = (t) => t.replace(/[\W_]([a-z\d])?/gi, (e2, r2) => r2 ? r2.toUpperCase() : ""); +var q2 = (t) => t.replace(/\B([A-Z])/g, "-$1").toLowerCase(); +var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t) => t.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; +function D2(t) { + let e2 = false; + return { type: "table", data: { tableData: Object.keys(t).sort((a2, i2) => a2.localeCompare(i2)).map((a2) => { + const i2 = t[a2], s = "alias" in i2; + return s && (e2 = true), { name: a2, flag: i2, flagFormatted: `--${q2(a2)}`, aliasesEnabled: e2, aliasFormatted: s ? `-${i2.alias}` : void 0 }; + }).map((a2) => (a2.aliasesEnabled = e2, [{ type: "flagName", data: a2 }, { type: "flagDescription", data: a2 }])), tableBreakpoints: I2 } }; } -var A = (t2) => !t2 || (t2.version ?? (t2.help ? t2.help.version : void 0)); -var C2 = (t2) => { - const e3 = "parent" in t2 && t2.parent?.name; - return (e3 ? `${e3} ` : "") + t2.name; +var A = (t) => !t || (t.version ?? (t.help ? t.help.version : void 0)); +var C2 = (t) => { + const e2 = "parent" in t && t.parent?.name; + return (e2 ? `${e2} ` : "") + t.name; }; -function R3(t2) { - const e3 = []; - t2.name && e3.push(C2(t2)); - const r3 = A(t2) ?? ("parent" in t2 && A(t2.parent)); - if (r3 && e3.push(`v${r3}`), e3.length !== 0) - return { id: "name", type: "text", data: `${e3.join(" ")} +function R3(t) { + const e2 = []; + t.name && e2.push(C2(t)); + const r2 = A(t) ?? ("parent" in t && A(t.parent)); + if (r2 && e2.push(`v${r2}`), e2.length !== 0) + return { id: "name", type: "text", data: `${e2.join(" ")} ` }; } -function L3(t2) { - const { help: e3 } = t2; - if (!(!e3 || !e3.description)) - return { id: "description", type: "text", data: `${e3.description} +function L3(t) { + const { help: e2 } = t; + if (!(!e2 || !e2.description)) + return { id: "description", type: "text", data: `${e2.description} ` }; } -function T3(t2) { - const e3 = t2.help || {}; - if ("usage" in e3) - return e3.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e3.usage) ? e3.usage.join(` -`) : e3.usage } } : void 0; - if (t2.name) { - const r3 = [], n2 = [C2(t2)]; - if (t2.flags && Object.keys(t2.flags).length > 0 && n2.push("[flags...]"), t2.parameters && t2.parameters.length > 0) { - const { parameters: a4 } = t2, i3 = a4.indexOf("--"), s2 = i3 > -1 && a4.slice(i3 + 1).some((o3) => o3.startsWith("<")); - n2.push(a4.map((o3) => o3 !== "--" ? o3 : s2 ? "--" : "[--]").join(" ")); +function T3(t) { + const e2 = t.help || {}; + if ("usage" in e2) + return e2.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e2.usage) ? e2.usage.join(` +`) : e2.usage } } : void 0; + if (t.name) { + const r2 = [], n = [C2(t)]; + if (t.flags && Object.keys(t.flags).length > 0 && n.push("[flags...]"), t.parameters && t.parameters.length > 0) { + const { parameters: a2 } = t, i2 = a2.indexOf("--"), s = i2 > -1 && a2.slice(i2 + 1).some((o2) => o2.startsWith("<")); + n.push(a2.map((o2) => o2 !== "--" ? o2 : s ? "--" : "[--]").join(" ")); } - if (n2.length > 1 && r3.push(n2.join(" ")), "commands" in t2 && t2.commands?.length && r3.push(`${t2.name} <command>`), r3.length > 0) - return { id: "usage", type: "section", data: { title: "Usage:", body: r3.join(` + if (n.length > 1 && r2.push(n.join(" ")), "commands" in t && t.commands?.length && r2.push(`${t.name} <command>`), r2.length > 0) + return { id: "usage", type: "section", data: { title: "Usage:", body: r2.join(` `) } }; } } -function _3(t2) { - return !("commands" in t2) || !t2.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t2.commands.map((n2) => [n2.options.name, n2.options.help ? n2.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; +function _3(t) { + return !("commands" in t) || !t.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t.commands.map((n) => [n.options.name, n.options.help ? n.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; } -function k3(t2) { - if (!(!t2.flags || Object.keys(t2.flags).length === 0)) - return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t2.flags), indentBody: 0 } }; +function k3(t) { + if (!(!t.flags || Object.keys(t.flags).length === 0)) + return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t.flags), indentBody: 0 } }; } -function F2(t2) { - const { help: e3 } = t2; - if (!e3 || !e3.examples || e3.examples.length === 0) +function F2(t) { + const { help: e2 } = t; + if (!e2 || !e2.examples || e2.examples.length === 0) return; - let { examples: r3 } = e3; - if (Array.isArray(r3) && (r3 = r3.join(` -`)), r3) - return { id: "examples", type: "section", data: { title: "Examples:", body: r3 } }; + let { examples: r2 } = e2; + if (Array.isArray(r2) && (r2 = r2.join(` +`)), r2) + return { id: "examples", type: "section", data: { title: "Examples:", body: r2 } }; } -function H2(t2) { - if (!("alias" in t2) || !t2.alias) +function H2(t) { + if (!("alias" in t) || !t.alias) return; - const { alias: e3 } = t2; - return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e3) ? e3.join(", ") : e3 } }; + const { alias: e2 } = t; + return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e2) ? e2.join(", ") : e2 } }; } -var U3 = (t2) => [R3, L3, T3, _3, k3, F2, H2].map((e3) => e3(t2)).filter(Boolean); +var U3 = (t) => [R3, L3, T3, _3, k3, F2, H2].map((e2) => e2(t)).filter(Boolean); var J2 = import_tty.default.WriteStream.prototype.hasColors(); var M2 = class { - text(e3) { - return e3; + text(e2) { + return e2; } - bold(e3) { - return J2 ? `\x1B[1m${e3}\x1B[22m` : e3.toLocaleUpperCase(); + bold(e2) { + return J2 ? `\x1B[1m${e2}\x1B[22m` : e2.toLocaleUpperCase(); } - indentText({ text: e3, spaces: r3 }) { - return e3.replace(/^/gm, " ".repeat(r3)); + indentText({ text: e2, spaces: r2 }) { + return e2.replace(/^/gm, " ".repeat(r2)); } - heading(e3) { - return this.bold(e3); + heading(e2) { + return this.bold(e2); } - section({ title: e3, body: r3, indentBody: n2 = 2 }) { - return `${(e3 ? `${this.heading(e3)} -` : "") + (r3 ? this.indentText({ text: this.render(r3), spaces: n2 }) : "")} + section({ title: e2, body: r2, indentBody: n = 2 }) { + return `${(e2 ? `${this.heading(e2)} +` : "") + (r2 ? this.indentText({ text: this.render(r2), spaces: n }) : "")} `; } - table({ tableData: e3, tableOptions: r3, tableBreakpoints: n2 }) { - return mD(e3.map((a4) => a4.map((i3) => this.render(i3))), n2 ? wD(n2) : r3); + table({ tableData: e2, tableOptions: r2, tableBreakpoints: n }) { + return mD(e2.map((a2) => a2.map((i2) => this.render(i2))), n ? wD(n) : r2); } - flagParameter(e3) { - return e3 === Boolean ? "" : e3 === String ? "<string>" : e3 === Number ? "<number>" : Array.isArray(e3) ? this.flagParameter(e3[0]) : "<value>"; + flagParameter(e2) { + return e2 === Boolean ? "" : e2 === String ? "<string>" : e2 === Number ? "<number>" : Array.isArray(e2) ? this.flagParameter(e2[0]) : "<value>"; } - flagOperator(e3) { + flagOperator(e2) { return " "; } - flagName(e3) { - const { flag: r3, flagFormatted: n2, aliasesEnabled: a4, aliasFormatted: i3 } = e3; - let s2 = ""; - if (i3 ? s2 += `${i3}, ` : a4 && (s2 += " "), s2 += n2, "placeholder" in r3 && typeof r3.placeholder == "string") - s2 += `${this.flagOperator(e3)}${r3.placeholder}`; + flagName(e2) { + const { flag: r2, flagFormatted: n, aliasesEnabled: a2, aliasFormatted: i2 } = e2; + let s = ""; + if (i2 ? s += `${i2}, ` : a2 && (s += " "), s += n, "placeholder" in r2 && typeof r2.placeholder == "string") + s += `${this.flagOperator(e2)}${r2.placeholder}`; else { - const o3 = this.flagParameter("type" in r3 ? r3.type : r3); - o3 && (s2 += `${this.flagOperator(e3)}${o3}`); + const o2 = this.flagParameter("type" in r2 ? r2.type : r2); + o2 && (s += `${this.flagOperator(e2)}${o2}`); } - return s2; + return s; } - flagDefault(e3) { - return JSON.stringify(e3); + flagDefault(e2) { + return JSON.stringify(e2); } - flagDescription({ flag: e3 }) { - let r3 = "description" in e3 ? e3.description ?? "" : ""; - if ("default" in e3) { - let { default: n2 } = e3; - typeof n2 == "function" && (n2 = n2()), n2 && (r3 += ` (default: ${this.flagDefault(n2)})`); + flagDescription({ flag: e2 }) { + let r2 = "description" in e2 ? e2.description ?? "" : ""; + if ("default" in e2) { + let { default: n } = e2; + typeof n == "function" && (n = n()), n && (r2 += ` (default: ${this.flagDefault(n)})`); } - return r3; + return r2; } - render(e3) { - if (typeof e3 == "string") - return e3; - if (Array.isArray(e3)) - return e3.map((r3) => this.render(r3)).join(` + render(e2) { + if (typeof e2 == "string") + return e2; + if (Array.isArray(e2)) + return e2.map((r2) => this.render(r2)).join(` `); - if ("type" in e3 && this[e3.type]) { - const r3 = this[e3.type]; - if (typeof r3 == "function") - return r3.call(this, e3.data); + if ("type" in e2 && this[e2.type]) { + const r2 = this[e2.type]; + if (typeof r2 == "function") + return r2.call(this, e2.data); } - throw new Error(`Invalid node type: ${JSON.stringify(e3)}`); + throw new Error(`Invalid node type: ${JSON.stringify(e2)}`); } }; var y2 = /^[\w.-]+$/; var { stringify: d3 } = JSON; var V3 = /[|\\{}()[\]^$+*?.]/; -function w3(t2) { - const e3 = []; - let r3, n2; - for (const a4 of t2) { - if (n2) - throw new Error(`Invalid parameter: Spread parameter ${d3(n2)} must be last`); - const i3 = a4[0], s2 = a4[a4.length - 1]; - let o3; - if (i3 === "<" && s2 === ">" && (o3 = true, r3)) - throw new Error(`Invalid parameter: Required parameter ${d3(a4)} cannot come after optional parameter ${d3(r3)}`); - if (i3 === "[" && s2 === "]" && (o3 = false, r3 = a4), o3 === void 0) - throw new Error(`Invalid parameter: ${d3(a4)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); - let l3 = a4.slice(1, -1); - const f4 = l3.slice(-3) === "..."; - f4 && (n2 = a4, l3 = l3.slice(0, -3)); - const p4 = l3.match(V3); +function w3(t) { + const e2 = []; + let r2, n; + for (const a2 of t) { + if (n) + throw new Error(`Invalid parameter: Spread parameter ${d3(n)} must be last`); + const i2 = a2[0], s = a2[a2.length - 1]; + let o2; + if (i2 === "<" && s === ">" && (o2 = true, r2)) + throw new Error(`Invalid parameter: Required parameter ${d3(a2)} cannot come after optional parameter ${d3(r2)}`); + if (i2 === "[" && s === "]" && (o2 = false, r2 = a2), o2 === void 0) + throw new Error(`Invalid parameter: ${d3(a2)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); + let l = a2.slice(1, -1); + const f3 = l.slice(-3) === "..."; + f3 && (n = a2, l = l.slice(0, -3)); + const p4 = l.match(V3); if (p4) - throw new Error(`Invalid parameter: ${d3(a4)}. Invalid character found ${d3(p4[0])}`); - e3.push({ name: l3, required: o3, spread: f4 }); + throw new Error(`Invalid parameter: ${d3(a2)}. Invalid character found ${d3(p4[0])}`); + e2.push({ name: l, required: o2, spread: f3 }); } - return e3; + return e2; } -function b3(t2, e3, r3, n2) { - for (let a4 = 0; a4 < e3.length; a4 += 1) { - const { name: i3, required: s2, spread: o3 } = e3[a4], l3 = S2(i3); - if (l3 in t2) - throw new Error(`Invalid parameter: ${d3(i3)} is used more than once.`); - const f4 = o3 ? r3.slice(a4) : r3[a4]; - if (o3 && (a4 = e3.length), s2 && (!f4 || o3 && f4.length === 0)) - return console.error(`Error: Missing required parameter ${d3(i3)} -`), n2(), process.exit(1); - t2[l3] = f4; +function b3(t, e2, r2, n) { + for (let a2 = 0; a2 < e2.length; a2 += 1) { + const { name: i2, required: s, spread: o2 } = e2[a2], l = S2(i2); + if (l in t) + throw new Error(`Invalid parameter: ${d3(i2)} is used more than once.`); + const f3 = o2 ? r2.slice(a2) : r2[a2]; + if (o2 && (a2 = e2.length), s && (!f3 || o2 && f3.length === 0)) + return console.error(`Error: Missing required parameter ${d3(i2)} +`), n(), process.exit(1); + t[l] = f3; } } -function W2(t2) { - return t2 === void 0 || t2 !== false; +function W2(t) { + return t === void 0 || t !== false; } -function x2(t2, e3, r3, n2) { - const a4 = { ...e3.flags }, i3 = e3.version; - i3 && (a4.version = { type: Boolean, description: "Show version" }); - const { help: s2 } = e3, o3 = W2(s2); - o3 && !("help" in a4) && (a4.help = { type: Boolean, alias: "h", description: "Show help" }); - const l3 = U(a4, n2, { ignore: e3.ignoreArgv }), f4 = () => { - console.log(e3.version); +function x2(t, e2, r2, n) { + const a2 = { ...e2.flags }, i2 = e2.version; + i2 && (a2.version = { type: Boolean, description: "Show version" }); + const { help: s } = e2, o2 = W2(s); + o2 && !("help" in a2) && (a2.help = { type: Boolean, alias: "h", description: "Show help" }); + const l = U(a2, n, { ignore: e2.ignoreArgv }), f3 = () => { + console.log(e2.version); }; - if (i3 && l3.flags.version === true) - return f4(), process.exit(0); - const p4 = new M2(), O5 = o3 && s2?.render ? s2.render : (c3) => p4.render(c3), u3 = (c3) => { - const m5 = U3({ ...e3, ...c3 ? { help: c3 } : {}, flags: a4 }); - console.log(O5(m5, p4)); + if (i2 && l.flags.version === true) + return f3(), process.exit(0); + const p4 = new M2(), O4 = o2 && s?.render ? s.render : (c3) => p4.render(c3), u2 = (c3) => { + const m4 = U3({ ...e2, ...c3 ? { help: c3 } : {}, flags: a2 }); + console.log(O4(m4, p4)); }; - if (o3 && l3.flags.help === true) - return u3(), process.exit(0); - if (e3.parameters) { - let { parameters: c3 } = e3, m5 = l3._; - const g4 = c3.indexOf("--"), v5 = c3.slice(g4 + 1), h4 = /* @__PURE__ */ Object.create(null); - if (g4 > -1 && v5.length > 0) { - c3 = c3.slice(0, g4); - const E4 = l3._["--"]; - m5 = m5.slice(0, -E4.length || void 0), b3(h4, w3(c3), m5, u3), b3(h4, w3(v5), E4, u3); + if (o2 && l.flags.help === true) + return u2(), process.exit(0); + if (e2.parameters) { + let { parameters: c3 } = e2, m4 = l._; + const g3 = c3.indexOf("--"), v4 = c3.slice(g3 + 1), h4 = /* @__PURE__ */ Object.create(null); + if (g3 > -1 && v4.length > 0) { + c3 = c3.slice(0, g3); + const E3 = l._["--"]; + m4 = m4.slice(0, -E3.length || void 0), b3(h4, w3(c3), m4, u2), b3(h4, w3(v4), E3, u2); } else - b3(h4, w3(c3), m5, u3); - Object.assign(l3._, h4); + b3(h4, w3(c3), m4, u2); + Object.assign(l._, h4); } - const $6 = { ...l3, showVersion: f4, showHelp: u3 }; - return typeof r3 == "function" && r3($6), { command: t2, ...$6 }; + const $4 = { ...l, showVersion: f3, showHelp: u2 }; + return typeof r2 == "function" && r2($4), { command: t, ...$4 }; } -function z2(t2, e3) { - const r3 = /* @__PURE__ */ new Map(); - for (const n2 of e3) { - const a4 = [n2.options.name], { alias: i3 } = n2.options; - i3 && (Array.isArray(i3) ? a4.push(...i3) : a4.push(i3)); - for (const s2 of a4) { - if (r3.has(s2)) - throw new Error(`Duplicate command name found: ${d3(s2)}`); - r3.set(s2, n2); +function z2(t, e2) { + const r2 = /* @__PURE__ */ new Map(); + for (const n of e2) { + const a2 = [n.options.name], { alias: i2 } = n.options; + i2 && (Array.isArray(i2) ? a2.push(...i2) : a2.push(i2)); + for (const s of a2) { + if (r2.has(s)) + throw new Error(`Duplicate command name found: ${d3(s)}`); + r2.set(s, n); } } - return r3.get(t2); + return r2.get(t); } -function Z2(t2, e3, r3 = process.argv.slice(2)) { - if (!t2) +function Z2(t, e2, r2 = process.argv.slice(2)) { + if (!t) throw new Error("Options is required"); - if ("name" in t2 && (!t2.name || !y2.test(t2.name))) - throw new Error(`Invalid script name: ${d3(t2.name)}`); - const n2 = r3[0]; - if (t2.commands && y2.test(n2)) { - const a4 = z2(n2, t2.commands); - if (a4) - return x2(a4.options.name, { ...a4.options, parent: t2 }, a4.callback, r3.slice(1)); + if ("name" in t && (!t.name || !y2.test(t.name))) + throw new Error(`Invalid script name: ${d3(t.name)}`); + const n = r2[0]; + if (t.commands && y2.test(n)) { + const a2 = z2(n, t.commands); + if (a2) + return x2(a2.options.name, { ...a2.options, parent: t }, a2.callback, r2.slice(1)); } - return x2(void 0, t2, e3, r3); + return x2(void 0, t, e2, r2); } -function G3(t2, e3) { - if (!t2) +function G3(t, e2) { + if (!t) throw new Error("Command options are required"); - const { name: r3 } = t2; - if (t2.name === void 0) + const { name: r2 } = t; + if (t.name === void 0) throw new Error("Command name is required"); - if (!y2.test(r3)) - throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); - return { options: t2, callback: e3 }; + if (!y2.test(r2)) + throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); + return { options: t, callback: e2 }; } // package.json var package_default = { name: "opencommit", - version: "3.0.14", + version: "3.0.12", description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}", keywords: [ "git", @@ -26983,29 +16431,19 @@ var package_default = { "build:push": "npm run build && git add . && git commit -m 'build' && git push", deploy: "npm version patch && npm run build:push && git push --tags && npm publish --tag latest", lint: "eslint src --ext ts && tsc --noEmit", - format: "prettier --write src", - "test:all": "npm run test:unit:docker && npm run test:e2e:docker", - "test:docker-build": "docker build -t oco-test -f test/Dockerfile .", - "test:unit": "NODE_OPTIONS=--experimental-vm-modules jest test/unit", - "test:unit:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:unit", - "test:e2e": "jest test/e2e", - "test:e2e:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:e2e" + format: "prettier --write src" }, devDependencies: { "@commitlint/types": "^17.4.4", "@types/ini": "^1.3.31", "@types/inquirer": "^9.0.3", - "@types/jest": "^29.5.12", "@types/node": "^16.18.14", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", - "cli-testing-library": "^2.0.2", dotenv: "^16.0.3", esbuild: "^0.15.18", eslint: "^8.28.0", - jest: "^29.7.0", prettier: "^2.8.4", - "ts-jest": "^29.1.2", "ts-node": "^10.9.1", typescript: "^4.9.3" }, @@ -27013,7 +16451,6 @@ var package_default = { "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", - "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", "@octokit/webhooks-schemas": "^6.11.0", @@ -27282,7 +16719,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -27512,13 +16949,13 @@ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 }); var source_default = chalk; // node_modules/execa/index.js -var import_node_buffer2 = require("node:buffer"); +var import_node_buffer = require("node:buffer"); var import_node_path2 = __toESM(require("node:path"), 1); -var import_node_child_process3 = __toESM(require("node:child_process"), 1); -var import_node_process5 = __toESM(require("node:process"), 1); +var import_node_child_process = __toESM(require("node:child_process"), 1); +var import_node_process3 = __toESM(require("node:process"), 1); var import_cross_spawn = __toESM(require_cross_spawn(), 1); -// node_modules/execa/node_modules/strip-final-newline/index.js +// node_modules/strip-final-newline/index.js function stripFinalNewline(input) { const LF = typeof input === "string" ? "\n" : "\n".charCodeAt(); const CR = typeof input === "string" ? "\r" : "\r".charCodeAt(); @@ -27534,7 +16971,7 @@ function stripFinalNewline(input) { // node_modules/npm-run-path/index.js var import_node_process2 = __toESM(require("node:process"), 1); var import_node_path = __toESM(require("node:path"), 1); -var import_node_url = require("node:url"); +var import_node_url = __toESM(require("node:url"), 1); // node_modules/npm-run-path/node_modules/path-key/index.js function pathKey(options = {}) { @@ -27549,43 +16986,31 @@ function pathKey(options = {}) { } // node_modules/npm-run-path/index.js -var npmRunPath = ({ - cwd = import_node_process2.default.cwd(), - path: pathOption = import_node_process2.default.env[pathKey()], - preferLocal = true, - execPath = import_node_process2.default.execPath, - addExecPath = true -} = {}) => { - const cwdString = cwd instanceof URL ? (0, import_node_url.fileURLToPath)(cwd) : cwd; - const cwdPath = import_node_path.default.resolve(cwdString); - const result = []; - if (preferLocal) { - applyPreferLocal(result, cwdPath); - } - if (addExecPath) { - applyExecPath(result, execPath, cwdPath); - } - return [...result, pathOption].join(import_node_path.default.delimiter); -}; -var applyPreferLocal = (result, cwdPath) => { +function npmRunPath(options = {}) { + const { + cwd = import_node_process2.default.cwd(), + path: path_ = import_node_process2.default.env[pathKey()], + execPath = import_node_process2.default.execPath + } = options; let previous; + const cwdString = cwd instanceof URL ? import_node_url.default.fileURLToPath(cwd) : cwd; + let cwdPath = import_node_path.default.resolve(cwdString); + const result = []; while (previous !== cwdPath) { result.push(import_node_path.default.join(cwdPath, "node_modules/.bin")); previous = cwdPath; cwdPath = import_node_path.default.resolve(cwdPath, ".."); } -}; -var applyExecPath = (result, execPath, cwdPath) => { - const execPathString = execPath instanceof URL ? (0, import_node_url.fileURLToPath)(execPath) : execPath; - result.push(import_node_path.default.resolve(cwdPath, execPathString, "..")); -}; -var npmRunPathEnv = ({ env: env2 = import_node_process2.default.env, ...options } = {}) => { + result.push(import_node_path.default.resolve(cwdString, execPath, "..")); + return [...result, path_].join(import_node_path.default.delimiter); +} +function npmRunPathEnv({ env: env2 = import_node_process2.default.env, ...options } = {}) { env2 = { ...env2 }; - const pathName = pathKey({ env: env2 }); - options.path = env2[pathName]; - env2[pathName] = npmRunPath(options); + const path5 = pathKey({ env: env2 }); + options.path = env2[path5]; + env2[path5] = npmRunPath(options); return env2; -}; +} // node_modules/mimic-fn/index.js var copyProperty = (to, from, property, ignoreNonConfigurable) => { @@ -27663,24 +17088,23 @@ onetime.callCount = (function_) => { }; var onetime_default = onetime; -// node_modules/execa/lib/error.js -var import_node_process3 = __toESM(require("node:process"), 1); - // node_modules/human-signals/build/src/main.js var import_node_os3 = require("node:os"); // node_modules/human-signals/build/src/realtime.js -var getRealtimeSignals = () => { +var getRealtimeSignals = function() { const length = SIGRTMAX - SIGRTMIN + 1; return Array.from({ length }, getRealtimeSignal); }; -var getRealtimeSignal = (value, index) => ({ - name: `SIGRT${index + 1}`, - number: SIGRTMIN + index, - action: "terminate", - description: "Application-specific signal (realtime)", - standard: "posix" -}); +var getRealtimeSignal = function(value, index) { + return { + name: `SIGRT${index + 1}`, + number: SIGRTMIN + index, + action: "terminate", + description: "Application-specific signal (realtime)", + standard: "posix" + }; +}; var SIGRTMIN = 34; var SIGRTMAX = 64; @@ -27961,19 +17385,19 @@ var SIGNALS = [ ]; // node_modules/human-signals/build/src/signals.js -var getSignals = () => { +var getSignals = function() { const realtimeSignals = getRealtimeSignals(); const signals = [...SIGNALS, ...realtimeSignals].map(normalizeSignal); return signals; }; -var normalizeSignal = ({ +var normalizeSignal = function({ name, number: defaultNumber, description, action, forced = false, standard -}) => { +}) { const { signals: { [name]: constantSignal } } = import_node_os2.constants; @@ -27983,11 +17407,11 @@ var normalizeSignal = ({ }; // node_modules/human-signals/build/src/main.js -var getSignalsByName = () => { +var getSignalsByName = function() { const signals = getSignals(); return Object.fromEntries(signals.map(getSignalByName)); }; -var getSignalByName = ({ +var getSignalByName = function({ name, number, description, @@ -27995,15 +17419,20 @@ var getSignalByName = ({ action, forced, standard -}) => [name, { name, number, description, supported, action, forced, standard }]; +}) { + return [ + name, + { name, number, description, supported, action, forced, standard } + ]; +}; var signalsByName = getSignalsByName(); -var getSignalsByNumber = () => { +var getSignalsByNumber = function() { const signals = getSignals(); const length = SIGRTMAX + 1; const signalsA = Array.from({ length }, (value, number) => getSignalByNumber(number, signals)); return Object.assign({}, ...signalsA); }; -var getSignalByNumber = (number, signals) => { +var getSignalByNumber = function(number, signals) { const signal = findSignalByNumber(number, signals); if (signal === void 0) { return {}; @@ -28021,7 +17450,7 @@ var getSignalByNumber = (number, signals) => { } }; }; -var findSignalByNumber = (number, signals) => { +var findSignalByNumber = function(number, signals) { const signal = signals.find(({ name }) => import_node_os3.constants.signals[name] === number); if (signal !== void 0) { return signal; @@ -28056,19 +17485,19 @@ var makeError = ({ error, signal, exitCode, - command: command3, + command: command2, escapedCommand, timedOut, isCanceled, killed, - parsed: { options: { timeout, cwd = import_node_process3.default.cwd() } } + parsed: { options: { timeout } } }) => { exitCode = exitCode === null ? void 0 : exitCode; signal = signal === null ? void 0 : signal; const signalDescription = signal === void 0 ? void 0 : signalsByName[signal].description; const errorCode = error && error.code; const prefix = getErrorPrefix({ timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled }); - const execaMessage = `Command ${prefix}: ${command3}`; + const execaMessage = `Command ${prefix}: ${command2}`; const isError = Object.prototype.toString.call(error) === "[object Error]"; const shortMessage = isError ? `${execaMessage} ${error.message}` : execaMessage; @@ -28080,14 +17509,13 @@ ${error.message}` : execaMessage; error = new Error(message); } error.shortMessage = shortMessage; - error.command = command3; + error.command = command2; error.escapedCommand = escapedCommand; error.exitCode = exitCode; error.signal = signal; error.signalDescription = signalDescription; error.stdout = stdout; error.stderr = stderr; - error.cwd = cwd; if (all3 !== void 0) { error.all = all3; } @@ -28139,11 +17567,11 @@ var setKillTimeout = (kill, signal, options, killResult) => { return; } const timeout = getForceKillAfterTimeout(options); - const t2 = setTimeout(() => { + const t = setTimeout(() => { kill("SIGKILL"); }, timeout); - if (t2.unref) { - t2.unref(); + if (t.unref) { + t.unref(); } }; var shouldForceKill = (signal, { forceKillAfterTimeout }, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult; @@ -28199,82 +17627,15 @@ var setExitHandler = async (spawned, { cleanup, detached }, timedPromise) => { }); }; -// node_modules/execa/lib/pipe.js -var import_node_fs = require("node:fs"); -var import_node_child_process = require("node:child_process"); - // node_modules/is-stream/index.js function isStream(stream4) { return stream4 !== null && typeof stream4 === "object" && typeof stream4.pipe === "function"; } -function isWritableStream(stream4) { - return isStream(stream4) && stream4.writable !== false && typeof stream4._write === "function" && typeof stream4._writableState === "object"; -} - -// node_modules/execa/lib/pipe.js -var isExecaChildProcess = (target) => target instanceof import_node_child_process.ChildProcess && typeof target.then === "function"; -var pipeToTarget = (spawned, streamName, target) => { - if (typeof target === "string") { - spawned[streamName].pipe((0, import_node_fs.createWriteStream)(target)); - return spawned; - } - if (isWritableStream(target)) { - spawned[streamName].pipe(target); - return spawned; - } - if (!isExecaChildProcess(target)) { - throw new TypeError("The second argument must be a string, a stream or an Execa child process."); - } - if (!isWritableStream(target.stdin)) { - throw new TypeError("The target child process's stdin must be available."); - } - spawned[streamName].pipe(target.stdin); - return target; -}; -var addPipeMethods = (spawned) => { - if (spawned.stdout !== null) { - spawned.pipeStdout = pipeToTarget.bind(void 0, spawned, "stdout"); - } - if (spawned.stderr !== null) { - spawned.pipeStderr = pipeToTarget.bind(void 0, spawned, "stderr"); - } - if (spawned.all !== void 0) { - spawned.pipeAll = pipeToTarget.bind(void 0, spawned, "all"); - } -}; // node_modules/execa/lib/stream.js -var import_node_fs2 = require("node:fs"); var import_get_stream = __toESM(require_get_stream(), 1); var import_merge_stream = __toESM(require_merge_stream(), 1); -var validateInputOptions = (input) => { - if (input !== void 0) { - throw new TypeError("The `input` and `inputFile` options cannot be both set."); - } -}; -var getInputSync = ({ input, inputFile }) => { - if (typeof inputFile !== "string") { - return input; - } - validateInputOptions(input); - return (0, import_node_fs2.readFileSync)(inputFile); -}; -var handleInputSync = (options) => { - const input = getInputSync(options); - if (isStream(input)) { - throw new TypeError("The `input` option cannot be a stream in sync mode"); - } - return input; -}; -var getInput = ({ input, inputFile }) => { - if (typeof inputFile !== "string") { - return input; - } - validateInputOptions(input); - return (0, import_node_fs2.createReadStream)(inputFile); -}; -var handleInput = (spawned, options) => { - const input = getInput(options); +var handleInput = (spawned, input) => { if (input === void 0) { return; } @@ -28345,6 +17706,7 @@ var mergePromise = (spawned, promise) => { const value = typeof promise === "function" ? (...args) => Reflect.apply(descriptor.value, promise(), args) : descriptor.value.bind(promise); Reflect.defineProperty(spawned, property, { ...descriptor, value }); } + return spawned; }; var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { spawned.on("exit", (exitCode, signal) => { @@ -28361,8 +17723,6 @@ var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { }); // node_modules/execa/lib/command.js -var import_node_buffer = require("node:buffer"); -var import_node_child_process2 = require("node:child_process"); var normalizeArgs = (file, args = []) => { if (!Array.isArray(args)) { return [file]; @@ -28379,80 +17739,11 @@ var escapeArg = (arg) => { }; var joinCommand = (file, args) => normalizeArgs(file, args).join(" "); var getEscapedCommand = (file, args) => normalizeArgs(file, args).map((arg) => escapeArg(arg)).join(" "); -var SPACES_REGEXP = / +/g; -var parseExpression = (expression) => { - const typeOfExpression = typeof expression; - if (typeOfExpression === "string") { - return expression; - } - if (typeOfExpression === "number") { - return String(expression); - } - if (typeOfExpression === "object" && expression !== null && !(expression instanceof import_node_child_process2.ChildProcess) && "stdout" in expression) { - const typeOfStdout = typeof expression.stdout; - if (typeOfStdout === "string") { - return expression.stdout; - } - if (import_node_buffer.Buffer.isBuffer(expression.stdout)) { - return expression.stdout.toString(); - } - throw new TypeError(`Unexpected "${typeOfStdout}" stdout in template expression`); - } - throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`); -}; -var concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0 ? [...tokens, ...nextTokens] : [ - ...tokens.slice(0, -1), - `${tokens[tokens.length - 1]}${nextTokens[0]}`, - ...nextTokens.slice(1) -]; -var parseTemplate = ({ templates, expressions, tokens, index, template }) => { - const templateString = template ?? templates.raw[index]; - const templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean); - const newTokens = concatTokens( - tokens, - templateTokens, - templateString.startsWith(" ") - ); - if (index === expressions.length) { - return newTokens; - } - const expression = expressions[index]; - const expressionTokens = Array.isArray(expression) ? expression.map((expression2) => parseExpression(expression2)) : [parseExpression(expression)]; - return concatTokens( - newTokens, - expressionTokens, - templateString.endsWith(" ") - ); -}; -var parseTemplates = (templates, expressions) => { - let tokens = []; - for (const [index, template] of templates.entries()) { - tokens = parseTemplate({ templates, expressions, tokens, index, template }); - } - return tokens; -}; - -// node_modules/execa/lib/verbose.js -var import_node_util = require("node:util"); -var import_node_process4 = __toESM(require("node:process"), 1); -var verboseDefault = (0, import_node_util.debuglog)("execa").enabled; -var padField = (field, padding) => String(field).padStart(padding, "0"); -var getTimestamp = () => { - const date = new Date(); - return `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`; -}; -var logCommand = (escapedCommand, { verbose }) => { - if (!verbose) { - return; - } - import_node_process4.default.stderr.write(`[${getTimestamp()}] ${escapedCommand} -`); -}; // node_modules/execa/index.js var DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100; var getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => { - const env2 = extendEnv ? { ...import_node_process5.default.env, ...envOption } : envOption; + const env2 = extendEnv ? { ...import_node_process3.default.env, ...envOption } : envOption; if (preferLocal) { return npmRunPathEnv({ env: env2, cwd: localDir, execPath }); } @@ -28469,25 +17760,24 @@ var handleArguments = (file, args, options = {}) => { stripFinalNewline: true, extendEnv: true, preferLocal: false, - localDir: options.cwd || import_node_process5.default.cwd(), - execPath: import_node_process5.default.execPath, + localDir: options.cwd || import_node_process3.default.cwd(), + execPath: import_node_process3.default.execPath, encoding: "utf8", reject: true, cleanup: true, all: false, windowsHide: true, - verbose: verboseDefault, ...options }; options.env = getEnv(options); options.stdio = normalizeStdio(options); - if (import_node_process5.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { + if (import_node_process3.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { args.unshift("/q"); } return { file, args, options, parsed }; }; var handleOutput = (options, value, error) => { - if (typeof value !== "string" && !import_node_buffer2.Buffer.isBuffer(value)) { + if (typeof value !== "string" && !import_node_buffer.Buffer.isBuffer(value)) { return error === void 0 ? void 0 : ""; } if (options.stripFinalNewline) { @@ -28497,29 +17787,27 @@ var handleOutput = (options, value, error) => { }; function execa(file, args, options) { const parsed = handleArguments(file, args, options); - const command3 = joinCommand(file, args); + const command2 = joinCommand(file, args); const escapedCommand = getEscapedCommand(file, args); - logCommand(escapedCommand, parsed.options); validateTimeout(parsed.options); let spawned; try { - spawned = import_node_child_process3.default.spawn(parsed.file, parsed.args, parsed.options); + spawned = import_node_child_process.default.spawn(parsed.file, parsed.args, parsed.options); } catch (error) { - const dummySpawned = new import_node_child_process3.default.ChildProcess(); + const dummySpawned = new import_node_child_process.default.ChildProcess(); const errorPromise = Promise.reject(makeError({ error, stdout: "", stderr: "", all: "", - command: command3, + command: command2, escapedCommand, parsed, timedOut: false, isCanceled: false, killed: false })); - mergePromise(dummySpawned, errorPromise); - return dummySpawned; + return mergePromise(dummySpawned, errorPromise); } const spawnedPromise = getSpawnedPromise(spawned); const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise); @@ -28540,7 +17828,7 @@ function execa(file, args, options) { stdout, stderr, all: all3, - command: command3, + command: command2, escapedCommand, parsed, timedOut, @@ -28553,7 +17841,7 @@ function execa(file, args, options) { throw returnedError; } return { - command: command3, + command: command2, escapedCommand, exitCode: 0, stdout, @@ -28566,429 +17854,341 @@ function execa(file, args, options) { }; }; const handlePromiseOnce = onetime_default(handlePromise); - handleInput(spawned, parsed.options); + handleInput(spawned, parsed.options.input); spawned.all = makeAllStream(spawned, parsed.options); - addPipeMethods(spawned); - mergePromise(spawned, handlePromiseOnce); - return spawned; + return mergePromise(spawned, handlePromiseOnce); } -function execaSync(file, args, options) { - const parsed = handleArguments(file, args, options); - const command3 = joinCommand(file, args); - const escapedCommand = getEscapedCommand(file, args); - logCommand(escapedCommand, parsed.options); - const input = handleInputSync(parsed.options); - let result; - try { - result = import_node_child_process3.default.spawnSync(parsed.file, parsed.args, { ...parsed.options, input }); - } catch (error) { - throw makeError({ - error, - stdout: "", - stderr: "", - all: "", - command: command3, - escapedCommand, - parsed, - timedOut: false, - isCanceled: false, - killed: false - }); - } - const stdout = handleOutput(parsed.options, result.stdout, result.error); - const stderr = handleOutput(parsed.options, result.stderr, result.error); - if (result.error || result.status !== 0 || result.signal !== null) { - const error = makeError({ - stdout, - stderr, - error: result.error, - signal: result.signal, - exitCode: result.status, - command: command3, - escapedCommand, - parsed, - timedOut: result.error && result.error.code === "ETIMEDOUT", - isCanceled: false, - killed: result.signal !== null - }); - if (!parsed.options.reject) { - return error; - } - throw error; - } - return { - command: command3, - escapedCommand, - exitCode: 0, - stdout, - stderr, - failed: false, - timedOut: false, - isCanceled: false, - killed: false - }; -} -var normalizeScriptStdin = ({ input, inputFile, stdio }) => input === void 0 && inputFile === void 0 && stdio === void 0 ? { stdin: "inherit" } : {}; -var normalizeScriptOptions = (options = {}) => ({ - preferLocal: true, - ...normalizeScriptStdin(options), - ...options -}); -function create$(options) { - function $6(templatesOrOptions, ...expressions) { - if (!Array.isArray(templatesOrOptions)) { - return create$({ ...options, ...templatesOrOptions }); - } - const [file, ...args] = parseTemplates(templatesOrOptions, expressions); - return execa(file, args, normalizeScriptOptions(options)); - } - $6.sync = (templates, ...expressions) => { - if (!Array.isArray(templates)) { - throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`."); - } - const [file, ...args] = parseTemplates(templates, expressions); - return execaSync(file, args, normalizeScriptOptions(options)); - }; - return $6; -} -var $3 = create$(); // node_modules/@clack/core/dist/index.mjs var import_sisteransi = __toESM(require_src(), 1); -var import_node_process6 = require("node:process"); +var import_node_process4 = require("node:process"); var f = __toESM(require("node:readline"), 1); var import_node_readline = __toESM(require("node:readline"), 1); var import_node_tty2 = require("node:tty"); -function q3({ onlyFirst: t2 = false } = {}) { - const u3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(u3, t2 ? void 0 : "g"); +function z3({ onlyFirst: t = false } = {}) { + const u2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(u2, t ? void 0 : "g"); } -function S3(t2) { - if (typeof t2 != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof t2}\``); - return t2.replace(q3(), ""); +function $3(t) { + if (typeof t != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``); + return t.replace(z3(), ""); } -function j2(t2) { - return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; -} -var M3 = { exports: {} }; -(function(t2) { - var u3 = {}; - t2.exports = u3, u3.eastAsianWidth = function(e3) { - var s2 = e3.charCodeAt(0), C5 = e3.length == 2 ? e3.charCodeAt(1) : 0, D5 = s2; - return 55296 <= s2 && s2 <= 56319 && 56320 <= C5 && C5 <= 57343 && (s2 &= 1023, C5 &= 1023, D5 = s2 << 10 | C5, D5 += 65536), D5 == 12288 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 ? "F" : D5 == 8361 || 65377 <= D5 && D5 <= 65470 || 65474 <= D5 && D5 <= 65479 || 65482 <= D5 && D5 <= 65487 || 65490 <= D5 && D5 <= 65495 || 65498 <= D5 && D5 <= 65500 || 65512 <= D5 && D5 <= 65518 ? "H" : 4352 <= D5 && D5 <= 4447 || 4515 <= D5 && D5 <= 4519 || 4602 <= D5 && D5 <= 4607 || 9001 <= D5 && D5 <= 9002 || 11904 <= D5 && D5 <= 11929 || 11931 <= D5 && D5 <= 12019 || 12032 <= D5 && D5 <= 12245 || 12272 <= D5 && D5 <= 12283 || 12289 <= D5 && D5 <= 12350 || 12353 <= D5 && D5 <= 12438 || 12441 <= D5 && D5 <= 12543 || 12549 <= D5 && D5 <= 12589 || 12593 <= D5 && D5 <= 12686 || 12688 <= D5 && D5 <= 12730 || 12736 <= D5 && D5 <= 12771 || 12784 <= D5 && D5 <= 12830 || 12832 <= D5 && D5 <= 12871 || 12880 <= D5 && D5 <= 13054 || 13056 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42124 || 42128 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 55216 <= D5 && D5 <= 55238 || 55243 <= D5 && D5 <= 55291 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65106 || 65108 <= D5 && D5 <= 65126 || 65128 <= D5 && D5 <= 65131 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127490 || 127504 <= D5 && D5 <= 127546 || 127552 <= D5 && D5 <= 127560 || 127568 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 194367 || 177984 <= D5 && D5 <= 196605 || 196608 <= D5 && D5 <= 262141 ? "W" : 32 <= D5 && D5 <= 126 || 162 <= D5 && D5 <= 163 || 165 <= D5 && D5 <= 166 || D5 == 172 || D5 == 175 || 10214 <= D5 && D5 <= 10221 || 10629 <= D5 && D5 <= 10630 ? "Na" : D5 == 161 || D5 == 164 || 167 <= D5 && D5 <= 168 || D5 == 170 || 173 <= D5 && D5 <= 174 || 176 <= D5 && D5 <= 180 || 182 <= D5 && D5 <= 186 || 188 <= D5 && D5 <= 191 || D5 == 198 || D5 == 208 || 215 <= D5 && D5 <= 216 || 222 <= D5 && D5 <= 225 || D5 == 230 || 232 <= D5 && D5 <= 234 || 236 <= D5 && D5 <= 237 || D5 == 240 || 242 <= D5 && D5 <= 243 || 247 <= D5 && D5 <= 250 || D5 == 252 || D5 == 254 || D5 == 257 || D5 == 273 || D5 == 275 || D5 == 283 || 294 <= D5 && D5 <= 295 || D5 == 299 || 305 <= D5 && D5 <= 307 || D5 == 312 || 319 <= D5 && D5 <= 322 || D5 == 324 || 328 <= D5 && D5 <= 331 || D5 == 333 || 338 <= D5 && D5 <= 339 || 358 <= D5 && D5 <= 359 || D5 == 363 || D5 == 462 || D5 == 464 || D5 == 466 || D5 == 468 || D5 == 470 || D5 == 472 || D5 == 474 || D5 == 476 || D5 == 593 || D5 == 609 || D5 == 708 || D5 == 711 || 713 <= D5 && D5 <= 715 || D5 == 717 || D5 == 720 || 728 <= D5 && D5 <= 731 || D5 == 733 || D5 == 735 || 768 <= D5 && D5 <= 879 || 913 <= D5 && D5 <= 929 || 931 <= D5 && D5 <= 937 || 945 <= D5 && D5 <= 961 || 963 <= D5 && D5 <= 969 || D5 == 1025 || 1040 <= D5 && D5 <= 1103 || D5 == 1105 || D5 == 8208 || 8211 <= D5 && D5 <= 8214 || 8216 <= D5 && D5 <= 8217 || 8220 <= D5 && D5 <= 8221 || 8224 <= D5 && D5 <= 8226 || 8228 <= D5 && D5 <= 8231 || D5 == 8240 || 8242 <= D5 && D5 <= 8243 || D5 == 8245 || D5 == 8251 || D5 == 8254 || D5 == 8308 || D5 == 8319 || 8321 <= D5 && D5 <= 8324 || D5 == 8364 || D5 == 8451 || D5 == 8453 || D5 == 8457 || D5 == 8467 || D5 == 8470 || 8481 <= D5 && D5 <= 8482 || D5 == 8486 || D5 == 8491 || 8531 <= D5 && D5 <= 8532 || 8539 <= D5 && D5 <= 8542 || 8544 <= D5 && D5 <= 8555 || 8560 <= D5 && D5 <= 8569 || D5 == 8585 || 8592 <= D5 && D5 <= 8601 || 8632 <= D5 && D5 <= 8633 || D5 == 8658 || D5 == 8660 || D5 == 8679 || D5 == 8704 || 8706 <= D5 && D5 <= 8707 || 8711 <= D5 && D5 <= 8712 || D5 == 8715 || D5 == 8719 || D5 == 8721 || D5 == 8725 || D5 == 8730 || 8733 <= D5 && D5 <= 8736 || D5 == 8739 || D5 == 8741 || 8743 <= D5 && D5 <= 8748 || D5 == 8750 || 8756 <= D5 && D5 <= 8759 || 8764 <= D5 && D5 <= 8765 || D5 == 8776 || D5 == 8780 || D5 == 8786 || 8800 <= D5 && D5 <= 8801 || 8804 <= D5 && D5 <= 8807 || 8810 <= D5 && D5 <= 8811 || 8814 <= D5 && D5 <= 8815 || 8834 <= D5 && D5 <= 8835 || 8838 <= D5 && D5 <= 8839 || D5 == 8853 || D5 == 8857 || D5 == 8869 || D5 == 8895 || D5 == 8978 || 9312 <= D5 && D5 <= 9449 || 9451 <= D5 && D5 <= 9547 || 9552 <= D5 && D5 <= 9587 || 9600 <= D5 && D5 <= 9615 || 9618 <= D5 && D5 <= 9621 || 9632 <= D5 && D5 <= 9633 || 9635 <= D5 && D5 <= 9641 || 9650 <= D5 && D5 <= 9651 || 9654 <= D5 && D5 <= 9655 || 9660 <= D5 && D5 <= 9661 || 9664 <= D5 && D5 <= 9665 || 9670 <= D5 && D5 <= 9672 || D5 == 9675 || 9678 <= D5 && D5 <= 9681 || 9698 <= D5 && D5 <= 9701 || D5 == 9711 || 9733 <= D5 && D5 <= 9734 || D5 == 9737 || 9742 <= D5 && D5 <= 9743 || 9748 <= D5 && D5 <= 9749 || D5 == 9756 || D5 == 9758 || D5 == 9792 || D5 == 9794 || 9824 <= D5 && D5 <= 9825 || 9827 <= D5 && D5 <= 9829 || 9831 <= D5 && D5 <= 9834 || 9836 <= D5 && D5 <= 9837 || D5 == 9839 || 9886 <= D5 && D5 <= 9887 || 9918 <= D5 && D5 <= 9919 || 9924 <= D5 && D5 <= 9933 || 9935 <= D5 && D5 <= 9953 || D5 == 9955 || 9960 <= D5 && D5 <= 9983 || D5 == 10045 || D5 == 10071 || 10102 <= D5 && D5 <= 10111 || 11093 <= D5 && D5 <= 11097 || 12872 <= D5 && D5 <= 12879 || 57344 <= D5 && D5 <= 63743 || 65024 <= D5 && D5 <= 65039 || D5 == 65533 || 127232 <= D5 && D5 <= 127242 || 127248 <= D5 && D5 <= 127277 || 127280 <= D5 && D5 <= 127337 || 127344 <= D5 && D5 <= 127386 || 917760 <= D5 && D5 <= 917999 || 983040 <= D5 && D5 <= 1048573 || 1048576 <= D5 && D5 <= 1114109 ? "A" : "N"; - }, u3.characterLength = function(e3) { - var s2 = this.eastAsianWidth(e3); - return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; +var m3 = {}; +var G4 = { get exports() { + return m3; +}, set exports(t) { + m3 = t; +} }; +(function(t) { + var u2 = {}; + t.exports = u2, u2.eastAsianWidth = function(e2) { + var s = e2.charCodeAt(0), C4 = e2.length == 2 ? e2.charCodeAt(1) : 0, D4 = s; + return 55296 <= s && s <= 56319 && 56320 <= C4 && C4 <= 57343 && (s &= 1023, C4 &= 1023, D4 = s << 10 | C4, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; + }, u2.characterLength = function(e2) { + var s = this.eastAsianWidth(e2); + return s == "F" || s == "W" || s == "A" ? 2 : 1; }; - function F5(e3) { - return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F4(e2) { + return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u3.length = function(e3) { - for (var s2 = F5(e3), C5 = 0, D5 = 0; D5 < s2.length; D5++) - C5 = C5 + this.characterLength(s2[D5]); - return C5; - }, u3.slice = function(e3, s2, C5) { - textLen = u3.length(e3), s2 = s2 || 0, C5 = C5 || 1, s2 < 0 && (s2 = textLen + s2), C5 < 0 && (C5 = textLen + C5); - for (var D5 = "", i3 = 0, n2 = F5(e3), E4 = 0; E4 < n2.length; E4++) { - var h4 = n2[E4], o3 = u3.length(h4); - if (i3 >= s2 - (o3 == 2 ? 1 : 0)) - if (i3 + o3 <= C5) - D5 += h4; + u2.length = function(e2) { + for (var s = F4(e2), C4 = 0, D4 = 0; D4 < s.length; D4++) + C4 = C4 + this.characterLength(s[D4]); + return C4; + }, u2.slice = function(e2, s, C4) { + textLen = u2.length(e2), s = s || 0, C4 = C4 || 1, s < 0 && (s = textLen + s), C4 < 0 && (C4 = textLen + C4); + for (var D4 = "", i2 = 0, o2 = F4(e2), E3 = 0; E3 < o2.length; E3++) { + var a2 = o2[E3], n = u2.length(a2); + if (i2 >= s - (n == 2 ? 1 : 0)) + if (i2 + n <= C4) + D4 += a2; else break; - i3 += o3; + i2 += n; } - return D5; + return D4; }; -})(M3); -var J3 = M3.exports; -var Q2 = j2(J3); -var X2 = function() { +})(G4); +var K3 = m3; +var Y2 = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; -var DD2 = j2(X2); -function A2(t2, u3 = {}) { - if (typeof t2 != "string" || t2.length === 0 || (u3 = { ambiguousIsNarrow: true, ...u3 }, t2 = S3(t2), t2.length === 0)) +function c2(t, u2 = {}) { + if (typeof t != "string" || t.length === 0 || (u2 = { ambiguousIsNarrow: true, ...u2 }, t = $3(t), t.length === 0)) return 0; - t2 = t2.replace(DD2(), " "); - const F5 = u3.ambiguousIsNarrow ? 1 : 2; - let e3 = 0; - for (const s2 of t2) { - const C5 = s2.codePointAt(0); - if (C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879) + t = t.replace(Y2(), " "); + const F4 = u2.ambiguousIsNarrow ? 1 : 2; + let e2 = 0; + for (const s of t) { + const C4 = s.codePointAt(0); + if (C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879) continue; - switch (Q2.eastAsianWidth(s2)) { + switch (K3.eastAsianWidth(s)) { case "F": case "W": - e3 += 2; + e2 += 2; break; case "A": - e3 += F5; + e2 += F4; break; default: - e3 += 1; + e2 += 1; } } - return e3; + return e2; } -var m3 = 10; -var T4 = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; -var P2 = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; -var W3 = (t2 = 0) => (u3, F5, e3) => `\x1B[${38 + t2};2;${u3};${F5};${e3}m`; +var v3 = 10; +var L4 = (t = 0) => (u2) => `\x1B[${u2 + t}m`; +var M3 = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; +var T4 = (t = 0) => (u2, F4, e2) => `\x1B[${38 + t};2;${u2};${F4};${e2}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var uD2 = Object.keys(r.color); -var FD2 = Object.keys(r.bgColor); -[...uD2, ...FD2]; -function tD2() { - const t2 = /* @__PURE__ */ new Map(); - for (const [u3, F5] of Object.entries(r)) { - for (const [e3, s2] of Object.entries(F5)) - r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F5[e3] = r[e3], t2.set(s2[0], s2[1]); - Object.defineProperty(r, u3, { value: F5, enumerable: false }); +var Z3 = Object.keys(r.color); +var H3 = Object.keys(r.bgColor); +[...Z3, ...H3]; +function U4() { + const t = /* @__PURE__ */ new Map(); + for (const [u2, F4] of Object.entries(r)) { + for (const [e2, s] of Object.entries(F4)) + r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F4[e2] = r[e2], t.set(s[0], s[1]); + Object.defineProperty(r, u2, { value: F4, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T4(), r.color.ansi256 = P2(), r.color.ansi16m = W3(), r.bgColor.ansi = T4(m3), r.bgColor.ansi256 = P2(m3), r.bgColor.ansi16m = W3(m3), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F5, e3) => u3 === F5 && F5 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F5 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { - const F5 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); - if (!F5) + return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L4(), r.color.ansi256 = M3(), r.color.ansi16m = T4(), r.bgColor.ansi = L4(v3), r.bgColor.ansi256 = M3(v3), r.bgColor.ansi16m = T4(v3), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F4, e2) => u2 === F4 && F4 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F4 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { + const F4 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); + if (!F4) return [0, 0, 0]; - let [e3] = F5; - e3.length === 3 && (e3 = [...e3].map((C5) => C5 + C5).join("")); - const s2 = Number.parseInt(e3, 16); - return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { - if (u3 < 8) - return 30 + u3; - if (u3 < 16) - return 90 + (u3 - 8); - let F5, e3, s2; - if (u3 >= 232) - F5 = ((u3 - 232) * 10 + 8) / 255, e3 = F5, s2 = F5; + let [e2] = F4; + e2.length === 3 && (e2 = [...e2].map((C4) => C4 + C4).join("")); + const s = Number.parseInt(e2, 16); + return [s >> 16 & 255, s >> 8 & 255, s & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { + if (u2 < 8) + return 30 + u2; + if (u2 < 16) + return 90 + (u2 - 8); + let F4, e2, s; + if (u2 >= 232) + F4 = ((u2 - 232) * 10 + 8) / 255, e2 = F4, s = F4; else { - u3 -= 16; - const i3 = u3 % 36; - F5 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; + u2 -= 16; + const i2 = u2 % 36; + F4 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; } - const C5 = Math.max(F5, e3, s2) * 2; - if (C5 === 0) + const C4 = Math.max(F4, e2, s) * 2; + if (C4 === 0) return 30; - let D5 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F5)); - return C5 === 2 && (D5 += 60), D5; - }, enumerable: false }, rgbToAnsi: { value: (u3, F5, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F5, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; + let D4 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F4)); + return C4 === 2 && (D4 += 60), D4; + }, enumerable: false }, rgbToAnsi: { value: (u2, F4, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F4, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; } -var eD2 = tD2(); -var g2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); -var sD2 = 39; +var q3 = U4(); +var p2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); +var J3 = 39; var b4 = "\x07"; -var O3 = "["; -var CD2 = "]"; +var W3 = "["; +var Q2 = "]"; var I3 = "m"; -var w4 = `${CD2}8;;`; -var N3 = (t2) => `${g2.values().next().value}${O3}${t2}${I3}`; -var L4 = (t2) => `${g2.values().next().value}${w4}${t2}${b4}`; -var iD2 = (t2) => t2.split(" ").map((u3) => A2(u3)); -var y3 = (t2, u3, F5) => { - const e3 = [...u3]; - let s2 = false, C5 = false, D5 = A2(S3(t2[t2.length - 1])); - for (const [i3, n2] of e3.entries()) { - const E4 = A2(n2); - if (D5 + E4 <= F5 ? t2[t2.length - 1] += n2 : (t2.push(n2), D5 = 0), g2.has(n2) && (s2 = true, C5 = e3.slice(i3 + 1).join("").startsWith(w4)), s2) { - C5 ? n2 === b4 && (s2 = false, C5 = false) : n2 === I3 && (s2 = false); +var w4 = `${Q2}8;;`; +var N3 = (t) => `${p2.values().next().value}${W3}${t}${I3}`; +var j2 = (t) => `${p2.values().next().value}${w4}${t}${b4}`; +var X2 = (t) => t.split(" ").map((u2) => c2(u2)); +var _4 = (t, u2, F4) => { + const e2 = [...u2]; + let s = false, C4 = false, D4 = c2($3(t[t.length - 1])); + for (const [i2, o2] of e2.entries()) { + const E3 = c2(o2); + if (D4 + E3 <= F4 ? t[t.length - 1] += o2 : (t.push(o2), D4 = 0), p2.has(o2) && (s = true, C4 = e2.slice(i2 + 1).join("").startsWith(w4)), s) { + C4 ? o2 === b4 && (s = false, C4 = false) : o2 === I3 && (s = false); continue; } - D5 += E4, D5 === F5 && i3 < e3.length - 1 && (t2.push(""), D5 = 0); + D4 += E3, D4 === F4 && i2 < e2.length - 1 && (t.push(""), D4 = 0); } - !D5 && t2[t2.length - 1].length > 0 && t2.length > 1 && (t2[t2.length - 2] += t2.pop()); + !D4 && t[t.length - 1].length > 0 && t.length > 1 && (t[t.length - 2] += t.pop()); }; -var rD2 = (t2) => { - const u3 = t2.split(" "); - let F5 = u3.length; - for (; F5 > 0 && !(A2(u3[F5 - 1]) > 0); ) - F5--; - return F5 === u3.length ? t2 : u3.slice(0, F5).join(" ") + u3.slice(F5).join(""); +var DD2 = (t) => { + const u2 = t.split(" "); + let F4 = u2.length; + for (; F4 > 0 && !(c2(u2[F4 - 1]) > 0); ) + F4--; + return F4 === u2.length ? t : u2.slice(0, F4).join(" ") + u2.slice(F4).join(""); }; -var ED2 = (t2, u3, F5 = {}) => { - if (F5.trim !== false && t2.trim() === "") +var uD2 = (t, u2, F4 = {}) => { + if (F4.trim !== false && t.trim() === "") return ""; - let e3 = "", s2, C5; - const D5 = iD2(t2); - let i3 = [""]; - for (const [E4, h4] of t2.split(" ").entries()) { - F5.trim !== false && (i3[i3.length - 1] = i3[i3.length - 1].trimStart()); - let o3 = A2(i3[i3.length - 1]); - if (E4 !== 0 && (o3 >= u3 && (F5.wordWrap === false || F5.trim === false) && (i3.push(""), o3 = 0), (o3 > 0 || F5.trim === false) && (i3[i3.length - 1] += " ", o3++)), F5.hard && D5[E4] > u3) { - const B3 = u3 - o3, p4 = 1 + Math.floor((D5[E4] - B3 - 1) / u3); - Math.floor((D5[E4] - 1) / u3) < p4 && i3.push(""), y3(i3, h4, u3); + let e2 = "", s, C4; + const D4 = X2(t); + let i2 = [""]; + for (const [E3, a2] of t.split(" ").entries()) { + F4.trim !== false && (i2[i2.length - 1] = i2[i2.length - 1].trimStart()); + let n = c2(i2[i2.length - 1]); + if (E3 !== 0 && (n >= u2 && (F4.wordWrap === false || F4.trim === false) && (i2.push(""), n = 0), (n > 0 || F4.trim === false) && (i2[i2.length - 1] += " ", n++)), F4.hard && D4[E3] > u2) { + const B2 = u2 - n, A3 = 1 + Math.floor((D4[E3] - B2 - 1) / u2); + Math.floor((D4[E3] - 1) / u2) < A3 && i2.push(""), _4(i2, a2, u2); continue; } - if (o3 + D5[E4] > u3 && o3 > 0 && D5[E4] > 0) { - if (F5.wordWrap === false && o3 < u3) { - y3(i3, h4, u3); + if (n + D4[E3] > u2 && n > 0 && D4[E3] > 0) { + if (F4.wordWrap === false && n < u2) { + _4(i2, a2, u2); continue; } - i3.push(""); + i2.push(""); } - if (o3 + D5[E4] > u3 && F5.wordWrap === false) { - y3(i3, h4, u3); + if (n + D4[E3] > u2 && F4.wordWrap === false) { + _4(i2, a2, u2); continue; } - i3[i3.length - 1] += h4; + i2[i2.length - 1] += a2; } - F5.trim !== false && (i3 = i3.map((E4) => rD2(E4))); - const n2 = [...i3.join(` + F4.trim !== false && (i2 = i2.map((E3) => DD2(E3))); + const o2 = [...i2.join(` `)]; - for (const [E4, h4] of n2.entries()) { - if (e3 += h4, g2.has(h4)) { - const { groups: B3 } = new RegExp(`(?:\\${O3}(?<code>\\d+)m|\\${w4}(?<uri>.*)${b4})`).exec(n2.slice(E4).join("")) || { groups: {} }; - if (B3.code !== void 0) { - const p4 = Number.parseFloat(B3.code); - s2 = p4 === sD2 ? void 0 : p4; + for (const [E3, a2] of o2.entries()) { + if (e2 += a2, p2.has(a2)) { + const { groups: B2 } = new RegExp(`(?:\\${W3}(?<code>\\d+)m|\\${w4}(?<uri>.*)${b4})`).exec(o2.slice(E3).join("")) || { groups: {} }; + if (B2.code !== void 0) { + const A3 = Number.parseFloat(B2.code); + s = A3 === J3 ? void 0 : A3; } else - B3.uri !== void 0 && (C5 = B3.uri.length === 0 ? void 0 : B3.uri); + B2.uri !== void 0 && (C4 = B2.uri.length === 0 ? void 0 : B2.uri); } - const o3 = eD2.codes.get(Number(s2)); - n2[E4 + 1] === ` -` ? (C5 && (e3 += L4("")), s2 && o3 && (e3 += N3(o3))) : h4 === ` -` && (s2 && o3 && (e3 += N3(s2)), C5 && (e3 += L4(C5))); + const n = q3.codes.get(Number(s)); + o2[E3 + 1] === ` +` ? (C4 && (e2 += j2("")), s && n && (e2 += N3(n))) : a2 === ` +` && (s && n && (e2 += N3(s)), C4 && (e2 += j2(C4))); } - return e3; + return e2; }; -function R4(t2, u3, F5) { - return String(t2).normalize().replace(/\r\n/g, ` +function P2(t, u2, F4) { + return String(t).normalize().replace(/\r\n/g, ` `).split(` -`).map((e3) => ED2(e3, u3, F5)).join(` +`).map((e2) => uD2(e2, u2, F4)).join(` `); } -var oD2 = Object.defineProperty; -var nD2 = (t2, u3, F5) => u3 in t2 ? oD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; -var a = (t2, u3, F5) => (nD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); -function aD2(t2, u3) { - if (t2 === u3) +function FD2(t, u2) { + if (t === u2) return; - const F5 = t2.split(` -`), e3 = u3.split(` -`), s2 = []; - for (let C5 = 0; C5 < Math.max(F5.length, e3.length); C5++) - F5[C5] !== e3[C5] && s2.push(C5); - return s2; + const F4 = t.split(` +`), e2 = u2.split(` +`), s = []; + for (let C4 = 0; C4 < Math.max(F4.length, e2.length); C4++) + F4[C4] !== e2[C4] && s.push(C4); + return s; } -var V4 = Symbol("clack:cancel"); -function hD2(t2) { - return t2 === V4; +var R4 = Symbol("clack:cancel"); +function eD2(t) { + return t === R4; } -function v3(t2, u3) { - t2.isTTY && t2.setRawMode(u3); +function g2(t, u2) { + t.isTTY && t.setRawMode(u2); } -var z3 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); -var lD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); -var x3 = class { - constructor({ render: u3, input: F5 = import_node_process6.stdin, output: e3 = import_node_process6.stdout, ...s2 }, C5 = true) { - a(this, "input"), a(this, "output"), a(this, "rl"), a(this, "opts"), a(this, "_track", false), a(this, "_render"), a(this, "_cursor", 0), a(this, "state", "initial"), a(this, "value"), a(this, "error", ""), a(this, "subscribers", /* @__PURE__ */ new Map()), a(this, "_prevFrame", ""), this.opts = s2, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u3.bind(this), this._track = C5, this.input = F5, this.output = e3; +var V4 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); +var tD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); +var h2 = class { + constructor({ render: u2, input: F4 = import_node_process4.stdin, output: e2 = import_node_process4.stdout, ...s }, C4 = true) { + this._track = false, this._cursor = 0, this.state = "initial", this.error = "", this.subscribers = /* @__PURE__ */ new Map(), this._prevFrame = "", this.opts = s, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u2.bind(this), this._track = C4, this.input = F4, this.output = e2; } prompt() { - const u3 = new import_node_tty2.WriteStream(0); - return u3._write = (F5, e3, s2) => { - this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s2(); - }, this.input.pipe(u3), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u3, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), v3(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F5, e3) => { + const u2 = new import_node_tty2.WriteStream(0); + return u2._write = (F4, e2, s) => { + this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s(); + }, this.input.pipe(u2), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u2, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), g2(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F4, e2) => { this.once("submit", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(this.value); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(this.value); }), this.once("cancel", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(V4); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(R4); }); }); } - on(u3, F5) { - const e3 = this.subscribers.get(u3) ?? []; - e3.push({ cb: F5 }), this.subscribers.set(u3, e3); + on(u2, F4) { + const e2 = this.subscribers.get(u2) ?? []; + e2.push({ cb: F4 }), this.subscribers.set(u2, e2); } - once(u3, F5) { - const e3 = this.subscribers.get(u3) ?? []; - e3.push({ cb: F5, once: true }), this.subscribers.set(u3, e3); + once(u2, F4) { + const e2 = this.subscribers.get(u2) ?? []; + e2.push({ cb: F4, once: true }), this.subscribers.set(u2, e2); } - emit(u3, ...F5) { - const e3 = this.subscribers.get(u3) ?? [], s2 = []; - for (const C5 of e3) - C5.cb(...F5), C5.once && s2.push(() => e3.splice(e3.indexOf(C5), 1)); - for (const C5 of s2) - C5(); + emit(u2, ...F4) { + const e2 = this.subscribers.get(u2) ?? [], s = []; + for (const C4 of e2) + C4.cb(...F4), C4.once && s.push(() => e2.splice(e2.indexOf(C4), 1)); + for (const C4 of s) + C4(); } unsubscribe() { this.subscribers.clear(); } - onKeypress(u3, F5) { - if (this.state === "error" && (this.state = "active"), F5?.name && !this._track && z3.has(F5.name) && this.emit("cursor", z3.get(F5.name)), F5?.name && lD2.has(F5.name) && this.emit("cursor", F5.name), u3 && (u3.toLowerCase() === "y" || u3.toLowerCase() === "n") && this.emit("confirm", u3.toLowerCase() === "y"), u3 === " " && this.opts.placeholder && (this.value || (this.rl.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u3 && this.emit("key", u3.toLowerCase()), F5?.name === "return") { + onKeypress(u2, F4) { + if (this.state === "error" && (this.state = "active"), F4?.name && !this._track && V4.has(F4.name) && this.emit("cursor", V4.get(F4.name)), F4?.name && tD2.has(F4.name) && this.emit("cursor", F4.name), u2 && (u2.toLowerCase() === "y" || u2.toLowerCase() === "n") && this.emit("confirm", u2.toLowerCase() === "y"), u2 && this.emit("key", u2.toLowerCase()), F4?.name === "return") { if (this.opts.validate) { - const e3 = this.opts.validate(this.value); - e3 && (this.error = e3, this.state = "error", this.rl.write(this.value)); + const e2 = this.opts.validate(this.value); + e2 && (this.error = e2, this.state = "error", this.rl.write(this.value)); } this.state !== "error" && (this.state = "submit"); } - u3 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); + u2 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); } close() { this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(` -`), v3(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); +`), g2(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); } restoreCursor() { - const u3 = R4(this._prevFrame, process.stdout.columns, { hard: true }).split(` + const u2 = P2(this._prevFrame, process.stdout.columns, { hard: true }).split(` `).length - 1; - this.output.write(import_sisteransi.cursor.move(-999, u3 * -1)); + this.output.write(import_sisteransi.cursor.move(-999, u2 * -1)); } render() { - const u3 = R4(this._render(this) ?? "", process.stdout.columns, { hard: true }); - if (u3 !== this._prevFrame) { + const u2 = P2(this._render(this) ?? "", process.stdout.columns, { hard: true }); + if (u2 !== this._prevFrame) { if (this.state === "initial") this.output.write(import_sisteransi.cursor.hide); else { - const F5 = aD2(this._prevFrame, u3); - if (this.restoreCursor(), F5 && F5?.length === 1) { - const e3 = F5[0]; - this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.lines(1)); - const s2 = u3.split(` + const F4 = FD2(this._prevFrame, u2); + if (this.restoreCursor(), F4 && F4?.length === 1) { + const e2 = F4[0]; + this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.lines(1)); + const s = u2.split(` `); - this.output.write(s2[e3]), this._prevFrame = u3, this.output.write(import_sisteransi.cursor.move(0, s2.length - e3 - 1)); + this.output.write(s[e2]), this._prevFrame = u2, this.output.write(import_sisteransi.cursor.move(0, s.length - e2 - 1)); return; - } else if (F5 && F5?.length > 1) { - const e3 = F5[0]; - this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.down()); - const s2 = u3.split(` -`).slice(e3); - this.output.write(s2.join(` -`)), this._prevFrame = u3; + } else if (F4 && F4?.length > 1) { + const e2 = F4[0]; + this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.down()); + const C4 = u2.split(` +`).slice(e2); + this.output.write(C4.join(` +`)), this._prevFrame = u2; return; } this.output.write(import_sisteransi.erase.down()); } - this.output.write(u3), this.state === "initial" && (this.state = "active"), this._prevFrame = u3; + this.output.write(u2), this.state === "initial" && (this.state = "active"), this._prevFrame = u2; } } }; -var xD2 = class extends x3 { +var sD2 = class extends h2 { get cursor() { return this.value ? 0 : 1; } get _value() { return this.cursor === 0; } - constructor(u3) { - super(u3, false), this.value = !!u3.initialValue, this.on("value", () => { + constructor(u2) { + super(u2, false), this.value = !!u2.initialValue, this.on("value", () => { this.value = this._value; - }), this.on("confirm", (F5) => { - this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F5, this.state = "submit", this.close(); + }), this.on("confirm", (F4) => { + this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F4, this.state = "submit", this.close(); }), this.on("cursor", () => { this.value = !this.value; }); } }; -var pD2 = Object.defineProperty; -var fD2 = (t2, u3, F5) => u3 in t2 ? pD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; -var K3 = (t2, u3, F5) => (fD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); -var gD2 = class extends x3 { - constructor(u3) { - super(u3, false), K3(this, "options"), K3(this, "cursor", 0), this.options = u3.options, this.value = [...u3.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F5 }) => F5 === u3.cursorAt), 0), this.on("key", (F5) => { - F5 === "a" && this.toggleAll(); - }), this.on("cursor", (F5) => { - switch (F5) { +var iD2 = class extends h2 { + constructor(u2) { + super(u2, false), this.cursor = 0, this.options = u2.options, this.value = [...u2.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F4 }) => F4 === u2.cursorAt), 0), this.on("key", (F4) => { + F4 === "a" && this.toggleAll(); + }), this.on("cursor", (F4) => { + switch (F4) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -29007,21 +18207,18 @@ var gD2 = class extends x3 { return this.options[this.cursor].value; } toggleAll() { - const u3 = this.value.length === this.options.length; - this.value = u3 ? [] : this.options.map((F5) => F5.value); + const u2 = this.value.length === this.options.length; + this.value = u2 ? [] : this.options.map((F4) => F4.value); } toggleValue() { - const u3 = this.value.includes(this._value); - this.value = u3 ? this.value.filter((F5) => F5 !== this._value) : [...this.value, this._value]; + const u2 = this.value.includes(this._value); + this.value = u2 ? this.value.filter((F4) => F4 !== this._value) : [...this.value, this._value]; } }; -var bD2 = Object.defineProperty; -var wD2 = (t2, u3, F5) => u3 in t2 ? bD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; -var Z3 = (t2, u3, F5) => (wD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); -var yD = class extends x3 { - constructor(u3) { - super(u3, false), Z3(this, "options"), Z3(this, "cursor", 0), this.options = u3.options, this.cursor = this.options.findIndex(({ value: F5 }) => F5 === u3.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F5) => { - switch (F5) { +var ED2 = class extends h2 { + constructor(u2) { + super(u2, false), this.cursor = 0, this.options = u2.options, this.cursor = this.options.findIndex(({ value: F4 }) => F4 === u2.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F4) => { + switch (F4) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -29041,57 +18238,56 @@ var yD = class extends x3 { this.value = this._value.value; } }; -var PD = globalThis.process.platform.startsWith("win"); -function WD({ input: t2 = import_node_process6.stdin, output: u3 = import_node_process6.stdout, overwrite: F5 = true, hideCursor: e3 = true } = {}) { - const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); - const C5 = (D5, { name: i3 }) => { - if (String(D5) === "" && process.exit(0), !F5) +function aD2({ input: t = import_node_process4.stdin, output: u2 = import_node_process4.stdout, overwrite: F4 = true, hideCursor: e2 = true } = {}) { + const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); + const C4 = (D4, { name: i2 }) => { + if (String(D4) === "" && process.exit(0), !F4) return; - let n2 = i3 === "return" ? 0 : -1, E4 = i3 === "return" ? -1 : 0; - f.moveCursor(u3, n2, E4, () => { - f.clearLine(u3, 1, () => { - t2.once("keypress", C5); + let E3 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; + f.moveCursor(u2, E3, a2, () => { + f.clearLine(u2, 1, () => { + t.once("keypress", C4); }); }); }; - return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C5), () => { - t2.off("keypress", C5), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); + return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C4), () => { + t.off("keypress", C4), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); }; } // node_modules/@clack/prompts/dist/index.mjs -var import_node_process7 = __toESM(require("node:process"), 1); +var import_node_process5 = __toESM(require("node:process"), 1); var import_picocolors = __toESM(require_picocolors(), 1); var import_sisteransi2 = __toESM(require_src(), 1); function N4() { - return import_node_process7.default.platform !== "win32" ? import_node_process7.default.env.TERM !== "linux" : Boolean(import_node_process7.default.env.CI) || Boolean(import_node_process7.default.env.WT_SESSION) || Boolean(import_node_process7.default.env.TERMINUS_SUBLIME) || import_node_process7.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process7.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process7.default.env.TERM_PROGRAM === "vscode" || import_node_process7.default.env.TERM === "xterm-256color" || import_node_process7.default.env.TERM === "alacritty" || import_node_process7.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; + return import_node_process5.default.platform !== "win32" ? import_node_process5.default.env.TERM !== "linux" : Boolean(import_node_process5.default.env.CI) || Boolean(import_node_process5.default.env.WT_SESSION) || Boolean(import_node_process5.default.env.TERMINUS_SUBLIME) || import_node_process5.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process5.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process5.default.env.TERM_PROGRAM === "vscode" || import_node_process5.default.env.TERM === "xterm-256color" || import_node_process5.default.env.TERM === "alacritty" || import_node_process5.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } -var p2 = N4(); -var u = (r3, n2) => p2 ? r3 : n2; +var p3 = N4(); +var u = (r2, n) => p3 ? r2 : n; var W4 = u("\u25C6", "*"); var D3 = u("\u25A0", "x"); var F3 = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); var L5 = u("\u250C", "T"); -var a2 = u("\u2502", "|"); +var a = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w5 = u("\u25CF", ">"); var S4 = u("\u25CB", " "); var _5 = u("\u25FB", "[\u2022]"); var y4 = u("\u25FC", "[+]"); -var A3 = u("\u25FB", "[ ]"); +var A2 = u("\u25FB", "[ ]"); var q4 = u("\u25AA", "\u2022"); var R5 = u("\u2500", "-"); -var G4 = u("\u256E", "+"); -var H3 = u("\u251C", "+"); +var G5 = u("\u256E", "+"); +var H4 = u("\u251C", "+"); var K4 = u("\u256F", "+"); var U5 = u("\u25CF", "\u2022"); var Z4 = u("\u25C6", "*"); var z4 = u("\u25B2", "!"); var X3 = u("\u25A0", "x"); -var h2 = (r3) => { - switch (r3) { +var h3 = (r2) => { + switch (r2) { case "initial": case "active": return import_picocolors.default.cyan(W4); @@ -29103,138 +18299,138 @@ var h2 = (r3) => { return import_picocolors.default.green(f2); } }; -var Q3 = (r3) => { - const n2 = r3.active ?? "Yes", s2 = r3.inactive ?? "No"; - return new xD2({ active: n2, inactive: s2, initialValue: r3.initialValue ?? true, render() { - const t2 = `${import_picocolors.default.gray(a2)} -${h2(this.state)} ${r3.message} -`, i3 = this.value ? n2 : s2; +var Q3 = (r2) => { + const n = r2.active ?? "Yes", s = r2.inactive ?? "No"; + return new sD2({ active: n, inactive: s, initialValue: r2.initialValue ?? true, render() { + const t = `${import_picocolors.default.gray(a)} +${h3(this.state)} ${r2.message} +`, i2 = this.value ? n : s; switch (this.state) { case "submit": - return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(i3)}`; + return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(i2)}`; case "cancel": - return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))} -${import_picocolors.default.gray(a2)}`; + return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))} +${import_picocolors.default.gray(a)}`; default: - return `${t2}${import_picocolors.default.cyan(a2)} ${this.value ? `${import_picocolors.default.green(w5)} ${n2}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n2)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s2)}` : `${import_picocolors.default.green(w5)} ${s2}`} + return `${t}${import_picocolors.default.cyan(a)} ${this.value ? `${import_picocolors.default.green(w5)} ${n}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s)}` : `${import_picocolors.default.green(w5)} ${s}`} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var ee = (r3) => { - const n2 = (s2, t2) => { - const i3 = s2.label ?? String(s2.value); - return t2 === "active" ? `${import_picocolors.default.green(w5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i3)}`; +var ee = (r2) => { + const n = (s, t) => { + const i2 = s.label ?? String(s.value); + return t === "active" ? `${import_picocolors.default.green(w5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i2)}`; }; - return new yD({ options: r3.options, initialValue: r3.initialValue, render() { - const s2 = `${import_picocolors.default.gray(a2)} -${h2(this.state)} ${r3.message} + return new ED2({ options: r2.options, initialValue: r2.initialValue, render() { + const s = `${import_picocolors.default.gray(a)} +${h3(this.state)} ${r2.message} `; switch (this.state) { case "submit": - return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "selected")}`; + return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "selected")}`; case "cancel": - return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "cancelled")} -${import_picocolors.default.gray(a2)}`; + return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "cancelled")} +${import_picocolors.default.gray(a)}`; default: - return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => n2(t2, i3 === this.cursor ? "active" : "inactive")).join(` -${import_picocolors.default.cyan(a2)} `)} + return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => n(t, i2 === this.cursor ? "active" : "inactive")).join(` +${import_picocolors.default.cyan(a)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var re = (r3) => { - const n2 = (s2, t2) => { - const i3 = s2.label ?? String(s2.value); - return t2 === "active" ? `${import_picocolors.default.cyan(_5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : t2 === "active-selected" ? `${import_picocolors.default.green(y4)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "submitted" ? `${import_picocolors.default.dim(i3)}` : `${import_picocolors.default.dim(A3)} ${import_picocolors.default.dim(i3)}`; +var re = (r2) => { + const n = (s, t) => { + const i2 = s.label ?? String(s.value); + return t === "active" ? `${import_picocolors.default.cyan(_5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : t === "active-selected" ? `${import_picocolors.default.green(y4)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "submitted" ? `${import_picocolors.default.dim(i2)}` : `${import_picocolors.default.dim(A2)} ${import_picocolors.default.dim(i2)}`; }; - return new gD2({ options: r3.options, initialValues: r3.initialValues, required: r3.required ?? true, cursorAt: r3.cursorAt, validate(s2) { - if (this.required && s2.length === 0) + return new iD2({ options: r2.options, initialValues: r2.initialValues, required: r2.required ?? true, cursorAt: r2.cursorAt, validate(s) { + if (this.required && s.length === 0) return `Please select at least one option. ${import_picocolors.default.reset(import_picocolors.default.dim(`Press ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" space ")))} to select, ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" enter ")))} to submit`))}`; }, render() { - let s2 = `${import_picocolors.default.gray(a2)} -${h2(this.state)} ${r3.message} + let s = `${import_picocolors.default.gray(a)} +${h3(this.state)} ${r2.message} `; switch (this.state) { case "submit": - return `${s2}${import_picocolors.default.gray(a2)} ${this.options.filter(({ value: t2 }) => this.value.includes(t2)).map((t2) => n2(t2, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; + return `${s}${import_picocolors.default.gray(a)} ${this.options.filter(({ value: t }) => this.value.includes(t)).map((t) => n(t, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; case "cancel": { - const t2 = this.options.filter(({ value: i3 }) => this.value.includes(i3)).map((i3) => n2(i3, "cancelled")).join(import_picocolors.default.dim(", ")); - return `${s2}${import_picocolors.default.gray(a2)} ${t2.trim() ? `${t2} -${import_picocolors.default.gray(a2)}` : ""}`; + const t = this.options.filter(({ value: i2 }) => this.value.includes(i2)).map((i2) => n(i2, "cancelled")).join(import_picocolors.default.dim(", ")); + return `${s}${import_picocolors.default.gray(a)} ${t.trim() ? `${t} +${import_picocolors.default.gray(a)}` : ""}`; } case "error": { - const t2 = this.error.split(` -`).map((i3, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i3)}` : ` ${i3}`).join(` + const t = this.error.split(` +`).map((i2, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i2)}` : ` ${i2}`).join(` `); - return s2 + import_picocolors.default.yellow(a2) + " " + this.options.map((i3, c3) => { - const l3 = this.value.includes(i3.value), $6 = c3 === this.cursor; - return $6 && l3 ? n2(i3, "active-selected") : l3 ? n2(i3, "selected") : n2(i3, $6 ? "active" : "inactive"); + return s + import_picocolors.default.yellow(a) + " " + this.options.map((i2, c3) => { + const l = this.value.includes(i2.value), $4 = c3 === this.cursor; + return $4 && l ? n(i2, "active-selected") : l ? n(i2, "selected") : n(i2, $4 ? "active" : "inactive"); }).join(` -${import_picocolors.default.yellow(a2)} `) + ` -` + t2 + ` +${import_picocolors.default.yellow(a)} `) + ` +` + t + ` `; } default: - return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => { - const c3 = this.value.includes(t2.value), l3 = i3 === this.cursor; - return l3 && c3 ? n2(t2, "active-selected") : c3 ? n2(t2, "selected") : n2(t2, l3 ? "active" : "inactive"); + return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => { + const c3 = this.value.includes(t.value), l = i2 === this.cursor; + return l && c3 ? n(t, "active-selected") : c3 ? n(t, "selected") : n(t, l ? "active" : "inactive"); }).join(` -${import_picocolors.default.cyan(a2)} `)} +${import_picocolors.default.cyan(a)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var b5 = (r3) => r3.replace(ue(), ""); -var ie = (r3 = "", n2 = "") => { - const s2 = ` -${r3} +var b5 = (r2) => r2.replace(ue(), ""); +var ie = (r2 = "", n = "") => { + const s = ` +${r2} `.split(` -`), t2 = Math.max(s2.reduce((c3, l3) => (l3 = b5(l3), l3.length > c3 ? l3.length : c3), 0), b5(n2).length) + 2, i3 = s2.map((c3) => `${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(c3)}${" ".repeat(t2 - b5(c3).length)}${import_picocolors.default.gray(a2)}`).join(` +`), t = Math.max(s.reduce((c3, l) => (l = b5(l), l.length > c3 ? l.length : c3), 0), b5(n).length) + 2, i2 = s.map((c3) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c3)}${" ".repeat(t - b5(c3).length)}${import_picocolors.default.gray(a)}`).join(` `); - process.stdout.write(`${import_picocolors.default.gray(a2)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R5.repeat(Math.max(t2 - n2.length - 1, 1)) + G4)} -${i3} -${import_picocolors.default.gray(H3 + R5.repeat(t2 + 2) + K4)} + process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R5.repeat(Math.max(t - n.length - 1, 1)) + G5)} +${i2} +${import_picocolors.default.gray(H4 + R5.repeat(t + 2) + K4)} `); }; -var ae = (r3 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L5)} ${r3} +var ae = (r2 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L5)} ${r2} `); }; -var ce = (r3 = "") => { - process.stdout.write(`${import_picocolors.default.gray(a2)} -${import_picocolors.default.gray(o)} ${r3} +var ce = (r2 = "") => { + process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.gray(o)} ${r2} `); }; -var C3 = p2 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; +var C3 = p3 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r3, n2; - const s2 = p2 ? 80 : 120; - return { start(t2 = "") { - t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a2)} -${import_picocolors.default.magenta("\u25CB")} ${t2} + let r2, n; + const s = p3 ? 80 : 120; + return { start(t = "") { + t = t.replace(/\.?\.?\.$/, ""), r2 = aD2(), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.magenta("\u25CB")} ${t} `); - let i3 = 0, c3 = 0; - n2 = setInterval(() => { - let l3 = C3[i3]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} -`), i3 = i3 === C3.length - 1 ? 0 : i3 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; - }, s2); - }, stop(t2 = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a2)} -${import_picocolors.default.green(f2)} ${t2} -`), r3(); + let i2 = 0, c3 = 0; + n = setInterval(() => { + let l = C3[i2]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} +`), i2 = i2 === C3.length - 1 ? 0 : i2 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; + }, s); + }, stop(t = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.green(f2)} ${t} +`), r2(); } }; }; function ue() { - const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r3, "g"); + const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r2, "g"); } // src/generateCommitMessageFromGitDiff.ts @@ -29453,32 +18649,7 @@ function getI18nLocal(value) { } // src/commands/config.ts -var MODEL_LIST = { - openai: [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-turbo", - "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" - ], - anthropic: [ - "claude-3-haiku-20240307", - "claude-3-sonnet-20240229", - "claude-3-opus-20240229" - ] -}; -var getDefaultModel = (provider3) => { - switch (provider3) { - case "ollama": - return ""; - case "anthropic": - return MODEL_LIST.anthropic[0]; - default: - return MODEL_LIST.openai[0]; - } -}; +dotenv.config(); var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -29488,24 +18659,21 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config9 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { validateConfig( - "OpenAI API_KEY", - value || config9.OCO_ANTHROPIC_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", - "You need to provide an OpenAI/Anthropic API key" + "API_KEY", + value || config8.OCO_AI_PROVIDER.startsWith("ollama"), + "You need to provide an API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value.startsWith("sk-"), 'Must start with "sk-"' ); - return value; - }, - ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config9 = {}) { validateConfig( - "ANTHROPIC_API_KEY", - value || config9.OCO_OPENAI_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", - "You need to provide an OpenAI/Anthropic API key" + "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, + config8["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, + "Must be 51 characters long" ); return value; }, @@ -29576,8 +18744,15 @@ var configValidators = { ["OCO_MODEL" /* OCO_MODEL */](value) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` + [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ].includes(value), + `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` ); return value; }, @@ -29597,25 +18772,11 @@ var configValidators = { ); return value; }, - ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { - validateConfig( - "OCO_GITPUSH" /* OCO_GITPUSH */, - typeof value === "boolean", - "Must be true or false" - ); - return value; - }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, - [ - "", - "openai", - "anthropic", - "ollama", - "test" - ].includes(value), - `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` + ["", "openai", "ollama"].includes(value) || value.startsWith("ollama/"), + `${value} is not supported yet, use 'ollama/{model}', 'ollama' or 'openai' (default)` ); return value; }, @@ -29628,46 +18789,39 @@ var configValidators = { return value; } }; -var defaultConfigPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); -var defaultEnvPath = (0, import_path.resolve)(process.cwd(), ".env"); -var getConfig = ({ - configPath = defaultConfigPath, - envPath = defaultEnvPath -} = {}) => { - dotenv.config({ path: envPath }); +var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); +var getConfig = () => { const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, - OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), + OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", - OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config9 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config9)) { - if (["null", "undefined"].includes(config9[configKey])) { - config9[configKey] = void 0; + const config8 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config8)) { + if (!config8[configKey] || ["null", "undefined"].includes(config8[configKey])) { + config8[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config9[configKey] ?? configFromEnv[configKey], - config9 + config8[configKey] ?? configFromEnv[configKey], + config8 ); - config9[configKey] = validValue; + config8[configKey] = validValue; } catch (error) { ce(`Unknown '${configKey}' config option.`); ce( @@ -29676,10 +18830,10 @@ var getConfig = ({ process.exit(1); } } - return config9; + return config8; }; -var setConfig = (keyValues, configPath = defaultConfigPath) => { - const config9 = getConfig() || {}; +var setConfig = (keyValues) => { + const config8 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -29691,9 +18845,9 @@ var setConfig = (keyValues, configPath = defaultConfigPath) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config9[configKey] = validValue; + config8[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config9), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config8), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; var configCommand = G3( @@ -29704,19 +18858,19 @@ var configCommand = G3( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode3, keyValues } = argv._; - if (mode3 === "get" /* get */) { - const config9 = getConfig() || {}; + const { mode: mode2, keyValues } = argv._; + if (mode2 === "get" /* get */) { + const config8 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config9[key]}`); + ce(`${key}=${config8[key]}`); } - } else if (mode3 === "set" /* set */) { + } else if (mode2 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode3}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -29759,12 +18913,12 @@ var llmReadableRules = { enumRule: (key, applicable, value) => `The ${key} should ${applicable} be one of the following values: - ${Array.isArray(value) ? value.join("\n - ") : value}.`, enumTypeRule: (key, applicable, value, prompt) => `The ${key} should ${applicable} be one of the following values: - - ${Array.isArray(value) ? value.map((v5) => { - const description = getTypeRuleExtraDescription(v5, prompt); + - ${Array.isArray(value) ? value.map((v4) => { + const description = getTypeRuleExtraDescription(v4, prompt); if (description) { - return `${v5} (${description})`; + return `${v4} (${description})`; } else - return v5; + return v4; }).join("\n - ") : value}.`, fullStopRule: (key, applicable, value) => `The ${key} should ${applicable} end with '${value}'.`, maxLengthRule: (key, applicable, value) => `The ${key} should ${applicable} have ${value} characters or less.`, @@ -29817,8 +18971,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config9) => { - const { rules, prompt } = config9; +var inferPromptsFromCommitlintConfig = (config8) => { + const { rules, prompt } = config8; if (!rules) return []; return Object.keys(rules).map( @@ -29924,7 +19078,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e3) { + } catch (e2) { exists = false; } return exists; @@ -29995,8 +19149,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream2 = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - let kind2; - return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); + const pattern = "[object FormData]"; + return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -30004,21 +19158,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i3; - let l3; + let i2; + let l; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { - fn.call(null, obj[i3], i3, obj); + for (i2 = 0, l = obj.length; i2 < l; i2++) { + fn.call(null, obj[i2], i2, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i3 = 0; i3 < len; i3++) { - key = keys[i3]; + for (i2 = 0; i2 < len; i2++) { + key = keys[i2]; fn.call(null, obj[key], key, obj); } } @@ -30026,10 +19180,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i3 = keys.length; + let i2 = keys.length; let _key; - while (i3-- > 0) { - _key = keys[i3]; + while (i2-- > 0) { + _key = keys[i2]; if (key === _key.toLowerCase()) { return _key; } @@ -30057,20 +19211,20 @@ function merge() { result[targetKey] = val; } }; - for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { - arguments[i3] && forEach(arguments[i3], assignValue); + for (let i2 = 0, l = arguments.length; i2 < l; i2++) { + arguments[i2] && forEach(arguments[i2], assignValue); } return result; } -var extend = (a4, b7, thisArg, { allOwnKeys } = {}) => { - forEach(b7, (val, key) => { +var extend = (a2, b6, thisArg, { allOwnKeys } = {}) => { + forEach(b6, (val, key) => { if (thisArg && isFunction(val)) { - a4[key] = bind(val, thisArg); + a2[key] = bind(val, thisArg); } else { - a4[key] = val; + a2[key] = val; } }, { allOwnKeys }); - return a4; + return a2; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -30088,7 +19242,7 @@ var inherits = (constructor, superConstructor, props, descriptors3) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i3; + let i2; let prop; const merged = {}; destObj = destObj || {}; @@ -30096,9 +19250,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i3 = props.length; - while (i3-- > 0) { - prop = props[i3]; + i2 = props.length; + while (i2-- > 0) { + prop = props[i2]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -30122,12 +19276,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i3 = thing.length; - if (!isNumber(i3)) + let i2 = thing.length; + if (!isNumber(i2)) return null; - const arr = new Array(i3); - while (i3-- > 0) { - arr[i3] = thing[i3]; + const arr = new Array(i2); + while (i2-- > 0) { + arr[i2] = thing[i2]; } return arr; }; @@ -30157,7 +19311,7 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m5, p1, p22) { + function replacer(m4, p1, p22) { return p1.toUpperCase() + p22; } ); @@ -30168,9 +19322,8 @@ var reduceDescriptors = (obj, reducer) => { const descriptors3 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors3, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; + if (reducer(descriptor, name, obj) !== false) { + reducedDescriptors[name] = descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -30197,12 +19350,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define2 = (arr) => { + const define = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -30218,11 +19371,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet2; + const { length } = alphabet; while (size--) { - str += alphabet2[Math.random() * length | 0]; + str += alphabet[Math.random() * length | 0]; } return str; }; @@ -30231,19 +19384,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i3) => { + const visit = (source, i2) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i3] = source; + stack[i2] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i3 + 1); + const reducedValue = visit(value, i2 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i3] = void 0; + stack[i2] = void 0; return target; } } @@ -30251,8 +19404,6 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; -var isAsyncFn = kindOfTest("AsyncFunction"); -var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -30302,13 +19453,11 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable + toJSONObject }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config9, request, response) { +function AxiosError(message, code, config8, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -30318,7 +19467,7 @@ function AxiosError(message, code, config9, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config9 && (this.config = config9); + config8 && (this.config = config8); request && (this.request = request); response && (this.response = response); } @@ -30359,14 +19508,14 @@ var descriptors2 = {}; }); Object.defineProperties(AxiosError, descriptors2); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config9, request, response, customProps) => { +AxiosError.from = (error, code, config8, request, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config9, request, response); + AxiosError.call(axiosError, error.message, code, config8, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -30388,9 +19537,9 @@ function removeBrackets(key) { function renderKey(path5, key, dots) { if (!path5) return key; - return path5.concat(key).map(function each(token, i3) { + return path5.concat(key).map(function each(token, i2) { token = removeBrackets(token); - return !dots && i3 ? "[" + token + "]" : token; + return !dots && i2 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -30529,9 +19678,9 @@ var AxiosURLSearchParams_default = AxiosURLSearchParams; function encode2(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } -function buildURL(url2, params, options) { +function buildURL(url3, params, options) { if (!params) { - return url2; + return url3; } const _encode = options && options.encode || encode2; const serializeFn = options && options.serialize; @@ -30542,13 +19691,13 @@ function buildURL(url2, params, options) { serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode); } if (serializedParams) { - const hashmarkIndex = url2.indexOf("#"); + const hashmarkIndex = url3.indexOf("#"); if (hashmarkIndex !== -1) { - url2 = url2.slice(0, hashmarkIndex); + url3 = url3.slice(0, hashmarkIndex); } - url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url2; + return url3; } // node_modules/axios/lib/core/InterceptorManager.js @@ -30607,32 +19756,11 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; -// node_modules/axios/lib/platform/common/utils.js -var utils_exports = {}; -__export(utils_exports, { - hasBrowserEnv: () => hasBrowserEnv, - hasStandardBrowserEnv: () => hasStandardBrowserEnv, - hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv -}); -var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; -var hasStandardBrowserEnv = ((product) => { - return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; -})(typeof navigator !== "undefined" && navigator.product); -var hasStandardBrowserWebWorkerEnv = (() => { - return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; -})(); - -// node_modules/axios/lib/platform/index.js -var platform_default = { - ...utils_exports, - ...node_default -}; - // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path5, helpers) { - if (platform_default.isNode && utils_default.isBuffer(value)) { + if (node_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -30650,11 +19778,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i3; + let i2; const len = keys.length; let key; - for (i3 = 0; i3 < len; i3++) { - key = keys[i3]; + for (i2 = 0; i2 < len; i2++) { + key = keys[i2]; obj[key] = arr[key]; } return obj; @@ -30662,8 +19790,6 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path5, value, target, index) { let name = path5[index++]; - if (name === "__proto__") - return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path5.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -30696,14 +19822,17 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js +var DEFAULT_CONTENT_TYPE = { + "Content-Type": void 0 +}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e3) { - if (e3.name !== "SyntaxError") { - throw e3; + } catch (e2) { + if (e2.name !== "SyntaxError") { + throw e2; } } } @@ -30719,8 +19848,11 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData3 = utils_default.isFormData(data); - if (isFormData3) { + const isFormData2 = utils_default.isFormData(data); + if (isFormData2) { + if (!hasJSONContentType) { + return data; + } return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -30762,12 +19894,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e3) { + } catch (e2) { if (strictJSONParsing) { - if (e3.name === "SyntaxError") { - throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e2.name === "SyntaxError") { + throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e3; + throw e2; } } } @@ -30779,22 +19911,24 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: platform_default.classes.FormData, - Blob: platform_default.classes.Blob + FormData: node_default.classes.FormData, + Blob: node_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*", - "Content-Type": void 0 + "Accept": "application/json, text/plain, */*" } } }; -utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { +utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { defaults.headers[method] = {}; }); +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { + defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); +}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -30821,11 +19955,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i3; + let i2; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i3 = line.indexOf(":"); - key = line.substring(0, i3).trim().toLowerCase(); - val = line.substring(i3 + 1).trim(); + i2 = line.indexOf(":"); + key = line.substring(0, i2).trim().toLowerCase(); + val = line.substring(i2 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -30862,7 +19996,9 @@ function parseTokens(str) { } return tokens; } -var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); +function isValidHeaderName(str) { + return /^[-_a-zA-Z]+$/.test(str.trim()); +} function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -30880,7 +20016,7 @@ function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w7, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w6, char, str) => { return char.toUpperCase() + str; }); } @@ -30973,10 +20109,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i3 = keys.length; + let i2 = keys.length; let deleted = false; - while (i3--) { - const key = keys[i3]; + while (i2--) { + const key = keys[i2]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -31048,26 +20184,18 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - }; -}); +utils_default.freezeMethods(AxiosHeaders.prototype); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config9 = this || defaults_default; - const context = response || config9; + const config8 = this || defaults_default; + const context = response || config8; const headers = AxiosHeaders_default.from(context.headers); let data = context.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config9, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config8, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -31079,8 +20207,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config9, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config9, request); +function CanceledError(message, config8, request) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config8, request); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -31105,13 +20233,13 @@ function settle(resolve, reject, response) { } // node_modules/axios/lib/helpers/isAbsoluteURL.js -function isAbsoluteURL(url2) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); +function isAbsoluteURL(url3) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); } // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -31131,18 +20259,18 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.6.8"; +var VERSION = "1.3.4"; // node_modules/axios/lib/helpers/parseProtocol.js -function parseProtocol(url2) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2); +function parseProtocol(url3) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url3); return match && match[1] || ""; } // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || platform_default.classes.Blob; + const _Blob = options && options.Blob || node_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -31217,11 +20345,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i3 = tail; + let i2 = tail; let bytesCount = 0; - while (i3 !== head) { - bytesCount += bytes[i3++]; - i3 = i3 % samplesCount; + while (i2 !== head) { + bytesCount += bytes[i2++]; + i2 = i2 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -31387,7 +20515,7 @@ var AxiosTransformStream = class extends import_stream2.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = require("events"); +var import_events = __toESM(require("events"), 1); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -31416,9 +20544,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName: escapeName2 } = this.constructor; + const { escapeName } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -31509,21 +20637,6 @@ var ZlibHeaderTransformStream = class extends import_stream4.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; -// node_modules/axios/lib/helpers/callbackify.js -var callbackify = (fn, reducer) => { - return utils_default.isAsyncFn(fn) ? function(...args) { - const cb = args.pop(); - fn.apply(this, args).then((value) => { - try { - reducer ? cb(null, ...reducer(value)) : cb(null, value); - } catch (err) { - cb(err); - } - }, cb); - } : fn; -}; -var callbackify_default = callbackify; - // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -31536,15 +20649,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = platform_default.protocols.map((protocol) => { +var supportedProtocols = node_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options, responseDetails) { +function dispatchBeforeRedirect(options) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options, responseDetails); + options.beforeRedirects.config(options); } } function setProxy(options, configProxy, location) { @@ -31602,43 +20715,21 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var resolveFamily = ({ address, family }) => { - if (!utils_default.isString(address)) { - throw TypeError("address must be a string"); - } - return { - address, - family: family || (address.indexOf(".") < 0 ? 6 : 4) - }; -}; -var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); -var http_default = isHttpAdapterSupported && function httpAdapter(config9) { +var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data, lookup, family } = config9; - const { responseType, responseEncoding } = config9; - const method = config9.method.toUpperCase(); + let { data } = config8; + const { responseType, responseEncoding } = config8; + const method = config8.method.toUpperCase(); let isDone; let rejected = false; let req; - if (lookup) { - const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); - lookup = (hostname, opt, cb) => { - _lookup(hostname, opt, (err, arg0, arg1) => { - if (err) { - return cb(err); - } - const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; - opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); - }); - }; - } - const emitter = new import_events.EventEmitter(); + const emitter = new import_events.default(); const onFinished = () => { - if (config9.cancelToken) { - config9.cancelToken.unsubscribe(abort); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(abort); } - if (config9.signal) { - config9.signal.removeEventListener("abort", abort); + if (config8.signal) { + config8.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -31650,16 +20741,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config9, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config8, req) : reason); } emitter.once("abort", reject); - if (config9.cancelToken || config9.signal) { - config9.cancelToken && config9.cancelToken.subscribe(abort); - if (config9.signal) { - config9.signal.aborted ? abort() : config9.signal.addEventListener("abort", abort); + if (config8.cancelToken || config8.signal) { + config8.cancelToken && config8.cancelToken.subscribe(abort); + if (config8.signal) { + config8.signal.aborted ? abort() : config8.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config9.baseURL, config9.url); + const fullPath = buildFullPath(config8.baseURL, config8.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -31669,15 +20760,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { status: 405, statusText: "method not allowed", headers: {}, - config: config9 + config: config8 }); } try { - convertedData = fromDataURI(config9.url, responseType === "blob", { - Blob: config9.env && config9.env.Blob + convertedData = fromDataURI(config8.url, responseType === "blob", { + Blob: config8.env && config8.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config9); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config8); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -31692,21 +20783,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config9 + config: config8 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config9 + config8 )); } - const headers = AxiosHeaders_default.from(config9.headers).normalize(); + const headers = AxiosHeaders_default.from(config8.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config9.onDownloadProgress; - const onUploadProgress = config9.onUploadProgress; - const maxRate = config9.maxRate; + const onDownloadProgress = config8.onDownloadProgress; + const onUploadProgress = config8.onUploadProgress; + const maxRate = config8.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -31723,7 +20814,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e3) { + } catch (e2) { } } } else if (utils_default.isBlob(data)) { @@ -31740,15 +20831,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config9 + config8 )); } headers.setContentLength(data.length, false); - if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { + if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config9 + config8 )); } } @@ -31774,9 +20865,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { }); } let auth = void 0; - if (config9.auth) { - const username = config9.auth.username || ""; - const password = config9.auth.password || ""; + if (config8.auth) { + const username = config8.auth.username || ""; + const password = config8.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -31789,13 +20880,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { try { path5 = buildURL( parsed.pathname + parsed.search, - config9.params, - config9.paramsSerializer + config8.params, + config8.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config9; - customErr.url = config9.url; + customErr.config = config8; + customErr.url = config8.url; customErr.exists = true; return reject(customErr); } @@ -31808,44 +20899,42 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { path: path5, method, headers: headers.toJSON(), - agents: { http: config9.httpAgent, https: config9.httpsAgent }, + agents: { http: config8.httpAgent, https: config8.httpsAgent }, auth, protocol, - family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - !utils_default.isUndefined(lookup) && (options.lookup = lookup); - if (config9.socketPath) { - options.socketPath = config9.socketPath; + if (config8.socketPath) { + options.socketPath = config8.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config9.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config8.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; - if (config9.transport) { - transport = config9.transport; - } else if (config9.maxRedirects === 0) { + options.agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; + if (config8.transport) { + transport = config8.transport; + } else if (config8.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config9.maxRedirects) { - options.maxRedirects = config9.maxRedirects; + if (config8.maxRedirects) { + options.maxRedirects = config8.maxRedirects; } - if (config9.beforeRedirect) { - options.beforeRedirects.config = config9.beforeRedirect; + if (config8.beforeRedirect) { + options.beforeRedirects.config = config8.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config9.maxBodyLength > -1) { - options.maxBodyLength = config9.maxBodyLength; + if (config8.maxBodyLength > -1) { + options.maxBodyLength = config8.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config9.insecureHTTPParser) { - options.insecureHTTPParser = config9.insecureHTTPParser; + if (config8.insecureHTTPParser) { + options.insecureHTTPParser = config8.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -31866,11 +20955,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { } let responseStream = res; const lastRequest = res.req || req; - if (config9.decompress !== false && res.headers["content-encoding"]) { + if (config8.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch ((res.headers["content-encoding"] || "").toLowerCase()) { + switch (res.headers["content-encoding"]) { case "gzip": case "x-gzip": case "compress": @@ -31899,7 +20988,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config9, + config: config8, request: lastRequest }; if (responseType === "stream") { @@ -31911,13 +21000,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { + if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config9.maxContentLength + " exceeded", + "maxContentLength size of " + config8.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config9, + config8, lastRequest )); } @@ -31927,9 +21016,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config9.maxContentLength + " exceeded", + "maxContentLength size of " + config8.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config9, + config8, lastRequest ); responseStream.destroy(err); @@ -31938,7 +21027,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config9, lastRequest)); + reject(AxiosError_default.from(err, null, config8, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -31951,7 +21040,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { } response.data = responseData; } catch (err) { - return reject(AxiosError_default.from(err, null, config9, response.request, response)); + reject(AxiosError_default.from(err, null, config8, response.request, response)); } settle(resolve, reject, response); }); @@ -31968,18 +21057,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config9, req)); + reject(AxiosError_default.from(err, null, config8, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config9.timeout) { - const timeout = parseInt(config9.timeout, 10); - if (Number.isNaN(timeout)) { + if (config8.timeout) { + const timeout = parseInt(config8.timeout, 10); + if (isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config9, + config8, req )); return; @@ -31987,15 +21076,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config9.transitional || transitional_default; - if (config9.timeoutErrorMessage) { - timeoutErrorMessage = config9.timeoutErrorMessage; + let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config8.transitional || transitional_default; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config9, + config8, req )); abort(); @@ -32013,7 +21102,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config9, req)); + abort(new CanceledError_default("Request stream has been aborted", config8, req)); } }); data.pipe(req); @@ -32024,39 +21113,52 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config9) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = platform_default.hasStandardBrowserEnv ? { - write(name, value, expires, path5, domain, secure) { - const cookie = [name + "=" + encodeURIComponent(value)]; - utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); - utils_default.isString(path5) && cookie.push("path=" + path5); - utils_default.isString(domain) && cookie.push("domain=" + domain); - secure === true && cookie.push("secure"); - document.cookie = cookie.join("; "); - }, - read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove(name) { - this.write(name, "", Date.now() - 864e5); - } -} : { - write() { - }, - read() { - return null; - }, - remove() { - } -}; +var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { + return { + write: function write(name, value, expires, path5, domain, secure) { + const cookie = []; + cookie.push(name + "=" + encodeURIComponent(value)); + if (utils_default.isNumber(expires)) { + cookie.push("expires=" + new Date(expires).toGMTString()); + } + if (utils_default.isString(path5)) { + cookie.push("path=" + path5); + } + if (utils_default.isString(domain)) { + cookie.push("domain=" + domain); + } + if (secure === true) { + cookie.push("secure"); + } + document.cookie = cookie.join("; "); + }, + read: function read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove: function remove(name) { + this.write(name, "", Date.now() - 864e5); + } + }; +}() : function nonStandardBrowserEnv() { + return { + write: function write() { + }, + read: function read() { + return null; + }, + remove: function remove() { + } + }; +}(); // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { +var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; - function resolveURL(url2) { - let href = url2; + function resolveURL(url3) { + let href = url3; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -32078,7 +21180,7 @@ var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv() { +}() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -32088,9 +21190,9 @@ var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e3) => { - const loaded = e3.loaded; - const total = e3.lengthComputable ? e3.total : void 0; + return (e2) => { + const loaded = e2.loaded; + const total = e2.lengthComputable ? e2.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -32102,45 +21204,39 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e3 + event: e2 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config9) { +var xhr_default = isXHRAdapterSupported && function(config8) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config9.data; - const requestHeaders = AxiosHeaders_default.from(config9.headers).normalize(); - let { responseType, withXSRFToken } = config9; + let requestData = config8.data; + const requestHeaders = AxiosHeaders_default.from(config8.headers).normalize(); + const responseType = config8.responseType; let onCanceled; function done() { - if (config9.cancelToken) { - config9.cancelToken.unsubscribe(onCanceled); + if (config8.cancelToken) { + config8.cancelToken.unsubscribe(onCanceled); } - if (config9.signal) { - config9.signal.removeEventListener("abort", onCanceled); + if (config8.signal) { + config8.signal.removeEventListener("abort", onCanceled); } } - let contentType; - if (utils_default.isFormData(requestData)) { - if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { - requestHeaders.setContentType(false); - } else if ((contentType = requestHeaders.getContentType()) !== false) { - const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; - requestHeaders.setContentType([type || "multipart/form-data", ...tokens].join("; ")); - } + if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { + requestHeaders.setContentType(false); } let request = new XMLHttpRequest(); - if (config9.auth) { - const username = config9.auth.username || ""; - const password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; + if (config8.auth) { + const username = config8.auth.username || ""; + const password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config9.baseURL, config9.url); - request.open(config9.method.toUpperCase(), buildURL(fullPath, config9.params, config9.paramsSerializer), true); - request.timeout = config9.timeout; + const fullPath = buildFullPath(config8.baseURL, config8.url); + request.open(config8.method.toUpperCase(), buildURL(fullPath, config8.params, config8.paramsSerializer), true); + request.timeout = config8.timeout; function onloadend() { if (!request) { return; @@ -32154,7 +21250,7 @@ var xhr_default = isXHRAdapterSupported && function(config9) { status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config9, + config: config8, request }; settle(function _resolve(value) { @@ -32183,34 +21279,31 @@ var xhr_default = isXHRAdapterSupported && function(config9) { if (!request) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config9, request)); + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config8, request)); request = null; }; request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config9, request)); + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config8, request)); request = null; }; request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config9.transitional || transitional_default; - if (config9.timeoutErrorMessage) { - timeoutErrorMessage = config9.timeoutErrorMessage; + let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config8.transitional || transitional_default; + if (config8.timeoutErrorMessage) { + timeoutErrorMessage = config8.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config9, + config8, request )); request = null; }; - if (platform_default.hasStandardBrowserEnv) { - withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config9)); - if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { - const xsrfValue = config9.xsrfHeaderName && config9.xsrfCookieName && cookies_default.read(config9.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config9.xsrfHeaderName, xsrfValue); - } + if (node_default.isStandardBrowserEnv) { + const xsrfValue = (config8.withCredentials || isURLSameOrigin_default(fullPath)) && config8.xsrfCookieName && cookies_default.read(config8.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config8.xsrfHeaderName, xsrfValue); } } requestData === void 0 && requestHeaders.setContentType(null); @@ -32219,35 +21312,35 @@ var xhr_default = isXHRAdapterSupported && function(config9) { request.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config9.withCredentials)) { - request.withCredentials = !!config9.withCredentials; + if (!utils_default.isUndefined(config8.withCredentials)) { + request.withCredentials = !!config8.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config9.responseType; + request.responseType = config8.responseType; } - if (typeof config9.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config9.onDownloadProgress, true)); + if (typeof config8.onDownloadProgress === "function") { + request.addEventListener("progress", progressEventReducer(config8.onDownloadProgress, true)); } - if (typeof config9.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config9.onUploadProgress)); + if (typeof config8.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", progressEventReducer(config8.onUploadProgress)); } - if (config9.cancelToken || config9.signal) { + if (config8.cancelToken || config8.signal) { onCanceled = (cancel) => { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config9, request) : cancel); + reject(!cancel || cancel.type ? new CanceledError_default(null, config8, request) : cancel); request.abort(); request = null; }; - config9.cancelToken && config9.cancelToken.subscribe(onCanceled); - if (config9.signal) { - config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); + config8.cancelToken && config8.cancelToken.subscribe(onCanceled); + if (config8.signal) { + config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && platform_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config9)); + if (protocol && node_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config8)); return; } request.send(requestData || null); @@ -32263,86 +21356,78 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e3) { + } catch (e2) { } Object.defineProperty(fn, "adapterName", { value }); } }); -var renderReason = (reason) => `- ${reason}`; -var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - const rejectedReasons = {}; - for (let i3 = 0; i3 < length; i3++) { - nameOrAdapter = adapters[i3]; - let id; - adapter = nameOrAdapter; - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - if (adapter === void 0) { - throw new AxiosError_default(`Unknown adapter '${id}'`); - } - } - if (adapter) { + for (let i2 = 0; i2 < length; i2++) { + nameOrAdapter = adapters[i2]; + if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { break; } - rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - const reasons = Object.entries(rejectedReasons).map( - ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build") - ); - let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; - throw new AxiosError_default( - `There is no suitable adapter to dispatch the request ` + s2, - "ERR_NOT_SUPPORT" + if (adapter === false) { + throw new AxiosError_default( + `Adapter ${nameOrAdapter} is not supported by the environment`, + "ERR_NOT_SUPPORT" + ); + } + throw new Error( + utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` ); } + if (!utils_default.isFunction(adapter)) { + throw new TypeError("adapter is not a function"); + } return adapter; }, adapters: knownAdapters }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config9) { - if (config9.cancelToken) { - config9.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config8) { + if (config8.cancelToken) { + config8.cancelToken.throwIfRequested(); } - if (config9.signal && config9.signal.aborted) { - throw new CanceledError_default(null, config9); + if (config8.signal && config8.signal.aborted) { + throw new CanceledError_default(null, config8); } } -function dispatchRequest(config9) { - throwIfCancellationRequested(config9); - config9.headers = AxiosHeaders_default.from(config9.headers); - config9.data = transformData.call( - config9, - config9.transformRequest +function dispatchRequest(config8) { + throwIfCancellationRequested(config8); + config8.headers = AxiosHeaders_default.from(config8.headers); + config8.data = transformData.call( + config8, + config8.transformRequest ); - if (["post", "put", "patch"].indexOf(config9.method) !== -1) { - config9.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config8.method) !== -1) { + config8.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config9.adapter || defaults_default.adapter); - return adapter(config9).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config9); + const adapter = adapters_default.getAdapter(config8.adapter || defaults_default.adapter); + return adapter(config8).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config8); response.data = transformData.call( - config9, - config9.transformResponse, + config8, + config8.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config9); + throwIfCancellationRequested(config8); if (reason && reason.response) { reason.response.data = transformData.call( - config9, - config9.transformResponse, + config8, + config8.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -32353,10 +21438,10 @@ function dispatchRequest(config9) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config9 = {}; + const config8 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -32367,30 +21452,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a4, b7, caseless) { - if (!utils_default.isUndefined(b7)) { - return getMergedValue(a4, b7, caseless); - } else if (!utils_default.isUndefined(a4)) { - return getMergedValue(void 0, a4, caseless); + function mergeDeepProperties(a2, b6, caseless) { + if (!utils_default.isUndefined(b6)) { + return getMergedValue(a2, b6, caseless); + } else if (!utils_default.isUndefined(a2)) { + return getMergedValue(void 0, a2, caseless); } } - function valueFromConfig2(a4, b7) { - if (!utils_default.isUndefined(b7)) { - return getMergedValue(void 0, b7); + function valueFromConfig2(a2, b6) { + if (!utils_default.isUndefined(b6)) { + return getMergedValue(void 0, b6); } } - function defaultToConfig2(a4, b7) { - if (!utils_default.isUndefined(b7)) { - return getMergedValue(void 0, b7); - } else if (!utils_default.isUndefined(a4)) { - return getMergedValue(void 0, a4); + function defaultToConfig2(a2, b6) { + if (!utils_default.isUndefined(b6)) { + return getMergedValue(void 0, b6); + } else if (!utils_default.isUndefined(a2)) { + return getMergedValue(void 0, a2); } } - function mergeDirectKeys(a4, b7, prop) { + function mergeDirectKeys(a2, b6, prop) { if (prop in config22) { - return getMergedValue(a4, b7); + return getMergedValue(a2, b6); } else if (prop in config1) { - return getMergedValue(void 0, a4); + return getMergedValue(void 0, a2); } } const mergeMap = { @@ -32404,7 +21489,6 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -32422,21 +21506,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a4, b7) => mergeDeepProperties(headersToObject(a4), headersToObject(b7), true) + headers: (a2, b6) => mergeDeepProperties(headersToObject(a2), headersToObject(b6), true) }; - utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); }); - return config9; + return config8; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i3) => { +["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings = {}; @@ -32468,9 +21552,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i3 = keys.length; - while (i3-- > 0) { - const opt = keys[i3]; + let i2 = keys.length; + while (i2-- > 0) { + const opt = keys[i2]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -32500,32 +21584,15 @@ var Axios = class { response: new InterceptorManager_default() }; } - async request(configOrUrl, config9) { - try { - return await this._request(configOrUrl, config9); - } catch (err) { - if (err instanceof Error) { - let dummy; - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; - if (!err.stack) { - err.stack = stack; - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { - err.stack += "\n" + stack; - } - } - throw err; - } - } - _request(configOrUrl, config9) { + request(configOrUrl, config8) { if (typeof configOrUrl === "string") { - config9 = config9 || {}; - config9.url = configOrUrl; + config8 = config8 || {}; + config8.url = configOrUrl; } else { - config9 = configOrUrl || {}; + config8 = configOrUrl || {}; } - config9 = mergeConfig(this.defaults, config9); - const { transitional: transitional2, paramsSerializer, headers } = config9; + config8 = mergeConfig(this.defaults, config8); + const { transitional: transitional2, paramsSerializer, headers } = config8; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -32533,34 +21600,29 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer != null) { - if (utils_default.isFunction(paramsSerializer)) { - config9.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); - } + if (paramsSerializer !== void 0) { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); } - config9.method = (config9.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders = headers && utils_default.merge( + config8.method = (config8.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders; + contextHeaders = headers && utils_default.merge( headers.common, - headers[config9.method] + headers[config8.method] ); - headers && utils_default.forEach( + contextHeaders && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config9.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config8.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -32571,25 +21633,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i3 = 0; + let i2 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config9); - while (i3 < len) { - promise = promise.then(chain[i3++], chain[i3++]); + promise = Promise.resolve(config8); + while (i2 < len) { + promise = promise.then(chain[i2++], chain[i2++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config9; - i3 = 0; - while (i3 < len) { - const onFulfilled = requestInterceptorChain[i3++]; - const onRejected = requestInterceptorChain[i3++]; + let newConfig = config8; + i2 = 0; + while (i2 < len) { + const onFulfilled = requestInterceptorChain[i2++]; + const onRejected = requestInterceptorChain[i2++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -32602,37 +21664,37 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i3 = 0; + i2 = 0; len = responseInterceptorChain.length; - while (i3 < len) { - promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); + while (i2 < len) { + promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); } return promise; } - getUri(config9) { - config9 = mergeConfig(this.defaults, config9); - const fullPath = buildFullPath(config9.baseURL, config9.url); - return buildURL(fullPath, config9.params, config9.paramsSerializer); + getUri(config8) { + config8 = mergeConfig(this.defaults, config8); + const fullPath = buildFullPath(config8.baseURL, config8.url); + return buildURL(fullPath, config8.params, config8.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { - Axios.prototype[method] = function(url2, config9) { - return this.request(mergeConfig(config9 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios.prototype[method] = function(url3, config8) { + return this.request(mergeConfig(config8 || {}, { method, - url: url2, - data: (config9 || {}).data + url: url3, + data: (config8 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config9) { - return this.request(mergeConfig(config9 || {}, { + return function httpMethod(url3, data, config8) { + return this.request(mergeConfig(config8 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" } : {}, - url: url2, + url: url3, data })); }; @@ -32656,9 +21718,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i3 = token._listeners.length; - while (i3-- > 0) { - token._listeners[i3](cancel); + let i2 = token._listeners.length; + while (i2-- > 0) { + token._listeners[i2](cancel); } token._listeners = null; }); @@ -32673,11 +21735,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config9, request) { + executor(function cancel(message, config8, request) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config9, request); + token.reason = new CanceledError_default(message, config8, request); resolvePromise(token.reason); }); } @@ -32830,7 +21892,6 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); -axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -32851,7 +21912,6 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, - getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -32881,8 +21941,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var provider = config3?.OCO_AI_PROVIDER; -if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { +var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; +if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" @@ -32893,14 +21953,6 @@ if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" / process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; -if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { - ce( - `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( - ", " - )}` - ); - process.exit(1); -} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -32921,7 +21973,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b6) => a2 + b6, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -32948,9 +22000,13 @@ var api = new OpenAi(); // src/engine/ollama.ts var OllamaAi = class { + model = "mistral"; + setModel(model) { + this.model = model; + } async generateCommitMessage(messages) { - const model = "mistral"; - const url2 = "http://localhost:11434/api/chat"; + const model = this.model; + const url3 = "http://localhost:11434/api/chat"; const p4 = { model, messages, @@ -32958,7 +22014,7 @@ var OllamaAi = class { stream: false }; try { - const response = await axios_default.post(url2, p4, { + const response = await axios_default.post(url3, p4, { headers: { "Content-Type": "application/json" } @@ -32973,2189 +22029,23 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); -// node_modules/@anthropic-ai/sdk/version.mjs -var VERSION3 = "0.19.2"; - -// node_modules/@anthropic-ai/sdk/_shims/registry.mjs -var auto = false; -var kind = void 0; -var fetch = void 0; -var Request = void 0; -var Response = void 0; -var Headers = void 0; -var FormData3 = void 0; -var Blob2 = void 0; -var File = void 0; -var ReadableStream = void 0; -var getMultipartRequestOptions = void 0; -var getDefaultAgent = void 0; -var fileFromPath = void 0; -var isFsReadStream = void 0; -function setShims(shims, options = { auto: false }) { - if (auto) { - throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); - } - if (kind) { - throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); - } - auto = options.auto; - kind = shims.kind; - fetch = shims.fetch; - Request = shims.Request; - Response = shims.Response; - Headers = shims.Headers; - FormData3 = shims.FormData; - Blob2 = shims.Blob; - File = shims.File; - ReadableStream = shims.ReadableStream; - getMultipartRequestOptions = shims.getMultipartRequestOptions; - getDefaultAgent = shims.getDefaultAgent; - fileFromPath = shims.fileFromPath; - isFsReadStream = shims.isFsReadStream; -} - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var nf = __toESM(require_lib3(), 1); - -// node_modules/formdata-node/lib/esm/FormData.js -var import_util4 = require("util"); -init_File(); -init_isFile(); - -// node_modules/formdata-node/lib/esm/isBlob.js -init_Blob(); -var isBlob2 = (value) => value instanceof Blob3; - -// node_modules/formdata-node/lib/esm/FormData.js -init_isFunction(); - -// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js -var import_util3 = require("util"); -var deprecateConstructorEntries = (0, import_util3.deprecate)(() => { -}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); - -// node_modules/formdata-node/lib/esm/FormData.js -var __classPrivateFieldGet3 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _FormData_instances; -var _FormData_entries; -var _FormData_setEntry; -var FormData4 = class { - constructor(entries) { - _FormData_instances.add(this); - _FormData_entries.set(this, /* @__PURE__ */ new Map()); - if (entries) { - deprecateConstructorEntries(); - entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); - } - } - static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { - return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); - } - append(name, value, fileName) { - __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { - name, - fileName, - append: true, - rawValue: value, - argsLength: arguments.length - }); - } - set(name, value, fileName) { - __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { - name, - fileName, - append: false, - rawValue: value, - argsLength: arguments.length - }); - } - get(name) { - const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); - if (!field) { - return null; - } - return field[0]; - } - getAll(name) { - const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); - if (!field) { - return []; - } - return field.slice(); - } - has(name) { - return __classPrivateFieldGet3(this, _FormData_entries, "f").has(String(name)); - } - delete(name) { - __classPrivateFieldGet3(this, _FormData_entries, "f").delete(String(name)); - } - *keys() { - for (const key of __classPrivateFieldGet3(this, _FormData_entries, "f").keys()) { - yield key; - } - } - *entries() { - for (const name of this.keys()) { - const values = this.getAll(name); - for (const value of values) { - yield [name, value]; - } - } - } - *values() { - for (const [, value] of this) { - yield value; - } - } - [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { - const methodName = append2 ? "append" : "set"; - if (argsLength < 2) { - throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); - } - name = String(name); - let value; - if (isFile2(rawValue)) { - value = fileName === void 0 ? rawValue : new File2([rawValue], fileName, { - type: rawValue.type, - lastModified: rawValue.lastModified - }); - } else if (isBlob2(rawValue)) { - value = new File2([rawValue], fileName === void 0 ? "blob" : fileName, { - type: rawValue.type - }); - } else if (fileName) { - throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); - } else { - value = String(rawValue); - } - const values = __classPrivateFieldGet3(this, _FormData_entries, "f").get(name); - if (!values) { - return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); - } - if (!append2) { - return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); - } - values.push(value); - }, Symbol.iterator)]() { - return this.entries(); - } - forEach(callback, thisArg) { - for (const [name, value] of this) { - callback.call(thisArg, value, name, this); - } - } - get [Symbol.toStringTag]() { - return "FormData"; - } - [import_util4.inspect.custom]() { - return this[Symbol.toStringTag]; - } -}; - -// node_modules/formdata-node/lib/esm/index.js -init_Blob(); -init_File(); - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); -var import_abort_controller = __toESM(require_abort_controller(), 1); -var import_node_fs3 = require("node:fs"); - -// node_modules/form-data-encoder/lib/esm/util/createBoundary.js -var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; -function createBoundary() { - let size = 16; - let res = ""; - while (size--) { - res += alphabet[Math.random() * alphabet.length << 0]; - } - return res; -} -var createBoundary_default = createBoundary; - -// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js -var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); -function isPlainObject2(value) { - if (getType(value) !== "object") { - return false; - } - const pp = Object.getPrototypeOf(value); - if (pp === null || pp === void 0) { - return true; - } - const Ctor = pp.constructor && pp.constructor.toString(); - return Ctor === Object.toString(); -} -var isPlainObject_default = isPlainObject2; - -// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js -var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { - if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { - return "\r\n"; - } - return match; -}); -var normalizeValue_default = normalizeValue2; - -// node_modules/form-data-encoder/lib/esm/util/escapeName.js -var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); -var escapeName_default = escapeName; - -// node_modules/form-data-encoder/lib/esm/util/isFunction.js -var isFunction3 = (value) => typeof value === "function"; -var isFunction_default = isFunction3; - -// node_modules/form-data-encoder/lib/esm/util/isFileLike.js -var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); - -// node_modules/form-data-encoder/lib/esm/util/isFormData.js -var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); - -// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js -var __classPrivateFieldSet3 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet4 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _FormDataEncoder_instances; -var _FormDataEncoder_CRLF; -var _FormDataEncoder_CRLF_BYTES; -var _FormDataEncoder_CRLF_BYTES_LENGTH; -var _FormDataEncoder_DASHES; -var _FormDataEncoder_encoder; -var _FormDataEncoder_footer; -var _FormDataEncoder_form; -var _FormDataEncoder_options; -var _FormDataEncoder_getFieldHeader; -var defaultOptions = { - enableAdditionalHeaders: false -}; -var FormDataEncoder = class { - constructor(form, boundaryOrOptions, options) { - _FormDataEncoder_instances.add(this); - _FormDataEncoder_CRLF.set(this, "\r\n"); - _FormDataEncoder_CRLF_BYTES.set(this, void 0); - _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); - _FormDataEncoder_DASHES.set(this, "-".repeat(2)); - _FormDataEncoder_encoder.set(this, new TextEncoder()); - _FormDataEncoder_footer.set(this, void 0); - _FormDataEncoder_form.set(this, void 0); - _FormDataEncoder_options.set(this, void 0); - if (!isFormData2(form)) { - throw new TypeError("Expected first argument to be a FormData instance."); - } - let boundary; - if (isPlainObject_default(boundaryOrOptions)) { - options = boundaryOrOptions; - } else { - boundary = boundaryOrOptions; - } - if (!boundary) { - boundary = createBoundary_default(); - } - if (typeof boundary !== "string") { - throw new TypeError("Expected boundary argument to be a string."); - } - if (options && !isPlainObject_default(options)) { - throw new TypeError("Expected options argument to be an object."); - } - __classPrivateFieldSet3(this, _FormDataEncoder_form, form, "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")), "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); - this.boundary = `form-data-boundary-${boundary}`; - this.contentType = `multipart/form-data; boundary=${this.boundary}`; - __classPrivateFieldSet3(this, _FormDataEncoder_footer, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); - this.contentLength = String(this.getContentLength()); - this.headers = Object.freeze({ - "Content-Type": this.contentType, - "Content-Length": this.contentLength - }); - Object.defineProperties(this, { - boundary: { writable: false, configurable: false }, - contentType: { writable: false, configurable: false }, - contentLength: { writable: false, configurable: false }, - headers: { writable: false, configurable: false } - }); - } - getContentLength() { - let length = 0; - for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f")) { - const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); - length += __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; - length += isFileLike(value) ? value.size : value.byteLength; - length += __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); - } - return length + __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f").byteLength; - } - *values() { - for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f").entries()) { - const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); - yield __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); - yield value; - yield __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f"); - } - yield __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f"); - } - async *encode() { - for (const part of this.values()) { - if (isFileLike(part)) { - yield* part.stream(); - } else { - yield part; - } - } - } - [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { - let header = ""; - header += `${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; - header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; - if (isFileLike(value)) { - header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; - header += `Content-Type: ${value.type || "application/octet-stream"}`; - } - if (__classPrivateFieldGet4(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { - header += `${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; - } - return __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); - }, Symbol.iterator)]() { - return this.values(); - } - [Symbol.asyncIterator]() { - return this.encode(); - } -}; - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_node_stream = require("node:stream"); - -// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs -var MultipartBody = class { - constructor(body) { - this.body = body; - } - get [Symbol.toStringTag]() { - return "MultipartBody"; - } -}; - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); -var fileFromPathWarned = false; -async function fileFromPath3(path5, ...args) { - const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); - if (!fileFromPathWarned) { - console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path5)}) instead`); - fileFromPathWarned = true; - } - return await _fileFromPath(path5, ...args); -} -var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); -var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); -async function getMultipartRequestOptions2(form, opts) { - const encoder = new FormDataEncoder(form); - const readable = import_node_stream.Readable.from(encoder); - const body = new MultipartBody(readable); - const headers = { - ...opts.headers, - ...encoder.headers, - "Content-Length": encoder.contentLength - }; - return { ...opts, body, headers }; -} -function getRuntime() { - if (typeof AbortController === "undefined") { - globalThis.AbortController = import_abort_controller.AbortController; - } - return { - kind: "node", - fetch: nf.default, - Request: nf.Request, - Response: nf.Response, - Headers: nf.Headers, - FormData: FormData4, - Blob: Blob3, - File: File2, - ReadableStream: import_ponyfill_es2018.ReadableStream, - getMultipartRequestOptions: getMultipartRequestOptions2, - getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, - fileFromPath: fileFromPath3, - isFsReadStream: (value) => value instanceof import_node_fs3.ReadStream - }; -} - -// node_modules/@anthropic-ai/sdk/_shims/index.mjs -if (!kind) - setShims(getRuntime(), { auto: true }); - -// node_modules/@anthropic-ai/sdk/error.mjs -var error_exports = {}; -__export(error_exports, { - APIConnectionError: () => APIConnectionError, - APIConnectionTimeoutError: () => APIConnectionTimeoutError, - APIError: () => APIError, - APIUserAbortError: () => APIUserAbortError, - AnthropicError: () => AnthropicError, - AuthenticationError: () => AuthenticationError, - BadRequestError: () => BadRequestError, - ConflictError: () => ConflictError, - InternalServerError: () => InternalServerError, - NotFoundError: () => NotFoundError, - PermissionDeniedError: () => PermissionDeniedError, - RateLimitError: () => RateLimitError, - UnprocessableEntityError: () => UnprocessableEntityError -}); -var AnthropicError = class extends Error { -}; -var APIError = class extends AnthropicError { - constructor(status, error, message, headers) { - super(`${APIError.makeMessage(status, error, message)}`); - this.status = status; - this.headers = headers; - this.error = error; - } - static makeMessage(status, error, message) { - const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; - if (status && msg) { - return `${status} ${msg}`; - } - if (status) { - return `${status} status code (no body)`; - } - if (msg) { - return msg; - } - return "(no status code or body)"; - } - static generate(status, errorResponse, message, headers) { - if (!status) { - return new APIConnectionError({ cause: castToError(errorResponse) }); - } - const error = errorResponse; - if (status === 400) { - return new BadRequestError(status, error, message, headers); - } - if (status === 401) { - return new AuthenticationError(status, error, message, headers); - } - if (status === 403) { - return new PermissionDeniedError(status, error, message, headers); - } - if (status === 404) { - return new NotFoundError(status, error, message, headers); - } - if (status === 409) { - return new ConflictError(status, error, message, headers); - } - if (status === 422) { - return new UnprocessableEntityError(status, error, message, headers); - } - if (status === 429) { - return new RateLimitError(status, error, message, headers); - } - if (status >= 500) { - return new InternalServerError(status, error, message, headers); - } - return new APIError(status, error, message, headers); - } -}; -var APIUserAbortError = class extends APIError { - constructor({ message } = {}) { - super(void 0, void 0, message || "Request was aborted.", void 0); - this.status = void 0; - } -}; -var APIConnectionError = class extends APIError { - constructor({ message, cause }) { - super(void 0, void 0, message || "Connection error.", void 0); - this.status = void 0; - if (cause) - this.cause = cause; - } -}; -var APIConnectionTimeoutError = class extends APIConnectionError { - constructor({ message } = {}) { - super({ message: message ?? "Request timed out." }); - } -}; -var BadRequestError = class extends APIError { - constructor() { - super(...arguments); - this.status = 400; - } -}; -var AuthenticationError = class extends APIError { - constructor() { - super(...arguments); - this.status = 401; - } -}; -var PermissionDeniedError = class extends APIError { - constructor() { - super(...arguments); - this.status = 403; - } -}; -var NotFoundError = class extends APIError { - constructor() { - super(...arguments); - this.status = 404; - } -}; -var ConflictError = class extends APIError { - constructor() { - super(...arguments); - this.status = 409; - } -}; -var UnprocessableEntityError = class extends APIError { - constructor() { - super(...arguments); - this.status = 422; - } -}; -var RateLimitError = class extends APIError { - constructor() { - super(...arguments); - this.status = 429; - } -}; -var InternalServerError = class extends APIError { -}; - -// node_modules/@anthropic-ai/sdk/streaming.mjs -var Stream = class { - constructor(iterator, controller) { - this.iterator = iterator; - this.controller = controller; - } - static fromSSEResponse(response, controller) { - let consumed = false; - async function* iterator() { - if (consumed) { - throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); - } - consumed = true; - let done = false; - try { - for await (const sse of _iterSSEMessages(response, controller)) { - if (sse.event === "completion") { - try { - yield JSON.parse(sse.data); - } catch (e3) { - console.error(`Could not parse message into JSON:`, sse.data); - console.error(`From chunk:`, sse.raw); - throw e3; - } - } - if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { - try { - yield JSON.parse(sse.data); - } catch (e3) { - console.error(`Could not parse message into JSON:`, sse.data); - console.error(`From chunk:`, sse.raw); - throw e3; - } - } - if (sse.event === "ping") { - continue; - } - if (sse.event === "error") { - const errText = sse.data; - const errJSON = safeJSON(errText); - const errMessage = errJSON ? void 0 : errText; - throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); - } - } - done = true; - } catch (e3) { - if (e3 instanceof Error && e3.name === "AbortError") - return; - throw e3; - } finally { - if (!done) - controller.abort(); - } - } - return new Stream(iterator, controller); - } - static fromReadableStream(readableStream, controller) { - let consumed = false; - async function* iterLines() { - const lineDecoder = new LineDecoder(); - const iter = readableStreamAsyncIterable(readableStream); - for await (const chunk of iter) { - for (const line of lineDecoder.decode(chunk)) { - yield line; - } - } - for (const line of lineDecoder.flush()) { - yield line; - } - } - async function* iterator() { - if (consumed) { - throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); - } - consumed = true; - let done = false; - try { - for await (const line of iterLines()) { - if (done) - continue; - if (line) - yield JSON.parse(line); - } - done = true; - } catch (e3) { - if (e3 instanceof Error && e3.name === "AbortError") - return; - throw e3; - } finally { - if (!done) - controller.abort(); - } - } - return new Stream(iterator, controller); - } - [Symbol.asyncIterator]() { - return this.iterator(); - } - tee() { - const left = []; - const right = []; - const iterator = this.iterator(); - const teeIterator = (queue) => { - return { - next: () => { - if (queue.length === 0) { - const result = iterator.next(); - left.push(result); - right.push(result); - } - return queue.shift(); - } - }; - }; - return [ - new Stream(() => teeIterator(left), this.controller), - new Stream(() => teeIterator(right), this.controller) - ]; - } - toReadableStream() { - const self2 = this; - let iter; - const encoder = new TextEncoder(); - return new ReadableStream({ - async start() { - iter = self2[Symbol.asyncIterator](); - }, - async pull(ctrl) { - try { - const { value, done } = await iter.next(); - if (done) - return ctrl.close(); - const bytes = encoder.encode(JSON.stringify(value) + "\n"); - ctrl.enqueue(bytes); - } catch (err) { - ctrl.error(err); - } - }, - async cancel() { - await iter.return?.(); - } - }); - } -}; -async function* _iterSSEMessages(response, controller) { - if (!response.body) { - controller.abort(); - throw new AnthropicError(`Attempted to iterate over a response with no body`); - } - const sseDecoder = new SSEDecoder(); - const lineDecoder = new LineDecoder(); - const iter = readableStreamAsyncIterable(response.body); - for await (const sseChunk of iterSSEChunks(iter)) { - for (const line of lineDecoder.decode(sseChunk)) { - const sse = sseDecoder.decode(line); - if (sse) - yield sse; - } - } - for (const line of lineDecoder.flush()) { - const sse = sseDecoder.decode(line); - if (sse) - yield sse; - } -} -async function* iterSSEChunks(iterator) { - let data = new Uint8Array(); - for await (const chunk of iterator) { - if (chunk == null) { - continue; - } - const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; - let newData = new Uint8Array(data.length + binaryChunk.length); - newData.set(data); - newData.set(binaryChunk, data.length); - data = newData; - let patternIndex; - while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { - yield data.slice(0, patternIndex); - data = data.slice(patternIndex); - } - } - if (data.length > 0) { - yield data; - } -} -function findDoubleNewlineIndex(buffer) { - const newline = 10; - const carriage = 13; - for (let i3 = 0; i3 < buffer.length - 2; i3++) { - if (buffer[i3] === newline && buffer[i3 + 1] === newline) { - return i3 + 2; - } - if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { - return i3 + 2; - } - if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { - return i3 + 4; - } - } - return -1; -} -var SSEDecoder = class { - constructor() { - this.event = null; - this.data = []; - this.chunks = []; - } - decode(line) { - if (line.endsWith("\r")) { - line = line.substring(0, line.length - 1); - } - if (!line) { - if (!this.event && !this.data.length) - return null; - const sse = { - event: this.event, - data: this.data.join("\n"), - raw: this.chunks - }; - this.event = null; - this.data = []; - this.chunks = []; - return sse; - } - this.chunks.push(line); - if (line.startsWith(":")) { - return null; - } - let [fieldname, _7, value] = partition(line, ":"); - if (value.startsWith(" ")) { - value = value.substring(1); - } - if (fieldname === "event") { - this.event = value; - } else if (fieldname === "data") { - this.data.push(value); - } - return null; - } -}; -var LineDecoder = class { - constructor() { - this.buffer = []; - this.trailingCR = false; - } - decode(chunk) { - let text = this.decodeText(chunk); - if (this.trailingCR) { - text = "\r" + text; - this.trailingCR = false; - } - if (text.endsWith("\r")) { - this.trailingCR = true; - text = text.slice(0, -1); - } - if (!text) { - return []; - } - const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); - let lines = text.split(LineDecoder.NEWLINE_REGEXP); - if (trailingNewline) { - lines.pop(); - } - if (lines.length === 1 && !trailingNewline) { - this.buffer.push(lines[0]); - return []; - } - if (this.buffer.length > 0) { - lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; - this.buffer = []; - } - if (!trailingNewline) { - this.buffer = [lines.pop() || ""]; - } - return lines; - } - decodeText(bytes) { - if (bytes == null) - return ""; - if (typeof bytes === "string") - return bytes; - if (typeof Buffer !== "undefined") { - if (bytes instanceof Buffer) { - return bytes.toString(); - } - if (bytes instanceof Uint8Array) { - return Buffer.from(bytes).toString(); - } - throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); - } - if (typeof TextDecoder !== "undefined") { - if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { - this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); - return this.textDecoder.decode(bytes); - } - throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); - } - throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); - } - flush() { - if (!this.buffer.length && !this.trailingCR) { - return []; - } - const lines = [this.buffer.join("")]; - this.buffer = []; - this.trailingCR = false; - return lines; - } -}; -LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); -LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; -function partition(str, delimiter) { - const index = str.indexOf(delimiter); - if (index !== -1) { - return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; - } - return [str, "", ""]; -} -function readableStreamAsyncIterable(stream4) { - if (stream4[Symbol.asyncIterator]) - return stream4; - const reader = stream4.getReader(); - return { - async next() { - try { - const result = await reader.read(); - if (result?.done) - reader.releaseLock(); - return result; - } catch (e3) { - reader.releaseLock(); - throw e3; - } - }, - async return() { - const cancelPromise = reader.cancel(); - reader.releaseLock(); - await cancelPromise; - return { done: true, value: void 0 }; - }, - [Symbol.asyncIterator]() { - return this; - } - }; -} - -// node_modules/@anthropic-ai/sdk/uploads.mjs -var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; -var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); -var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; -async function toFile(value, name, options) { - value = await value; - options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); - if (isResponseLike(value)) { - const blob = await value.blob(); - name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); - return new File([blob], name, options); - } - const bits = await getBytes(value); - name || (name = getName(value) ?? "unknown_file"); - if (!options.type) { - const type = bits[0]?.type; - if (typeof type === "string") { - options = { ...options, type }; - } - } - return new File(bits, name, options); -} -async function getBytes(value) { - let parts = []; - if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { - parts.push(value); - } else if (isBlobLike(value)) { - parts.push(await value.arrayBuffer()); - } else if (isAsyncIterableIterator(value)) { - for await (const chunk of value) { - parts.push(chunk); - } - } else { - throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); - } - return parts; -} -function propsForError(value) { - const props = Object.getOwnPropertyNames(value); - return `[${props.map((p4) => `"${p4}"`).join(", ")}]`; -} -function getName(value) { - return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); -} -var getStringFromMaybeBuffer = (x5) => { - if (typeof x5 === "string") - return x5; - if (typeof Buffer !== "undefined" && x5 instanceof Buffer) - return String(x5); - return void 0; -}; -var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; -var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; - -// node_modules/@anthropic-ai/sdk/core.mjs -var __classPrivateFieldSet5 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet6 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _AbstractPage_client; -async function defaultParseResponse(props) { - const { response } = props; - if (props.options.stream) { - debug("response", response.status, response.url, response.headers, response.body); - if (props.options.__streamClass) { - return props.options.__streamClass.fromSSEResponse(response, props.controller); - } - return Stream.fromSSEResponse(response, props.controller); - } - if (response.status === 204) { - return null; - } - if (props.options.__binaryResponse) { - return response; - } - const contentType = response.headers.get("content-type"); - const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); - if (isJSON) { - const json = await response.json(); - debug("response", response.status, response.url, response.headers, json); - return json; - } - const text = await response.text(); - debug("response", response.status, response.url, response.headers, text); - return text; -} -var APIPromise = class extends Promise { - constructor(responsePromise, parseResponse = defaultParseResponse) { - super((resolve) => { - resolve(null); - }); - this.responsePromise = responsePromise; - this.parseResponse = parseResponse; - } - _thenUnwrap(transform) { - return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); - } - asResponse() { - return this.responsePromise.then((p4) => p4.response); - } - async withResponse() { - const [data, response] = await Promise.all([this.parse(), this.asResponse()]); - return { data, response }; - } - parse() { - if (!this.parsedPromise) { - this.parsedPromise = this.responsePromise.then(this.parseResponse); - } - return this.parsedPromise; - } - then(onfulfilled, onrejected) { - return this.parse().then(onfulfilled, onrejected); - } - catch(onrejected) { - return this.parse().catch(onrejected); - } - finally(onfinally) { - return this.parse().finally(onfinally); - } -}; -var APIClient = class { - constructor({ - baseURL, - maxRetries = 2, - timeout = 6e5, - httpAgent, - fetch: overridenFetch - }) { - this.baseURL = baseURL; - this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); - this.timeout = validatePositiveInteger("timeout", timeout); - this.httpAgent = httpAgent; - this.fetch = overridenFetch ?? fetch; - } - authHeaders(opts) { - return {}; - } - defaultHeaders(opts) { - return { - Accept: "application/json", - "Content-Type": "application/json", - "User-Agent": this.getUserAgent(), - ...getPlatformHeaders(), - ...this.authHeaders(opts) - }; - } - validateHeaders(headers, customHeaders) { - } - defaultIdempotencyKey() { - return `stainless-node-retry-${uuid4()}`; - } - get(path5, opts) { - return this.methodRequest("get", path5, opts); - } - post(path5, opts) { - return this.methodRequest("post", path5, opts); - } - patch(path5, opts) { - return this.methodRequest("patch", path5, opts); - } - put(path5, opts) { - return this.methodRequest("put", path5, opts); - } - delete(path5, opts) { - return this.methodRequest("delete", path5, opts); - } - methodRequest(method, path5, opts) { - return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path5, ...opts2 }))); - } - getAPIList(path5, Page, opts) { - return this.requestAPIList(Page, { method: "get", path: path5, ...opts }); - } - calculateContentLength(body) { - if (typeof body === "string") { - if (typeof Buffer !== "undefined") { - return Buffer.byteLength(body, "utf8").toString(); - } - if (typeof TextEncoder !== "undefined") { - const encoder = new TextEncoder(); - const encoded = encoder.encode(body); - return encoded.length.toString(); - } - } - return null; - } - buildRequest(options) { - const { method, path: path5, query, headers = {} } = options; - const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; - const contentLength = this.calculateContentLength(body); - const url2 = this.buildURL(path5, query); - if ("timeout" in options) - validatePositiveInteger("timeout", options.timeout); - const timeout = options.timeout ?? this.timeout; - const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); - const minAgentTimeout = timeout + 1e3; - if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { - httpAgent.options.timeout = minAgentTimeout; - } - if (this.idempotencyHeader && method !== "get") { - if (!options.idempotencyKey) - options.idempotencyKey = this.defaultIdempotencyKey(); - headers[this.idempotencyHeader] = options.idempotencyKey; - } - const reqHeaders = this.buildHeaders({ options, headers, contentLength }); - const req = { - method, - ...body && { body }, - headers: reqHeaders, - ...httpAgent && { agent: httpAgent }, - signal: options.signal ?? null - }; - return { req, url: url2, timeout }; - } - buildHeaders({ options, headers, contentLength }) { - const reqHeaders = {}; - if (contentLength) { - reqHeaders["content-length"] = contentLength; - } - const defaultHeaders = this.defaultHeaders(options); - applyHeadersMut(reqHeaders, defaultHeaders); - applyHeadersMut(reqHeaders, headers); - if (isMultipartBody(options.body) && kind !== "node") { - delete reqHeaders["content-type"]; - } - this.validateHeaders(reqHeaders, headers); - return reqHeaders; - } - async prepareOptions(options) { - } - async prepareRequest(request, { url: url2, options }) { - } - parseHeaders(headers) { - return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; - } - makeStatusError(status, error, message, headers) { - return APIError.generate(status, error, message, headers); - } - request(options, remainingRetries = null) { - return new APIPromise(this.makeRequest(options, remainingRetries)); - } - async makeRequest(optionsInput, retriesRemaining) { - const options = await optionsInput; - if (retriesRemaining == null) { - retriesRemaining = options.maxRetries ?? this.maxRetries; - } - await this.prepareOptions(options); - const { req, url: url2, timeout } = this.buildRequest(options); - await this.prepareRequest(req, { url: url2, options }); - debug("request", url2, options, req.headers); - if (options.signal?.aborted) { - throw new APIUserAbortError(); - } - const controller = new AbortController(); - const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); - if (response instanceof Error) { - if (options.signal?.aborted) { - throw new APIUserAbortError(); - } - if (retriesRemaining) { - return this.retryRequest(options, retriesRemaining); - } - if (response.name === "AbortError") { - throw new APIConnectionTimeoutError(); - } - throw new APIConnectionError({ cause: response }); - } - const responseHeaders = createResponseHeaders(response.headers); - if (!response.ok) { - if (retriesRemaining && this.shouldRetry(response)) { - const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; - debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); - return this.retryRequest(options, retriesRemaining, responseHeaders); - } - const errText = await response.text().catch((e3) => castToError(e3).message); - const errJSON = safeJSON(errText); - const errMessage = errJSON ? void 0 : errText; - const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; - debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); - const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); - throw err; - } - return { response, options, controller }; - } - requestAPIList(Page, options) { - const request = this.makeRequest(options, null); - return new PagePromise(this, request, Page); - } - buildURL(path5, query) { - const url2 = isAbsoluteURL2(path5) ? new URL(path5) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path5.startsWith("/") ? path5.slice(1) : path5)); - const defaultQuery = this.defaultQuery(); - if (!isEmptyObj(defaultQuery)) { - query = { ...defaultQuery, ...query }; - } - if (typeof query === "object" && query && !Array.isArray(query)) { - url2.search = this.stringifyQuery(query); - } - return url2.toString(); - } - stringifyQuery(query) { - return Object.entries(query).filter(([_7, value]) => typeof value !== "undefined").map(([key, value]) => { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; - } - if (value === null) { - return `${encodeURIComponent(key)}=`; - } - throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); - }).join("&"); - } - async fetchWithTimeout(url2, init, ms, controller) { - const { signal, ...options } = init || {}; - if (signal) - signal.addEventListener("abort", () => controller.abort()); - const timeout = setTimeout(() => controller.abort(), ms); - return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { - clearTimeout(timeout); - }); - } - getRequestClient() { - return { fetch: this.fetch }; - } - shouldRetry(response) { - const shouldRetryHeader = response.headers.get("x-should-retry"); - if (shouldRetryHeader === "true") - return true; - if (shouldRetryHeader === "false") - return false; - if (response.status === 408) - return true; - if (response.status === 409) - return true; - if (response.status === 429) - return true; - if (response.status >= 500) - return true; - return false; - } - async retryRequest(options, retriesRemaining, responseHeaders) { - let timeoutMillis; - const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; - if (retryAfterMillisHeader) { - const timeoutMs = parseFloat(retryAfterMillisHeader); - if (!Number.isNaN(timeoutMs)) { - timeoutMillis = timeoutMs; - } - } - const retryAfterHeader = responseHeaders?.["retry-after"]; - if (retryAfterHeader && !timeoutMillis) { - const timeoutSeconds = parseFloat(retryAfterHeader); - if (!Number.isNaN(timeoutSeconds)) { - timeoutMillis = timeoutSeconds * 1e3; - } else { - timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); - } - } - if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { - const maxRetries = options.maxRetries ?? this.maxRetries; - timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); - } - await sleep(timeoutMillis); - return this.makeRequest(options, retriesRemaining - 1); - } - calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { - const initialRetryDelay = 0.5; - const maxRetryDelay = 8; - const numRetries = maxRetries - retriesRemaining; - const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); - const jitter = 1 - Math.random() * 0.25; - return sleepSeconds * jitter * 1e3; - } - getUserAgent() { - return `${this.constructor.name}/JS ${VERSION3}`; - } -}; -var AbstractPage = class { - constructor(client, response, body, options) { - _AbstractPage_client.set(this, void 0); - __classPrivateFieldSet5(this, _AbstractPage_client, client, "f"); - this.options = options; - this.response = response; - this.body = body; - } - hasNextPage() { - const items = this.getPaginatedItems(); - if (!items.length) - return false; - return this.nextPageInfo() != null; - } - async getNextPage() { - const nextInfo = this.nextPageInfo(); - if (!nextInfo) { - throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); - } - const nextOptions = { ...this.options }; - if ("params" in nextInfo && typeof nextOptions.query === "object") { - nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; - } else if ("url" in nextInfo) { - const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; - for (const [key, value] of params) { - nextInfo.url.searchParams.set(key, value); - } - nextOptions.query = void 0; - nextOptions.path = nextInfo.url.toString(); - } - return await __classPrivateFieldGet6(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); - } - async *iterPages() { - let page = this; - yield page; - while (page.hasNextPage()) { - page = await page.getNextPage(); - yield page; - } - } - async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { - for await (const page of this.iterPages()) { - for (const item of page.getPaginatedItems()) { - yield item; - } - } - } -}; -var PagePromise = class extends APIPromise { - constructor(client, request, Page) { - super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); - } - async *[Symbol.asyncIterator]() { - const page = await this; - for await (const item of page) { - yield item; - } - } -}; -var createResponseHeaders = (headers) => { - return new Proxy(Object.fromEntries( - headers.entries() - ), { - get(target, name) { - const key = name.toString(); - return target[key.toLowerCase()] || target[key]; - } - }); -}; -var getPlatformProperties = () => { - if (typeof Deno !== "undefined" && Deno.build != null) { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": normalizePlatform(Deno.build.os), - "X-Stainless-Arch": normalizeArch(Deno.build.arch), - "X-Stainless-Runtime": "deno", - "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" - }; - } - if (typeof EdgeRuntime !== "undefined") { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": `other:${EdgeRuntime}`, - "X-Stainless-Runtime": "edge", - "X-Stainless-Runtime-Version": process.version - }; - } - if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": normalizePlatform(process.platform), - "X-Stainless-Arch": normalizeArch(process.arch), - "X-Stainless-Runtime": "node", - "X-Stainless-Runtime-Version": process.version - }; - } - const browserInfo = getBrowserInfo(); - if (browserInfo) { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": "unknown", - "X-Stainless-Runtime": `browser:${browserInfo.browser}`, - "X-Stainless-Runtime-Version": browserInfo.version - }; - } - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": "unknown", - "X-Stainless-Runtime": "unknown", - "X-Stainless-Runtime-Version": "unknown" - }; -}; -function getBrowserInfo() { - if (typeof navigator === "undefined" || !navigator) { - return null; - } - const browserPatterns = [ - { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } - ]; - for (const { key, pattern } of browserPatterns) { - const match = pattern.exec(navigator.userAgent); - if (match) { - const major = match[1] || 0; - const minor = match[2] || 0; - const patch = match[3] || 0; - return { browser: key, version: `${major}.${minor}.${patch}` }; - } - } - return null; -} -var normalizeArch = (arch) => { - if (arch === "x32") - return "x32"; - if (arch === "x86_64" || arch === "x64") - return "x64"; - if (arch === "arm") - return "arm"; - if (arch === "aarch64" || arch === "arm64") - return "arm64"; - if (arch) - return `other:${arch}`; - return "unknown"; -}; -var normalizePlatform = (platform) => { - platform = platform.toLowerCase(); - if (platform.includes("ios")) - return "iOS"; - if (platform === "android") - return "Android"; - if (platform === "darwin") - return "MacOS"; - if (platform === "win32") - return "Windows"; - if (platform === "freebsd") - return "FreeBSD"; - if (platform === "openbsd") - return "OpenBSD"; - if (platform === "linux") - return "Linux"; - if (platform) - return `Other:${platform}`; - return "Unknown"; -}; -var _platformHeaders; -var getPlatformHeaders = () => { - return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); -}; -var safeJSON = (text) => { - try { - return JSON.parse(text); - } catch (err) { - return void 0; - } -}; -var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); -var isAbsoluteURL2 = (url2) => { - return startsWithSchemeRegexp.test(url2); -}; -var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); -var validatePositiveInteger = (name, n2) => { - if (typeof n2 !== "number" || !Number.isInteger(n2)) { - throw new AnthropicError(`${name} must be an integer`); - } - if (n2 < 0) { - throw new AnthropicError(`${name} must be a positive integer`); - } - return n2; -}; -var castToError = (err) => { - if (err instanceof Error) - return err; - return new Error(err); -}; -var readEnv = (env2) => { - if (typeof process !== "undefined") { - return process.env?.[env2]?.trim() ?? void 0; - } - if (typeof Deno !== "undefined") { - return Deno.env?.get?.(env2)?.trim(); - } - return void 0; -}; -function isEmptyObj(obj) { - if (!obj) - return true; - for (const _k in obj) - return false; - return true; -} -function hasOwn(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); -} -function applyHeadersMut(targetHeaders, newHeaders) { - for (const k7 in newHeaders) { - if (!hasOwn(newHeaders, k7)) - continue; - const lowerKey = k7.toLowerCase(); - if (!lowerKey) - continue; - const val = newHeaders[k7]; - if (val === null) { - delete targetHeaders[lowerKey]; - } else if (val !== void 0) { - targetHeaders[lowerKey] = val; - } - } -} -function debug(action, ...args) { - if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { - console.log(`Anthropic:DEBUG:${action}`, ...args); - } -} -var uuid4 = () => { - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c3) => { - const r3 = Math.random() * 16 | 0; - const v5 = c3 === "x" ? r3 : r3 & 3 | 8; - return v5.toString(16); - }); -}; - -// node_modules/@anthropic-ai/sdk/resource.mjs -var APIResource = class { - constructor(client) { - this._client = client; - } -}; - -// node_modules/@anthropic-ai/sdk/resources/completions.mjs -var Completions = class extends APIResource { - create(body, options) { - return this._client.post("/v1/complete", { - body, - timeout: 6e5, - ...options, - stream: body.stream ?? false - }); - } -}; -(function(Completions2) { -})(Completions || (Completions = {})); - -// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs -var __classPrivateFieldSet6 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet7 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _MessageStream_instances; -var _MessageStream_currentMessageSnapshot; -var _MessageStream_connectedPromise; -var _MessageStream_resolveConnectedPromise; -var _MessageStream_rejectConnectedPromise; -var _MessageStream_endPromise; -var _MessageStream_resolveEndPromise; -var _MessageStream_rejectEndPromise; -var _MessageStream_listeners; -var _MessageStream_ended; -var _MessageStream_errored; -var _MessageStream_aborted; -var _MessageStream_catchingPromiseCreated; -var _MessageStream_getFinalMessage; -var _MessageStream_getFinalText; -var _MessageStream_handleError; -var _MessageStream_beginRequest; -var _MessageStream_addStreamEvent; -var _MessageStream_endRequest; -var _MessageStream_accumulateMessage; -var MessageStream = class { - constructor() { - _MessageStream_instances.add(this); - this.messages = []; - this.receivedMessages = []; - _MessageStream_currentMessageSnapshot.set(this, void 0); - this.controller = new AbortController(); - _MessageStream_connectedPromise.set(this, void 0); - _MessageStream_resolveConnectedPromise.set(this, () => { - }); - _MessageStream_rejectConnectedPromise.set(this, () => { - }); - _MessageStream_endPromise.set(this, void 0); - _MessageStream_resolveEndPromise.set(this, () => { - }); - _MessageStream_rejectEndPromise.set(this, () => { - }); - _MessageStream_listeners.set(this, {}); - _MessageStream_ended.set(this, false); - _MessageStream_errored.set(this, false); - _MessageStream_aborted.set(this, false); - _MessageStream_catchingPromiseCreated.set(this, false); - _MessageStream_handleError.set(this, (error) => { - __classPrivateFieldSet6(this, _MessageStream_errored, true, "f"); - if (error instanceof Error && error.name === "AbortError") { - error = new APIUserAbortError(); - } - if (error instanceof APIUserAbortError) { - __classPrivateFieldSet6(this, _MessageStream_aborted, true, "f"); - return this._emit("abort", error); - } - if (error instanceof AnthropicError) { - return this._emit("error", error); - } - if (error instanceof Error) { - const anthropicError = new AnthropicError(error.message); - anthropicError.cause = error; - return this._emit("error", anthropicError); - } - return this._emit("error", new AnthropicError(String(error))); - }); - __classPrivateFieldSet6(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_resolveConnectedPromise, resolve, "f"); - __classPrivateFieldSet6(this, _MessageStream_rejectConnectedPromise, reject, "f"); - }), "f"); - __classPrivateFieldSet6(this, _MessageStream_endPromise, new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_resolveEndPromise, resolve, "f"); - __classPrivateFieldSet6(this, _MessageStream_rejectEndPromise, reject, "f"); - }), "f"); - __classPrivateFieldGet7(this, _MessageStream_connectedPromise, "f").catch(() => { - }); - __classPrivateFieldGet7(this, _MessageStream_endPromise, "f").catch(() => { - }); - } - static fromReadableStream(stream4) { - const runner = new MessageStream(); - runner._run(() => runner._fromReadableStream(stream4)); - return runner; - } - static createMessage(messages, params, options) { - const runner = new MessageStream(); - for (const message of params.messages) { - runner._addMessageParam(message); - } - runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); - return runner; - } - _run(executor) { - executor().then(() => { - this._emitFinal(); - this._emit("end"); - }, __classPrivateFieldGet7(this, _MessageStream_handleError, "f")); - } - _addMessageParam(message) { - this.messages.push(message); - } - _addMessage(message, emit = true) { - this.receivedMessages.push(message); - if (emit) { - this._emit("message", message); - } - } - async _createMessage(messages, params, options) { - const signal = options?.signal; - if (signal) { - if (signal.aborted) - this.controller.abort(); - signal.addEventListener("abort", () => this.controller.abort()); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); - const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); - this._connected(); - for await (const event of stream4) { - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); - } - if (stream4.controller.signal?.aborted) { - throw new APIUserAbortError(); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); - } - _connected() { - if (this.ended) - return; - __classPrivateFieldGet7(this, _MessageStream_resolveConnectedPromise, "f").call(this); - this._emit("connect"); - } - get ended() { - return __classPrivateFieldGet7(this, _MessageStream_ended, "f"); - } - get errored() { - return __classPrivateFieldGet7(this, _MessageStream_errored, "f"); - } - get aborted() { - return __classPrivateFieldGet7(this, _MessageStream_aborted, "f"); - } - abort() { - this.controller.abort(); - } - on(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); - listeners.push({ listener }); - return this; - } - off(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; - if (!listeners) - return this; - const index = listeners.findIndex((l3) => l3.listener === listener); - if (index >= 0) - listeners.splice(index, 1); - return this; - } - once(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); - listeners.push({ listener, once: true }); - return this; - } - emitted(event) { - return new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); - if (event !== "error") - this.once("error", reject); - this.once(event, resolve); - }); - } - async done() { - __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); - await __classPrivateFieldGet7(this, _MessageStream_endPromise, "f"); - } - get currentMessage() { - return __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - } - async finalMessage() { - await this.done(); - return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); - } - async finalText() { - await this.done(); - return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); - } - _emit(event, ...args) { - if (__classPrivateFieldGet7(this, _MessageStream_ended, "f")) - return; - if (event === "end") { - __classPrivateFieldSet6(this, _MessageStream_ended, true, "f"); - __classPrivateFieldGet7(this, _MessageStream_resolveEndPromise, "f").call(this); - } - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; - if (listeners) { - __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); - listeners.forEach(({ listener }) => listener(...args)); - } - if (event === "abort") { - const error = args[0]; - if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { - Promise.reject(error); - } - __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); - __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); - this._emit("end"); - return; - } - if (event === "error") { - const error = args[0]; - if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { - Promise.reject(error); - } - __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); - __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); - this._emit("end"); - } - } - _emitFinal() { - const finalMessage = this.receivedMessages.at(-1); - if (finalMessage) { - this._emit("finalMessage", __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); - } - } - async _fromReadableStream(readableStream, options) { - const signal = options?.signal; - if (signal) { - if (signal.aborted) - this.controller.abort(); - signal.addEventListener("abort", () => this.controller.abort()); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); - this._connected(); - const stream4 = Stream.fromReadableStream(readableStream, this.controller); - for await (const event of stream4) { - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); - } - if (stream4.controller.signal?.aborted) { - throw new APIUserAbortError(); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); - } - [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { - if (this.receivedMessages.length === 0) { - throw new AnthropicError("stream ended without producing a Message with role=assistant"); - } - return this.receivedMessages.at(-1); - }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { - if (this.receivedMessages.length === 0) { - throw new AnthropicError("stream ended without producing a Message with role=assistant"); - } - const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); - if (textBlocks.length === 0) { - throw new AnthropicError("stream ended without producing a content block with type=text"); - } - return textBlocks.join(" "); - }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { - if (this.ended) - return; - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); - }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { - if (this.ended) - return; - const messageSnapshot = __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); - this._emit("streamEvent", event, messageSnapshot); - switch (event.type) { - case "content_block_delta": { - if (event.delta.type === "text_delta") { - this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); - } - break; - } - case "message_stop": { - this._addMessageParam(messageSnapshot); - this._addMessage(messageSnapshot, true); - break; - } - case "content_block_stop": { - this._emit("contentBlock", messageSnapshot.content.at(-1)); - break; - } - case "message_start": { - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); - break; - } - case "content_block_start": - case "message_delta": - break; - } - }, _MessageStream_endRequest = function _MessageStream_endRequest2() { - if (this.ended) { - throw new AnthropicError(`stream has ended, this shouldn't happen`); - } - const snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - if (!snapshot) { - throw new AnthropicError(`request ended without sending any chunks`); - } - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); - return snapshot; - }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { - let snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - if (event.type === "message_start") { - if (snapshot) { - throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); - } - return event.message; - } - if (!snapshot) { - throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); - } - switch (event.type) { - case "message_stop": - return snapshot; - case "message_delta": - snapshot.stop_reason = event.delta.stop_reason; - snapshot.stop_sequence = event.delta.stop_sequence; - snapshot.usage.output_tokens = event.usage.output_tokens; - return snapshot; - case "content_block_start": - snapshot.content.push(event.content_block); - return snapshot; - case "content_block_delta": { - const snapshotContent = snapshot.content.at(event.index); - if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { - snapshotContent.text += event.delta.text; - } - return snapshot; - } - case "content_block_stop": - return snapshot; - } - }, Symbol.asyncIterator)]() { - const pushQueue = []; - const readQueue = []; - let done = false; - this.on("streamEvent", (event) => { - const reader = readQueue.shift(); - if (reader) { - reader.resolve(event); - } else { - pushQueue.push(event); - } - }); - this.on("end", () => { - done = true; - for (const reader of readQueue) { - reader.resolve(void 0); - } - readQueue.length = 0; - }); - this.on("abort", (err) => { - done = true; - for (const reader of readQueue) { - reader.reject(err); - } - readQueue.length = 0; - }); - this.on("error", (err) => { - done = true; - for (const reader of readQueue) { - reader.reject(err); - } - readQueue.length = 0; - }); - return { - next: async () => { - if (!pushQueue.length) { - if (done) { - return { value: void 0, done: true }; - } - return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); - } - const chunk = pushQueue.shift(); - return { value: chunk, done: false }; - }, - return: async () => { - this.abort(); - return { value: void 0, done: true }; - } - }; - } - toReadableStream() { - const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); - return stream4.toReadableStream(); - } -}; - -// node_modules/@anthropic-ai/sdk/resources/messages.mjs -var Messages = class extends APIResource { - create(body, options) { - return this._client.post("/v1/messages", { - body, - timeout: 6e5, - ...options, - stream: body.stream ?? false - }); - } - stream(body, options) { - return MessageStream.createMessage(this, body, options); - } -}; -(function(Messages2) { -})(Messages || (Messages = {})); - -// node_modules/@anthropic-ai/sdk/index.mjs -var _a; -var Anthropic = class extends APIClient { - constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey3 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { - const options = { - apiKey: apiKey3, - authToken, - ...opts, - baseURL: baseURL || `https://api.anthropic.com` - }; - super({ - baseURL: options.baseURL, - timeout: options.timeout ?? 6e5, - httpAgent: options.httpAgent, - maxRetries: options.maxRetries, - fetch: options.fetch - }); - this.completions = new Completions(this); - this.messages = new Messages(this); - this._options = options; - this.apiKey = apiKey3; - this.authToken = authToken; - } - defaultQuery() { - return this._options.defaultQuery; - } - defaultHeaders(opts) { - return { - ...super.defaultHeaders(opts), - "anthropic-version": "2023-06-01", - ...this._options.defaultHeaders - }; - } - validateHeaders(headers, customHeaders) { - if (this.apiKey && headers["x-api-key"]) { - return; - } - if (customHeaders["x-api-key"] === null) { - return; - } - if (this.authToken && headers["authorization"]) { - return; - } - if (customHeaders["authorization"] === null) { - return; - } - throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); - } - authHeaders(opts) { - const apiKeyAuth = this.apiKeyAuth(opts); - const bearerAuth = this.bearerAuth(opts); - if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { - return apiKeyAuth; - } - if (bearerAuth != null && !isEmptyObj(bearerAuth)) { - return bearerAuth; - } - return {}; - } - apiKeyAuth(opts) { - if (this.apiKey == null) { - return {}; - } - return { "X-Api-Key": this.apiKey }; - } - bearerAuth(opts) { - if (this.authToken == null) { - return {}; - } - return { Authorization: `Bearer ${this.authToken}` }; - } -}; -_a = Anthropic; -Anthropic.Anthropic = _a; -Anthropic.HUMAN_PROMPT = "\n\nHuman:"; -Anthropic.AI_PROMPT = "\n\nAssistant:"; -Anthropic.AnthropicError = AnthropicError; -Anthropic.APIError = APIError; -Anthropic.APIConnectionError = APIConnectionError; -Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; -Anthropic.APIUserAbortError = APIUserAbortError; -Anthropic.NotFoundError = NotFoundError; -Anthropic.ConflictError = ConflictError; -Anthropic.RateLimitError = RateLimitError; -Anthropic.BadRequestError = BadRequestError; -Anthropic.AuthenticationError = AuthenticationError; -Anthropic.InternalServerError = InternalServerError; -Anthropic.PermissionDeniedError = PermissionDeniedError; -Anthropic.UnprocessableEntityError = UnprocessableEntityError; -var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; -var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; -(function(Anthropic2) { - Anthropic2.toFile = toFile; - Anthropic2.fileFromPath = fileFromPath; - Anthropic2.Completions = Completions; - Anthropic2.Messages = Messages; -})(Anthropic || (Anthropic = {})); -var sdk_default = Anthropic; - -// src/engine/anthropic.ts -var config4 = getConfig(); -var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; -var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var provider2 = config4?.OCO_AI_PROVIDER; -var apiKey2 = config4?.OCO_ANTHROPIC_API_KEY; -var [command2, mode2] = process.argv.slice(2); -if (provider2 === "anthropic" && !apiKey2 && command2 !== "config" && mode2 !== "set" /* set */) { - ae("opencommit"); - ce( - "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY=<your token> . If you are using Claude, make sure you add payment details, so API works.`" - ); - ce( - "For help look into README https://github.com/di-sukharev/opencommit#setup" - ); - process.exit(1); -} -var MODEL2 = config4?.OCO_MODEL; -if (provider2 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL2) && command2 !== "config" && mode2 !== "set" /* set */) { - ce( - `${source_default.red("\u2716")} Unsupported model ${MODEL2} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( - ", " - )}` - ); - process.exit(1); -} -var AnthropicAi = class { - anthropicAiApiConfiguration = { - apiKey: apiKey2 - }; - anthropicAI; - constructor() { - this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); - } - generateCommitMessage = async (messages) => { - const systemMessage = messages.find((msg) => msg.role === "system")?.content; - const restMessages = messages.filter((msg) => msg.role !== "system"); - const params = { - model: MODEL2, - system: systemMessage, - messages: restMessages, - temperature: 0, - top_p: 0.1, - max_tokens: MAX_TOKENS_OUTPUT2 - }; - try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); - if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { - throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); - } - const data = await this.anthropicAI.messages.create(params); - const message = data?.content[0].text; - return message; - } catch (error) { - ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); - const err = error; - ce(`${source_default.red("\u2716")} ${err?.message || err}`); - if (axios_default.isAxiosError(error) && error.response?.status === 401) { - const anthropicAiError = error.response.data.error; - if (anthropicAiError?.message) - ce(anthropicAiError.message); - ce( - "For help look into README https://github.com/di-sukharev/opencommit#setup" - ); - } - throw err; - } - }; -}; -var anthropicAi = new AnthropicAi(); - -// src/engine/testAi.ts -var TestAi = class { - async generateCommitMessage(messages) { - return "test commit message"; - } -}; -var testAi = new TestAi(); - // src/utils/engine.ts function getEngine() { - const config9 = getConfig(); - if (config9?.OCO_AI_PROVIDER == "ollama") { + const config8 = getConfig(); + const provider = config8?.OCO_AI_PROVIDER; + if (provider?.startsWith("ollama")) { + const model = provider.split("/")[1]; + if (model) { + ollamaAi.setModel(model); + } return ollamaAi; - } else if (config9?.OCO_AI_PROVIDER == "anthropic") { - return anthropicAi; - } else if (config9?.OCO_AI_PROVIDER == "test") { - return testAi; } return api; } // src/modules/commitlint/config.ts -var config5 = getConfig(); -var translation2 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config4 = getConfig(); +var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -35199,15 +22089,15 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config6 = getConfig(); -var translation3 = i18n[config6?.OCO_LANGUAGE || "en"]; +var config5 = getConfig(); +var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config6?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config6?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config6?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { @@ -35239,12 +22129,12 @@ var INIT_DIFF_PROMPT = { }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config6?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config6?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config6?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config6?.OCO_PROMPT_MODULE) { + switch (config5?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -35289,9 +22179,9 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config7 = getConfig(); -var MAX_TOKENS_INPUT3 = config7?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT3 = config7?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config6 = getConfig(); +var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; @@ -35314,8 +22204,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a4, b7) => a4 + b7, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT3 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT3; + ).reduce((a2, b6) => a2 + b6, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -35423,7 +22313,7 @@ function delay(ms) { } // src/utils/git.ts -var import_fs3 = require("fs"); +var import_fs2 = require("fs"); var import_ignore = __toESM(require_ignore(), 1); var assertGitRepo = async () => { try { @@ -35435,8 +22325,8 @@ var assertGitRepo = async () => { var getOpenCommitIgnore = () => { const ig = (0, import_ignore.default)(); try { - ig.add((0, import_fs3.readFileSync)(".opencommitignore").toString().split("\n")); - } catch (e3) { + ig.add((0, import_fs2.readFileSync)(".opencommitignore").toString().split("\n")); + } catch (e2) { } return ig; }; @@ -35520,14 +22410,14 @@ var trytm = async (promise) => { }; // src/commands/commit.ts -var config8 = getConfig(); +var config7 = getConfig(); var getGitRemotes = async () => { const { stdout } = await execa("git", ["remote"]); return stdout.split("\n").filter((remote) => Boolean(remote.trim())); }; var checkMessageTemplate = (extraArgs2) => { for (const key in extraArgs2) { - if (extraArgs2[key].includes(config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) + if (extraArgs2[key].includes(config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) return extraArgs2[key]; } return false; @@ -35542,11 +22432,11 @@ var generateCommitMessageFromGitDiff = async (diff, extraArgs2, fullGitMojiSpec) fullGitMojiSpec ); const messageTemplate = checkMessageTemplate(extraArgs2); - if (config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { + if (config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { const messageTemplateIndex = extraArgs2.indexOf(messageTemplate); extraArgs2.splice(messageTemplateIndex, 1); commitMessage = messageTemplate.replace( - config8?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, + config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, commitMessage ); } @@ -35560,7 +22450,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 const isCommitConfirmedByUser = await Q3({ message: "Confirm the commit message?" }); - if (isCommitConfirmedByUser && !hD2(isCommitConfirmedByUser)) { + if (isCommitConfirmedByUser && !eD2(isCommitConfirmedByUser)) { const { stdout } = await execa("git", [ "commit", "-m", @@ -35570,19 +22460,17 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(`${source_default.green("\u2714")} Successfully committed`); ce(stdout); const remotes = await getGitRemotes(); - if (config8?.OCO_GITPUSH === false) - return; if (!remotes.length) { const { stdout: stdout2 } = await execa("git", ["push"]); if (stdout2) ce(stdout2); process.exit(0); } - if (remotes.length === 1 && config8?.OCO_GITPUSH !== true) { + if (remotes.length === 1) { const isPushConfirmedByUser = await Q3({ message: "Do you want to run `git push`?" }); - if (isPushConfirmedByUser && !hD2(isPushConfirmedByUser)) { + if (isPushConfirmedByUser && !eD2(isPushConfirmedByUser)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${remotes[0]}'`); const { stdout: stdout2 } = await execa("git", [ @@ -35604,7 +22492,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 message: "Choose a remote to push to", options: remotes.map((remote) => ({ value: remote, label: remote })) }); - if (!hD2(selectedRemote)) { + if (!eD2(selectedRemote)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${selectedRemote}'`); const { stdout: stdout2 } = await execa("git", ["push", selectedRemote]); @@ -35654,7 +22542,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = const isStageAllAndCommitConfirmedByUser = await Q3({ message: "Do you want to stage all files and generate commit message?" }); - if (isStageAllAndCommitConfirmedByUser && !hD2(isStageAllAndCommitConfirmedByUser)) { + if (isStageAllAndCommitConfirmedByUser && !eD2(isStageAllAndCommitConfirmedByUser)) { await commit(extraArgs2, true, fullGitMojiSpec); process.exit(1); } @@ -35666,7 +22554,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = label: file })) }); - if (hD2(files)) + if (eD2(files)) process.exit(1); await gitAdd({ files }); } @@ -35700,18 +22588,18 @@ var commitlintConfigCommand = G3( async (argv) => { ae("opencommit \u2014 configure @commitlint"); try { - const { mode: mode3 } = argv._; - if (mode3 === "get" /* get */) { + const { mode: mode2 } = argv._; + if (mode2 === "get" /* get */) { const commitLintConfig = await getCommitlintLLMConfig(); ce(commitLintConfig.toString()); return; } - if (mode3 === "force" /* force */) { + if (mode2 === "force" /* force */) { await configureCommitlintIntegration(true); return; } throw new Error( - `Unsupported mode: ${mode3}. Valid modes are: "force" and "get"` + `Unsupported mode: ${mode2}. Valid modes are: "force" and "get"` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -35721,15 +22609,15 @@ var commitlintConfigCommand = G3( ); // src/commands/githook.ts -var import_fs4 = require("fs"); +var import_fs3 = require("fs"); var import_promises2 = __toESM(require("fs/promises"), 1); -var import_path4 = __toESM(require("path"), 1); +var import_path3 = __toESM(require("path"), 1); var HOOK_NAME = "prepare-commit-msg"; -var DEFAULT_SYMLINK_URL = import_path4.default.join(".git", "hooks", HOOK_NAME); +var DEFAULT_SYMLINK_URL = import_path3.default.join(".git", "hooks", HOOK_NAME); var getHooksPath = async () => { try { const hooksPath = await getCoreHooksPath(); - return import_path4.default.join(hooksPath, HOOK_NAME); + return import_path3.default.join(hooksPath, HOOK_NAME); } catch (error) { return DEFAULT_SYMLINK_URL; } @@ -35740,7 +22628,7 @@ var isHookCalled = async () => { }; var isHookExists = async () => { const hooksPath = await getHooksPath(); - return (0, import_fs4.existsSync)(hooksPath); + return (0, import_fs3.existsSync)(hooksPath); }; var hookCommand = G3( { @@ -35752,8 +22640,8 @@ var hookCommand = G3( const SYMLINK_URL = await getHooksPath(); try { await assertGitRepo(); - const { setUnset: mode3 } = argv._; - if (mode3 === "set") { + const { setUnset: mode2 } = argv._; + if (mode2 === "set") { ae(`setting opencommit as '${HOOK_NAME}' hook at ${SYMLINK_URL}`); if (await isHookExists()) { let realPath; @@ -35769,12 +22657,12 @@ var hookCommand = G3( `Different ${HOOK_NAME} is already set. Remove it before setting opencommit as '${HOOK_NAME}' hook.` ); } - await import_promises2.default.mkdir(import_path4.default.dirname(SYMLINK_URL), { recursive: true }); + await import_promises2.default.mkdir(import_path3.default.dirname(SYMLINK_URL), { recursive: true }); await import_promises2.default.symlink(HOOK_URL, SYMLINK_URL, "file"); await import_promises2.default.chmod(SYMLINK_URL, 493); return ce(`${source_default.green("\u2714")} Hook set`); } - if (mode3 === "unset") { + if (mode2 === "unset") { ae( `unsetting opencommit as '${HOOK_NAME}' hook from ${SYMLINK_URL}` ); @@ -35793,7 +22681,7 @@ var hookCommand = G3( return ce(`${source_default.green("\u2714")} Hook is removed`); } throw new Error( - `Unsupported mode: ${mode3}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` + `Unsupported mode: ${mode2}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -35827,8 +22715,8 @@ var prepareCommitMessageHook = async (isStageAllFlag = false) => { if (!staged) return; ae("opencommit"); - const config9 = getConfig(); - if (!config9?.OCO_OPENAI_API_KEY) { + const config8 = getConfig(); + if (!config8?.OCO_OPENAI_API_KEY) { throw new Error( "No OPEN_AI_API exists. Set your OPEN_AI_API=<key> in ~/.opencommit" ); @@ -35855,7 +22743,7 @@ var getOpenCommitLatestVersion = async () => { try { const { stdout } = await execa("npm", ["view", "opencommit", "version"]); return stdout; - } catch (_7) { + } catch (_6) { ce("Error while getting the latest version of opencommit"); return void 0; } @@ -35903,11 +22791,6 @@ Z2( }, extraArgs ); -/*! - * humanize-ms - index.js - * Copyright(c) 2014 dead_horse <dead_horse@qq.com> - * MIT Licensed - */ /*! * mime-db * Copyright(c) 2014 Jonathan Ong @@ -35920,19 +22803,3 @@ Z2( * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ -/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> & David Frank */ -/*! node-domexception. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ -/** - * @license - * web-streams-polyfill v3.3.3 - * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. - * This code is released under the MIT license. - * SPDX-License-Identifier: MIT - */ -/** - * @license - * web-streams-polyfill v4.0.0-beta.3 - * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. - * This code is released under the MIT license. - * SPDX-License-Identifier: MIT - */ diff --git a/out/github-action.cjs b/out/github-action.cjs index 85e4a5c..eb73206 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -5,16 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; -var __export = (target, all3) => { - for (var name in all3) - __defProp(target, name, { get: all3[name], enumerable: true }); -}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -64,30 +57,30 @@ var require_utils = __commonJS({ var require_command = __commonJS({ "node_modules/@actions/core/lib/command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; @@ -96,8 +89,8 @@ var require_command = __commonJS({ exports.issue = exports.issueCommand = void 0; var os2 = __importStar(require("os")); var utils_1 = require_utils(); - function issueCommand(command3, properties, message) { - const cmd = new Command(command3, properties, message); + function issueCommand(command2, properties, message) { + const cmd = new Command(command2, properties, message); process.stdout.write(cmd.toString() + os2.EOL); } exports.issueCommand = issueCommand; @@ -107,11 +100,11 @@ var require_command = __commonJS({ exports.issue = issue; var CMD_STRING = "::"; var Command = class { - constructor(command3, properties, message) { - if (!command3) { - command3 = "missing.command"; + constructor(command2, properties, message) { + if (!command2) { + command2 = "missing.command"; } - this.command = command3; + this.command = command2; this.properties = properties; this.message = message; } @@ -138,11 +131,11 @@ var require_command = __commonJS({ return cmdStr; } }; - function escapeData(s2) { - return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + function escapeData(s) { + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } - function escapeProperty(s2) { - return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + function escapeProperty(s) { + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } } }); @@ -217,8 +210,8 @@ var require_stringify = __commonJS({ return obj && obj.__esModule ? obj : { default: obj }; } var byteToHex = []; - for (let i3 = 0; i3 < 256; ++i3) { - byteToHex.push((i3 + 256).toString(16).substr(1)); + for (let i2 = 0; i2 < 256; ++i2) { + byteToHex.push((i2 + 256).toString(16).substr(1)); } function stringify(arr, offset = 0) { const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); @@ -250,8 +243,8 @@ var require_v1 = __commonJS({ var _lastMSecs = 0; var _lastNSecs = 0; function v1(options, buf, offset) { - let i3 = buf && offset || 0; - const b3 = buf || new Array(16); + let i2 = buf && offset || 0; + const b2 = buf || new Array(16); options = options || {}; let node = options.node || _nodeId; let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; @@ -266,11 +259,11 @@ var require_v1 = __commonJS({ } let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt2 = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt2 < 0 && options.clockseq === void 0) { + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { clockseq = clockseq + 1 & 16383; } - if ((dt2 < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { nsecs = 0; } if (nsecs >= 1e4) { @@ -281,21 +274,21 @@ var require_v1 = __commonJS({ _clockseq = clockseq; msecs += 122192928e5; const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b3[i3++] = tl >>> 24 & 255; - b3[i3++] = tl >>> 16 & 255; - b3[i3++] = tl >>> 8 & 255; - b3[i3++] = tl & 255; + b2[i2++] = tl >>> 24 & 255; + b2[i2++] = tl >>> 16 & 255; + b2[i2++] = tl >>> 8 & 255; + b2[i2++] = tl & 255; const tmh = msecs / 4294967296 * 1e4 & 268435455; - b3[i3++] = tmh >>> 8 & 255; - b3[i3++] = tmh & 255; - b3[i3++] = tmh >>> 24 & 15 | 16; - b3[i3++] = tmh >>> 16 & 255; - b3[i3++] = clockseq >>> 8 | 128; - b3[i3++] = clockseq & 255; - for (let n2 = 0; n2 < 6; ++n2) { - b3[i3 + n2] = node[n2]; + b2[i2++] = tmh >>> 8 & 255; + b2[i2++] = tmh & 255; + b2[i2++] = tmh >>> 24 & 15 | 16; + b2[i2++] = tmh >>> 16 & 255; + b2[i2++] = clockseq >>> 8 | 128; + b2[i2++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b2[i2 + n] = node[n]; } - return buf || (0, _stringify.default)(b3); + return buf || (0, _stringify.default)(b2); } var _default = v1; exports.default = _default; @@ -360,8 +353,8 @@ var require_v35 = __commonJS({ function stringToBytes(str) { str = unescape(encodeURIComponent(str)); const bytes = []; - for (let i3 = 0; i3 < str.length; ++i3) { - bytes.push(str.charCodeAt(i3)); + for (let i2 = 0; i2 < str.length; ++i2) { + bytes.push(str.charCodeAt(i2)); } return bytes; } @@ -388,8 +381,8 @@ var require_v35 = __commonJS({ bytes[8] = bytes[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i3 = 0; i3 < 16; ++i3) { - buf[offset + i3] = bytes[i3]; + for (let i2 = 0; i2 < 16; ++i2) { + buf[offset + i2] = bytes[i2]; } return buf; } @@ -470,8 +463,8 @@ var require_v4 = __commonJS({ rnds[8] = rnds[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i3 = 0; i3 < 16; ++i3) { - buf[offset + i3] = rnds[i3]; + for (let i2 = 0; i2 < 16; ++i2) { + buf[offset + i2] = rnds[i2]; } return buf; } @@ -642,49 +635,49 @@ var require_dist = __commonJS({ var require_file_command = __commonJS({ "node_modules/@actions/core/lib/file-command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; - var fs3 = __importStar(require("fs")); + var fs2 = __importStar(require("fs")); var os2 = __importStar(require("os")); var uuid_1 = require_dist(); var utils_1 = require_utils(); - function issueFileCommand(command3, message) { - const filePath = process.env[`GITHUB_${command3}`]; + function issueFileCommand(command2, message) { + const filePath = process.env[`GITHUB_${command2}`]; if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command3}`); + throw new Error(`Unable to find environment variable for file command ${command2}`); } - if (!fs3.existsSync(filePath)) { + if (!fs2.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs3.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os2.EOL}`, { + fs2.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os2.EOL}`, { encoding: "utf8" }); } @@ -723,12 +716,7 @@ var require_proxy = __commonJS({ } })(); if (proxyVar) { - try { - return new URL(proxyVar); - } catch (_a2) { - if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) - return new URL(`http://${proxyVar}`); - } + return new URL(proxyVar); } else { return void 0; } @@ -821,10 +809,10 @@ var require_tunnel = __commonJS({ self2.sockets = []; self2.on("free", function onFree(socket, host, port, localAddress) { var options2 = toOptions(host, port, localAddress); - for (var i3 = 0, len = self2.requests.length; i3 < len; ++i3) { - var pending = self2.requests[i3]; + for (var i2 = 0, len = self2.requests.length; i2 < len; ++i2) { + var pending = self2.requests[i2]; if (pending.host === options2.host && pending.port === options2.port) { - self2.requests.splice(i3, 1); + self2.requests.splice(i2, 1); pending.request.onSocket(socket); return; } @@ -876,7 +864,7 @@ var require_tunnel = __commonJS({ connectOptions.headers = connectOptions.headers || {}; connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); } - debug2("making CONNECT request"); + debug("making CONNECT request"); var connectReq = self2.request(connectOptions); connectReq.useChunkedEncodingByDefault = false; connectReq.once("response", onResponse); @@ -896,7 +884,7 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug2( + debug( "tunneling socket could not be established, statusCode=%d", res.statusCode ); @@ -908,7 +896,7 @@ var require_tunnel = __commonJS({ return; } if (head.length > 0) { - debug2("got illegal response body from proxy"); + debug("got illegal response body from proxy"); socket.destroy(); var error = new Error("got illegal response body from proxy"); error.code = "ECONNRESET"; @@ -916,13 +904,13 @@ var require_tunnel = __commonJS({ self2.removeSocket(placeholder); return; } - debug2("tunneling connection has established"); + debug("tunneling connection has established"); self2.sockets[self2.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug2( + debug( "tunneling socket could not be established, cause=%s\n", cause.message, cause.stack @@ -970,23 +958,23 @@ var require_tunnel = __commonJS({ return host; } function mergeOptions(target) { - for (var i3 = 1, len = arguments.length; i3 < len; ++i3) { - var overrides = arguments[i3]; + for (var i2 = 1, len = arguments.length; i2 < len; ++i2) { + var overrides = arguments[i2]; if (typeof overrides === "object") { var keys = Object.keys(overrides); - for (var j4 = 0, keyLen = keys.length; j4 < keyLen; ++j4) { - var k4 = keys[j4]; - if (overrides[k4] !== void 0) { - target[k4] = overrides[k4]; + for (var j2 = 0, keyLen = keys.length; j2 < keyLen; ++j2) { + var k3 = keys[j2]; + if (overrides[k3] !== void 0) { + target[k3] = overrides[k3]; } } } } return target; } - var debug2; + var debug; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug2 = function() { + debug = function() { var args = Array.prototype.slice.call(arguments); if (typeof args[0] === "string") { args[0] = "TUNNEL: " + args[0]; @@ -996,10 +984,10 @@ var require_tunnel = __commonJS({ console.error.apply(console, args); }; } else { - debug2 = function() { + debug = function() { }; } - exports.debug = debug2; + exports.debug = debug; } }); @@ -1010,16493 +998,57 @@ var require_tunnel2 = __commonJS({ } }); -// node_modules/undici/lib/core/symbols.js -var require_symbols = __commonJS({ - "node_modules/undici/lib/core/symbols.js"(exports, module2) { - module2.exports = { - kClose: Symbol("close"), - kDestroy: Symbol("destroy"), - kDispatch: Symbol("dispatch"), - kUrl: Symbol("url"), - kWriting: Symbol("writing"), - kResuming: Symbol("resuming"), - kQueue: Symbol("queue"), - kConnect: Symbol("connect"), - kConnecting: Symbol("connecting"), - kHeadersList: Symbol("headers list"), - kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: Symbol("keep alive timeout"), - kKeepAlive: Symbol("keep alive"), - kHeadersTimeout: Symbol("headers timeout"), - kBodyTimeout: Symbol("body timeout"), - kServerName: Symbol("server name"), - kLocalAddress: Symbol("local address"), - kHost: Symbol("host"), - kNoRef: Symbol("no ref"), - kBodyUsed: Symbol("used"), - kRunning: Symbol("running"), - kBlocking: Symbol("blocking"), - kPending: Symbol("pending"), - kSize: Symbol("size"), - kBusy: Symbol("busy"), - kQueued: Symbol("queued"), - kFree: Symbol("free"), - kConnected: Symbol("connected"), - kClosed: Symbol("closed"), - kNeedDrain: Symbol("need drain"), - kReset: Symbol("reset"), - kDestroyed: Symbol.for("nodejs.stream.destroyed"), - kMaxHeadersSize: Symbol("max headers size"), - kRunningIdx: Symbol("running index"), - kPendingIdx: Symbol("pending index"), - kError: Symbol("error"), - kClients: Symbol("clients"), - kClient: Symbol("client"), - kParser: Symbol("parser"), - kOnDestroyed: Symbol("destroy callbacks"), - kPipelining: Symbol("pipelining"), - kSocket: Symbol("socket"), - kHostHeader: Symbol("host header"), - kConnector: Symbol("connector"), - kStrictContentLength: Symbol("strict content length"), - kMaxRedirections: Symbol("maxRedirections"), - kMaxRequests: Symbol("maxRequestsPerClient"), - kProxy: Symbol("proxy agent options"), - kCounter: Symbol("socket request counter"), - kInterceptors: Symbol("dispatch interceptors"), - kMaxResponseSize: Symbol("max response size"), - kHTTP2Session: Symbol("http2Session"), - kHTTP2SessionState: Symbol("http2Session state"), - kHTTP2BuildRequest: Symbol("http2 build request"), - kHTTP1BuildRequest: Symbol("http1 build request"), - kHTTP2CopyHeaders: Symbol("http2 copy headers"), - kHTTPConnVersion: Symbol("http connection version"), - kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), - kConstruct: Symbol("constructable") - }; - } -}); - -// node_modules/undici/lib/core/errors.js -var require_errors = __commonJS({ - "node_modules/undici/lib/core/errors.js"(exports, module2) { - "use strict"; - var UndiciError = class extends Error { - constructor(message) { - super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; - } - }; - var ConnectTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ConnectTimeoutError); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; - } - }; - var HeadersTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, HeadersTimeoutError); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; - } - }; - var HeadersOverflowError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, HeadersOverflowError); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; - } - }; - var BodyTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, BodyTimeoutError); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; - } - }; - var ResponseStatusCodeError = class extends UndiciError { - constructor(message, statusCode, headers, body) { - super(message); - Error.captureStackTrace(this, ResponseStatusCodeError); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; - this.body = body; - this.status = statusCode; - this.statusCode = statusCode; - this.headers = headers; - } - }; - var InvalidArgumentError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InvalidArgumentError); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; - } - }; - var InvalidReturnValueError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InvalidReturnValueError); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; - } - }; - var RequestAbortedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, RequestAbortedError); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; - } - }; - var InformationalError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InformationalError); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; - } - }; - var RequestContentLengthMismatchError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, RequestContentLengthMismatchError); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; - } - }; - var ResponseContentLengthMismatchError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ResponseContentLengthMismatchError); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; - } - }; - var ClientDestroyedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ClientDestroyedError); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; - } - }; - var ClientClosedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ClientClosedError); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; - } - }; - var SocketError = class extends UndiciError { - constructor(message, socket) { - super(message); - Error.captureStackTrace(this, SocketError); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; - this.socket = socket; - } - }; - var NotSupportedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; - } - }; - var BalancedPoolMissingUpstreamError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; - } - }; - var HTTPParserError = class extends Error { - constructor(message, code, data) { - super(message); - Error.captureStackTrace(this, HTTPParserError); - this.name = "HTTPParserError"; - this.code = code ? `HPE_${code}` : void 0; - this.data = data ? data.toString() : void 0; - } - }; - var ResponseExceededMaxSizeError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ResponseExceededMaxSizeError); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; - } - }; - var RequestRetryError = class extends UndiciError { - constructor(message, code, { headers, data }) { - super(message); - Error.captureStackTrace(this, RequestRetryError); - this.name = "RequestRetryError"; - this.message = message || "Request retry error"; - this.code = "UND_ERR_REQ_RETRY"; - this.statusCode = code; - this.data = data; - this.headers = headers; - } - }; - module2.exports = { - HTTPParserError, - UndiciError, - HeadersTimeoutError, - HeadersOverflowError, - BodyTimeoutError, - RequestContentLengthMismatchError, - ConnectTimeoutError, - ResponseStatusCodeError, - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError, - ClientDestroyedError, - ClientClosedError, - InformationalError, - SocketError, - NotSupportedError, - ResponseContentLengthMismatchError, - BalancedPoolMissingUpstreamError, - ResponseExceededMaxSizeError, - RequestRetryError - }; - } -}); - -// node_modules/undici/lib/core/constants.js -var require_constants = __commonJS({ - "node_modules/undici/lib/core/constants.js"(exports, module2) { - "use strict"; - var headerNameLowerCasedRecord = {}; - var wellknownHeaderNames = [ - "Accept", - "Accept-Encoding", - "Accept-Language", - "Accept-Ranges", - "Access-Control-Allow-Credentials", - "Access-Control-Allow-Headers", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin", - "Access-Control-Expose-Headers", - "Access-Control-Max-Age", - "Access-Control-Request-Headers", - "Access-Control-Request-Method", - "Age", - "Allow", - "Alt-Svc", - "Alt-Used", - "Authorization", - "Cache-Control", - "Clear-Site-Data", - "Connection", - "Content-Disposition", - "Content-Encoding", - "Content-Language", - "Content-Length", - "Content-Location", - "Content-Range", - "Content-Security-Policy", - "Content-Security-Policy-Report-Only", - "Content-Type", - "Cookie", - "Cross-Origin-Embedder-Policy", - "Cross-Origin-Opener-Policy", - "Cross-Origin-Resource-Policy", - "Date", - "Device-Memory", - "Downlink", - "ECT", - "ETag", - "Expect", - "Expect-CT", - "Expires", - "Forwarded", - "From", - "Host", - "If-Match", - "If-Modified-Since", - "If-None-Match", - "If-Range", - "If-Unmodified-Since", - "Keep-Alive", - "Last-Modified", - "Link", - "Location", - "Max-Forwards", - "Origin", - "Permissions-Policy", - "Pragma", - "Proxy-Authenticate", - "Proxy-Authorization", - "RTT", - "Range", - "Referer", - "Referrer-Policy", - "Refresh", - "Retry-After", - "Sec-WebSocket-Accept", - "Sec-WebSocket-Extensions", - "Sec-WebSocket-Key", - "Sec-WebSocket-Protocol", - "Sec-WebSocket-Version", - "Server", - "Server-Timing", - "Service-Worker-Allowed", - "Service-Worker-Navigation-Preload", - "Set-Cookie", - "SourceMap", - "Strict-Transport-Security", - "Supports-Loading-Mode", - "TE", - "Timing-Allow-Origin", - "Trailer", - "Transfer-Encoding", - "Upgrade", - "Upgrade-Insecure-Requests", - "User-Agent", - "Vary", - "Via", - "WWW-Authenticate", - "X-Content-Type-Options", - "X-DNS-Prefetch-Control", - "X-Frame-Options", - "X-Permitted-Cross-Domain-Policies", - "X-Powered-By", - "X-Requested-With", - "X-XSS-Protection" - ]; - for (let i3 = 0; i3 < wellknownHeaderNames.length; ++i3) { - const key = wellknownHeaderNames[i3]; - const lowerCasedKey = key.toLowerCase(); - headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; - } - Object.setPrototypeOf(headerNameLowerCasedRecord, null); - module2.exports = { - wellknownHeaderNames, - headerNameLowerCasedRecord - }; - } -}); - -// node_modules/undici/lib/core/util.js -var require_util = __commonJS({ - "node_modules/undici/lib/core/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols(); - var { IncomingMessage } = require("http"); - var stream4 = require("stream"); - var net = require("net"); - var { InvalidArgumentError } = require_errors(); - var { Blob: Blob4 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify } = require("querystring"); - var { headerNameLowerCasedRecord } = require_constants(); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v2) => Number(v2)); - function nop() { - } - function isStream2(obj) { - return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; - } - function isBlobLike2(object) { - return Blob4 && object instanceof Blob4 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); - } - function buildURL2(url2, queryParams) { - if (url2.includes("?") || url2.includes("#")) { - throw new Error('Query params cannot be passed when url already contains "?" or "#".'); - } - const stringified = stringify(queryParams); - if (stringified) { - url2 += "?" + stringified; - } - return url2; - } - function parseURL(url2) { - if (typeof url2 === "string") { - url2 = new URL(url2); - if (!/^https?:/.test(url2.origin || url2.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - return url2; - } - if (!url2 || typeof url2 !== "object") { - throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); - } - if (!/^https?:/.test(url2.origin || url2.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - if (!(url2 instanceof URL)) { - if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); - } - if (url2.path != null && typeof url2.path !== "string") { - throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); - } - if (url2.pathname != null && typeof url2.pathname !== "string") { - throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); - } - if (url2.hostname != null && typeof url2.hostname !== "string") { - throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); - } - if (url2.origin != null && typeof url2.origin !== "string") { - throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); - } - const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80; - let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`; - let path2 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); - } - if (path2 && !path2.startsWith("/")) { - path2 = `/${path2}`; - } - url2 = new URL(origin + path2); - } - return url2; - } - function parseOrigin(url2) { - url2 = parseURL(url2); - if (url2.pathname !== "/" || url2.search || url2.hash) { - throw new InvalidArgumentError("invalid url"); - } - return url2; - } - function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); - assert(idx2 !== -1); - return host.substring(1, idx2); - } - const idx = host.indexOf(":"); - if (idx === -1) - return host; - return host.substring(0, idx); - } - function getServerName(host) { - if (!host) { - return null; - } - assert.strictEqual(typeof host, "string"); - const servername = getHostname(host); - if (net.isIP(servername)) { - return ""; - } - return servername; - } - function deepClone(obj) { - return JSON.parse(JSON.stringify(obj)); - } - function isAsyncIterable(obj) { - return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); - } - function isIterable(obj) { - return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); - } - function bodyLength(body) { - if (body == null) { - return 0; - } else if (isStream2(body)) { - const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; - } else if (isBlobLike2(body)) { - return body.size != null ? body.size : null; - } else if (isBuffer2(body)) { - return body.byteLength; - } - return null; - } - function isDestroyed(stream5) { - return !stream5 || !!(stream5.destroyed || stream5[kDestroyed]); - } - function isReadableAborted(stream5) { - const state = stream5 && stream5._readableState; - return isDestroyed(stream5) && state && !state.endEmitted; - } - function destroy(stream5, err) { - if (stream5 == null || !isStream2(stream5) || isDestroyed(stream5)) { - return; - } - if (typeof stream5.destroy === "function") { - if (Object.getPrototypeOf(stream5).constructor === IncomingMessage) { - stream5.socket = null; - } - stream5.destroy(err); - } else if (err) { - process.nextTick((stream6, err2) => { - stream6.emit("error", err2); - }, stream5, err); - } - if (stream5.destroyed !== true) { - stream5[kDestroyed] = true; - } - } - var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; - function parseKeepAliveTimeout(val) { - const m4 = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); - return m4 ? parseInt(m4[1], 10) * 1e3 : null; - } - function headerNameToString(value) { - return headerNameLowerCasedRecord[value] || value.toLowerCase(); - } - function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) - return headers; - for (let i3 = 0; i3 < headers.length; i3 += 2) { - const key = headers[i3].toString().toLowerCase(); - let val = obj[key]; - if (!val) { - if (Array.isArray(headers[i3 + 1])) { - obj[key] = headers[i3 + 1].map((x2) => x2.toString("utf8")); - } else { - obj[key] = headers[i3 + 1].toString("utf8"); - } - } else { - if (!Array.isArray(val)) { - val = [val]; - obj[key] = val; - } - val.push(headers[i3 + 1].toString("utf8")); - } - } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); - } - return obj; - } - function parseRawHeaders(headers) { - const ret = []; - let hasContentLength = false; - let contentDispositionIdx = -1; - for (let n2 = 0; n2 < headers.length; n2 += 2) { - const key = headers[n2 + 0].toString(); - const val = headers[n2 + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); - hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; - } else { - ret.push(key, val); - } - } - if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); - } - return ret; - } - function isBuffer2(buffer) { - return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); - } - function validateHandler(handler, method, upgrade) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - if (typeof handler.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); - } - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); - } - if (upgrade || method === "CONNECT") { - if (typeof handler.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); - } - } else { - if (typeof handler.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); - } - if (typeof handler.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); - } - if (typeof handler.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); - } - } - } - function isDisturbed(body) { - return !!(body && (stream4.isDisturbed ? stream4.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); - } - function isErrored(body) { - return !!(body && (stream4.isErrored ? stream4.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); - } - function isReadable(body) { - return !!(body && (stream4.isReadable ? stream4.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); - } - function getSocketInfo(socket) { - return { - localAddress: socket.localAddress, - localPort: socket.localPort, - remoteAddress: socket.remoteAddress, - remotePort: socket.remotePort, - remoteFamily: socket.remoteFamily, - timeout: socket.timeout, - bytesWritten: socket.bytesWritten, - bytesRead: socket.bytesRead - }; - } - async function* convertIterableToBuffer(iterable) { - for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); - } - } - var ReadableStream4; - function ReadableStreamFrom(iterable) { - if (!ReadableStream4) { - ReadableStream4 = require("stream/web").ReadableStream; - } - if (ReadableStream4.from) { - return ReadableStream4.from(convertIterableToBuffer(iterable)); - } - let iterator; - return new ReadableStream4( - { - async start() { - iterator = iterable[Symbol.asyncIterator](); - }, - async pull(controller) { - const { done, value } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - } - }, - 0 - ); - } - function isFormDataLike(object) { - return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; - } - function throwIfAborted(signal) { - if (!signal) { - return; - } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); - } else { - if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; - } - } - } - function addAbortListener(signal, listener) { - if ("addEventListener" in signal) { - signal.addEventListener("abort", listener, { once: true }); - return () => signal.removeEventListener("abort", listener); - } - signal.addListener("abort", listener); - return () => signal.removeListener("abort", listener); - } - var hasToWellFormed = !!String.prototype.toWellFormed; - function toUSVString(val) { - if (hasToWellFormed) { - return `${val}`.toWellFormed(); - } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); - } - return `${val}`; - } - function parseRangeHeader(range) { - if (range == null || range === "") - return { start: 0, end: null, size: null }; - const m4 = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; - return m4 ? { - start: parseInt(m4[1]), - end: m4[2] ? parseInt(m4[2]) : null, - size: m4[3] ? parseInt(m4[3]) : null - } : null; - } - var kEnumerableProperty = /* @__PURE__ */ Object.create(null); - kEnumerableProperty.enumerable = true; - module2.exports = { - kEnumerableProperty, - nop, - isDisturbed, - isErrored, - isReadable, - toUSVString, - isReadableAborted, - isBlobLike: isBlobLike2, - parseOrigin, - parseURL, - getServerName, - isStream: isStream2, - isIterable, - isAsyncIterable, - isDestroyed, - headerNameToString, - parseRawHeaders, - parseHeaders, - parseKeepAliveTimeout, - destroy, - bodyLength, - deepClone, - ReadableStreamFrom, - isBuffer: isBuffer2, - validateHandler, - getSocketInfo, - isFormDataLike, - buildURL: buildURL2, - throwIfAborted, - addAbortListener, - parseRangeHeader, - nodeMajor, - nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] - }; - } -}); - -// node_modules/undici/lib/timers.js -var require_timers = __commonJS({ - "node_modules/undici/lib/timers.js"(exports, module2) { - "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; - function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; - while (idx < len) { - const timer = fastTimers[idx]; - if (timer.state === 0) { - timer.state = fastNow + timer.delay; - } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); - } - if (timer.state === -1) { - timer.state = -2; - if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); - } else { - fastTimers.pop(); - } - len -= 1; - } else { - idx += 1; - } - } - if (fastTimers.length > 0) { - refreshTimeout(); - } - } - function refreshTimeout() { - if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); - } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); - if (fastNowTimeout.unref) { - fastNowTimeout.unref(); - } - } - } - var Timeout = class { - constructor(callback, delay2, opaque) { - this.callback = callback; - this.delay = delay2; - this.opaque = opaque; - this.state = -2; - this.refresh(); - } - refresh() { - if (this.state === -2) { - fastTimers.push(this); - if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); - } - } - this.state = 0; - } - clear() { - this.state = -1; - } - }; - module2.exports = { - setTimeout(callback, delay2, opaque) { - return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque); - }, - clearTimeout(timeout) { - if (timeout instanceof Timeout) { - timeout.clear(); - } else { - clearTimeout(timeout); - } - } - }; - } -}); - -// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports, module2) { - "use strict"; - var EventEmitter2 = require("node:events").EventEmitter; - var inherits2 = require("node:util").inherits; - function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); - } - if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); - } - const needleLength = needle.length; - if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); - } - if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); - for (var i3 = 0; i3 < needleLength - 1; ++i3) { - this._occ[needle[i3]] = needleLength - 1 - i3; - } - } - inherits2(SBMH, EventEmitter2); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { - if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); - } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r3; - while (r3 !== chlen && this.matches < this.maxMatches) { - r3 = this._sbmh_feed(chunk); - } - return r3; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch; - if (pos < 0) { - while (pos < 0 && pos <= len - needleLength) { - ch = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; - } - pos += this._occ[ch]; - } - if (pos < 0) { - while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; - } - } - if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; - } else { - const bytesToCutOff = this._lookbehind_size + pos; - if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); - } - this._lookbehind.copy( - this._lookbehind, - 0, - bytesToCutOff, - this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; - } - } - pos += (pos >= 0) * this._bufpos; - if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; - if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); - } else { - this.emit("info", true); - } - return this._bufpos = pos + needleLength; - } else { - pos = len - needleLength; - } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; - } - if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; - } - if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); - } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { - for (var i3 = 0; i3 < len; ++i3) { - if (this._sbmh_lookup_char(data, pos + i3) !== this._needle[i3]) { - return false; - } - } - return true; - }; - module2.exports = SBMH; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js -var require_PartStream = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports, module2) { - "use strict"; - var inherits2 = require("node:util").inherits; - var ReadableStream4 = require("node:stream").Readable; - function PartStream(opts) { - ReadableStream4.call(this, opts); - } - inherits2(PartStream, ReadableStream4); - PartStream.prototype._read = function(n2) { - }; - module2.exports = PartStream; - } -}); - -// node_modules/@fastify/busboy/lib/utils/getLimit.js -var require_getLimit = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports, module2) { - "use strict"; - module2.exports = function getLimit(limits, name, defaultLimit) { - if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; - } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); - } - return limits[name]; - }; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js -var require_HeaderParser = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports, module2) { - "use strict"; - var EventEmitter2 = require("node:events").EventEmitter; - var inherits2 = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; - function HeaderParser(cfg) { - EventEmitter2.call(this); - cfg = cfg || {}; - const self2 = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { - if (data && !self2.maxed) { - if (self2.nread + end - start >= self2.maxHeaderSize) { - end = self2.maxHeaderSize - self2.nread + start; - self2.nread = self2.maxHeaderSize; - self2.maxed = true; - } else { - self2.nread += end - start; - } - self2.buffer += data.toString("binary", start, end); - } - if (isMatch) { - self2._finish(); - } - }); - } - inherits2(HeaderParser, EventEmitter2); - HeaderParser.prototype.push = function(data) { - const r3 = this.ss.push(data); - if (this.finished) { - return r3; - } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { - if (this.buffer) { - this._parseHeader(); - } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); - }; - HeaderParser.prototype._parseHeader = function() { - if (this.npairs === this.maxHeaderPairs) { - return; - } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m4, h3; - for (var i3 = 0; i3 < len; ++i3) { - if (lines[i3].length === 0) { - continue; - } - if (lines[i3][0] === " " || lines[i3][0] === " ") { - if (h3) { - this.header[h3][this.header[h3].length - 1] += lines[i3]; - continue; - } - } - const posColon = lines[i3].indexOf(":"); - if (posColon === -1 || posColon === 0) { - return; - } - m4 = RE_HDR.exec(lines[i3]); - h3 = m4[1].toLowerCase(); - this.header[h3] = this.header[h3] || []; - this.header[h3].push(m4[2] || ""); - if (++this.npairs === this.maxHeaderPairs) { - break; - } - } - }; - module2.exports = HeaderParser; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js -var require_Dicer = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports, module2) { - "use strict"; - var WritableStream2 = require("node:stream").Writable; - var inherits2 = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; - function Dicer(cfg) { - if (!(this instanceof Dicer)) { - return new Dicer(cfg); - } - WritableStream2.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); - } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); - } else { - this._bparser = void 0; - } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self2 = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self2._inHeader = false; - self2._part.emit("header", header); - }); - } - inherits2(Dicer, WritableStream2); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { - if (!this._finished) { - const self2 = this; - process.nextTick(function() { - self2.emit("error", new Error("Unexpected end of multipart data")); - if (self2._part && !self2._ignoreData) { - const type = self2._isPreamble ? "Preamble" : "Part"; - self2._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); - self2._part.push(null); - process.nextTick(function() { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); - return; - } - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); - } - } else { - WritableStream2.prototype.emit.apply(this, arguments); - } - }; - Dicer.prototype._write = function(data, encoding, cb) { - if (!this._hparser && !this._bparser) { - return cb(); - } - if (this._headerFirst && this._isPreamble) { - if (!this._part) { - this._part = new PartStream(this._partOpts); - if (this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else { - this._ignore(); - } - } - const r3 = this._hparser.push(data); - if (!this._inHeader && r3 !== void 0 && r3 < data.length) { - data = data.slice(r3); - } else { - return cb(); - } - } - if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; - } - this._bparser.push(data); - if (this._pause) { - this._cb = cb; - } else { - cb(); - } - }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self2 = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self2._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { - if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); - } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self2 = this; - let i3 = 0; - let r3; - let shouldWriteMore = true; - if (!this._part && this._justMatched && data) { - while (this._dashes < 2 && start + i3 < end) { - if (data[start + i3] === DASH) { - ++i3; - ++this._dashes; - } else { - if (this._dashes) { - buf = B_ONEDASH; - } - this._dashes = 0; - break; - } - } - if (this._dashes === 2) { - if (start + i3 < end && this.listenerCount("trailer") !== 0) { - this.emit("trailer", data.slice(start + i3, end)); - } - this.reset(); - this._finished = true; - if (self2._parts === 0) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - } - } - if (this._dashes) { - return; - } - } - if (this._justMatched) { - this._justMatched = false; - } - if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n2) { - self2._unpause(); - }; - if (this._isPreamble && this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { - this.emit("part", this._part); - } else { - this._ignore(); - } - if (!this._isPreamble) { - this._inHeader = true; - } - } - if (data && start < end && !this._ignoreData) { - if (this._isPreamble || !this._inHeader) { - if (buf) { - shouldWriteMore = this._part.push(buf); - } - shouldWriteMore = this._part.push(data.slice(start, end)); - if (!shouldWriteMore) { - this._pause = true; - } - } else if (!this._isPreamble && this._inHeader) { - if (buf) { - this._hparser.push(buf); - } - r3 = this._hparser.push(data.slice(start, end)); - if (!this._inHeader && r3 !== void 0 && r3 < end) { - this._oninfo(false, data, start + r3, end); - } - } - } - if (isMatch) { - this._hparser.reset(); - if (this._isPreamble) { - this._isPreamble = false; - } else { - if (start !== end) { - ++this._parts; - this._part.on("end", function() { - if (--self2._parts === 0) { - if (self2._finished) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - } else { - self2._unpause(); - } - } - }); - } - } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; - } - }; - Dicer.prototype._unpause = function() { - if (!this._pause) { - return; - } - this._pause = false; - if (this._cb) { - const cb = this._cb; - this._cb = void 0; - cb(); - } - }; - module2.exports = Dicer; - } -}); - -// node_modules/@fastify/busboy/lib/utils/decodeText.js -var require_decodeText = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module2) { - "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); - var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); - function getDecoder(charset) { - let lc; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc === void 0) { - lc = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); - } - } - } - var decoders = { - utf8: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - return data; - } - return data.latin1Slice(0, data.length); - }, - utf16le: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.ucs2Slice(0, data.length); - }, - base64: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.base64Slice(0, data.length); - }, - other: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - if (textDecoders.has(exports.toString())) { - try { - return textDecoders.get(exports).decode(data); - } catch { - } - } - return typeof data === "string" ? data : data.toString(); - } - }; - function decodeText(text, sourceEncoding, destEncoding) { - if (text) { - return getDecoder(destEncoding)(text, sourceEncoding); - } - return text; - } - module2.exports = decodeText; - } -}); - -// node_modules/@fastify/busboy/lib/utils/parseParams.js -var require_parseParams = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports, module2) { - "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; - var EncodedLookup = { - "%00": "\0", - "%01": "", - "%02": "", - "%03": "", - "%04": "", - "%05": "", - "%06": "", - "%07": "\x07", - "%08": "\b", - "%09": " ", - "%0a": "\n", - "%0A": "\n", - "%0b": "\v", - "%0B": "\v", - "%0c": "\f", - "%0C": "\f", - "%0d": "\r", - "%0D": "\r", - "%0e": "", - "%0E": "", - "%0f": "", - "%0F": "", - "%10": "", - "%11": "", - "%12": "", - "%13": "", - "%14": "", - "%15": "", - "%16": "", - "%17": "", - "%18": "", - "%19": "", - "%1a": "", - "%1A": "", - "%1b": "\x1B", - "%1B": "\x1B", - "%1c": "", - "%1C": "", - "%1d": "", - "%1D": "", - "%1e": "", - "%1E": "", - "%1f": "", - "%1F": "", - "%20": " ", - "%21": "!", - "%22": '"', - "%23": "#", - "%24": "$", - "%25": "%", - "%26": "&", - "%27": "'", - "%28": "(", - "%29": ")", - "%2a": "*", - "%2A": "*", - "%2b": "+", - "%2B": "+", - "%2c": ",", - "%2C": ",", - "%2d": "-", - "%2D": "-", - "%2e": ".", - "%2E": ".", - "%2f": "/", - "%2F": "/", - "%30": "0", - "%31": "1", - "%32": "2", - "%33": "3", - "%34": "4", - "%35": "5", - "%36": "6", - "%37": "7", - "%38": "8", - "%39": "9", - "%3a": ":", - "%3A": ":", - "%3b": ";", - "%3B": ";", - "%3c": "<", - "%3C": "<", - "%3d": "=", - "%3D": "=", - "%3e": ">", - "%3E": ">", - "%3f": "?", - "%3F": "?", - "%40": "@", - "%41": "A", - "%42": "B", - "%43": "C", - "%44": "D", - "%45": "E", - "%46": "F", - "%47": "G", - "%48": "H", - "%49": "I", - "%4a": "J", - "%4A": "J", - "%4b": "K", - "%4B": "K", - "%4c": "L", - "%4C": "L", - "%4d": "M", - "%4D": "M", - "%4e": "N", - "%4E": "N", - "%4f": "O", - "%4F": "O", - "%50": "P", - "%51": "Q", - "%52": "R", - "%53": "S", - "%54": "T", - "%55": "U", - "%56": "V", - "%57": "W", - "%58": "X", - "%59": "Y", - "%5a": "Z", - "%5A": "Z", - "%5b": "[", - "%5B": "[", - "%5c": "\\", - "%5C": "\\", - "%5d": "]", - "%5D": "]", - "%5e": "^", - "%5E": "^", - "%5f": "_", - "%5F": "_", - "%60": "`", - "%61": "a", - "%62": "b", - "%63": "c", - "%64": "d", - "%65": "e", - "%66": "f", - "%67": "g", - "%68": "h", - "%69": "i", - "%6a": "j", - "%6A": "j", - "%6b": "k", - "%6B": "k", - "%6c": "l", - "%6C": "l", - "%6d": "m", - "%6D": "m", - "%6e": "n", - "%6E": "n", - "%6f": "o", - "%6F": "o", - "%70": "p", - "%71": "q", - "%72": "r", - "%73": "s", - "%74": "t", - "%75": "u", - "%76": "v", - "%77": "w", - "%78": "x", - "%79": "y", - "%7a": "z", - "%7A": "z", - "%7b": "{", - "%7B": "{", - "%7c": "|", - "%7C": "|", - "%7d": "}", - "%7D": "}", - "%7e": "~", - "%7E": "~", - "%7f": "\x7F", - "%7F": "\x7F", - "%80": "\x80", - "%81": "\x81", - "%82": "\x82", - "%83": "\x83", - "%84": "\x84", - "%85": "\x85", - "%86": "\x86", - "%87": "\x87", - "%88": "\x88", - "%89": "\x89", - "%8a": "\x8A", - "%8A": "\x8A", - "%8b": "\x8B", - "%8B": "\x8B", - "%8c": "\x8C", - "%8C": "\x8C", - "%8d": "\x8D", - "%8D": "\x8D", - "%8e": "\x8E", - "%8E": "\x8E", - "%8f": "\x8F", - "%8F": "\x8F", - "%90": "\x90", - "%91": "\x91", - "%92": "\x92", - "%93": "\x93", - "%94": "\x94", - "%95": "\x95", - "%96": "\x96", - "%97": "\x97", - "%98": "\x98", - "%99": "\x99", - "%9a": "\x9A", - "%9A": "\x9A", - "%9b": "\x9B", - "%9B": "\x9B", - "%9c": "\x9C", - "%9C": "\x9C", - "%9d": "\x9D", - "%9D": "\x9D", - "%9e": "\x9E", - "%9E": "\x9E", - "%9f": "\x9F", - "%9F": "\x9F", - "%a0": "\xA0", - "%A0": "\xA0", - "%a1": "\xA1", - "%A1": "\xA1", - "%a2": "\xA2", - "%A2": "\xA2", - "%a3": "\xA3", - "%A3": "\xA3", - "%a4": "\xA4", - "%A4": "\xA4", - "%a5": "\xA5", - "%A5": "\xA5", - "%a6": "\xA6", - "%A6": "\xA6", - "%a7": "\xA7", - "%A7": "\xA7", - "%a8": "\xA8", - "%A8": "\xA8", - "%a9": "\xA9", - "%A9": "\xA9", - "%aa": "\xAA", - "%Aa": "\xAA", - "%aA": "\xAA", - "%AA": "\xAA", - "%ab": "\xAB", - "%Ab": "\xAB", - "%aB": "\xAB", - "%AB": "\xAB", - "%ac": "\xAC", - "%Ac": "\xAC", - "%aC": "\xAC", - "%AC": "\xAC", - "%ad": "\xAD", - "%Ad": "\xAD", - "%aD": "\xAD", - "%AD": "\xAD", - "%ae": "\xAE", - "%Ae": "\xAE", - "%aE": "\xAE", - "%AE": "\xAE", - "%af": "\xAF", - "%Af": "\xAF", - "%aF": "\xAF", - "%AF": "\xAF", - "%b0": "\xB0", - "%B0": "\xB0", - "%b1": "\xB1", - "%B1": "\xB1", - "%b2": "\xB2", - "%B2": "\xB2", - "%b3": "\xB3", - "%B3": "\xB3", - "%b4": "\xB4", - "%B4": "\xB4", - "%b5": "\xB5", - "%B5": "\xB5", - "%b6": "\xB6", - "%B6": "\xB6", - "%b7": "\xB7", - "%B7": "\xB7", - "%b8": "\xB8", - "%B8": "\xB8", - "%b9": "\xB9", - "%B9": "\xB9", - "%ba": "\xBA", - "%Ba": "\xBA", - "%bA": "\xBA", - "%BA": "\xBA", - "%bb": "\xBB", - "%Bb": "\xBB", - "%bB": "\xBB", - "%BB": "\xBB", - "%bc": "\xBC", - "%Bc": "\xBC", - "%bC": "\xBC", - "%BC": "\xBC", - "%bd": "\xBD", - "%Bd": "\xBD", - "%bD": "\xBD", - "%BD": "\xBD", - "%be": "\xBE", - "%Be": "\xBE", - "%bE": "\xBE", - "%BE": "\xBE", - "%bf": "\xBF", - "%Bf": "\xBF", - "%bF": "\xBF", - "%BF": "\xBF", - "%c0": "\xC0", - "%C0": "\xC0", - "%c1": "\xC1", - "%C1": "\xC1", - "%c2": "\xC2", - "%C2": "\xC2", - "%c3": "\xC3", - "%C3": "\xC3", - "%c4": "\xC4", - "%C4": "\xC4", - "%c5": "\xC5", - "%C5": "\xC5", - "%c6": "\xC6", - "%C6": "\xC6", - "%c7": "\xC7", - "%C7": "\xC7", - "%c8": "\xC8", - "%C8": "\xC8", - "%c9": "\xC9", - "%C9": "\xC9", - "%ca": "\xCA", - "%Ca": "\xCA", - "%cA": "\xCA", - "%CA": "\xCA", - "%cb": "\xCB", - "%Cb": "\xCB", - "%cB": "\xCB", - "%CB": "\xCB", - "%cc": "\xCC", - "%Cc": "\xCC", - "%cC": "\xCC", - "%CC": "\xCC", - "%cd": "\xCD", - "%Cd": "\xCD", - "%cD": "\xCD", - "%CD": "\xCD", - "%ce": "\xCE", - "%Ce": "\xCE", - "%cE": "\xCE", - "%CE": "\xCE", - "%cf": "\xCF", - "%Cf": "\xCF", - "%cF": "\xCF", - "%CF": "\xCF", - "%d0": "\xD0", - "%D0": "\xD0", - "%d1": "\xD1", - "%D1": "\xD1", - "%d2": "\xD2", - "%D2": "\xD2", - "%d3": "\xD3", - "%D3": "\xD3", - "%d4": "\xD4", - "%D4": "\xD4", - "%d5": "\xD5", - "%D5": "\xD5", - "%d6": "\xD6", - "%D6": "\xD6", - "%d7": "\xD7", - "%D7": "\xD7", - "%d8": "\xD8", - "%D8": "\xD8", - "%d9": "\xD9", - "%D9": "\xD9", - "%da": "\xDA", - "%Da": "\xDA", - "%dA": "\xDA", - "%DA": "\xDA", - "%db": "\xDB", - "%Db": "\xDB", - "%dB": "\xDB", - "%DB": "\xDB", - "%dc": "\xDC", - "%Dc": "\xDC", - "%dC": "\xDC", - "%DC": "\xDC", - "%dd": "\xDD", - "%Dd": "\xDD", - "%dD": "\xDD", - "%DD": "\xDD", - "%de": "\xDE", - "%De": "\xDE", - "%dE": "\xDE", - "%DE": "\xDE", - "%df": "\xDF", - "%Df": "\xDF", - "%dF": "\xDF", - "%DF": "\xDF", - "%e0": "\xE0", - "%E0": "\xE0", - "%e1": "\xE1", - "%E1": "\xE1", - "%e2": "\xE2", - "%E2": "\xE2", - "%e3": "\xE3", - "%E3": "\xE3", - "%e4": "\xE4", - "%E4": "\xE4", - "%e5": "\xE5", - "%E5": "\xE5", - "%e6": "\xE6", - "%E6": "\xE6", - "%e7": "\xE7", - "%E7": "\xE7", - "%e8": "\xE8", - "%E8": "\xE8", - "%e9": "\xE9", - "%E9": "\xE9", - "%ea": "\xEA", - "%Ea": "\xEA", - "%eA": "\xEA", - "%EA": "\xEA", - "%eb": "\xEB", - "%Eb": "\xEB", - "%eB": "\xEB", - "%EB": "\xEB", - "%ec": "\xEC", - "%Ec": "\xEC", - "%eC": "\xEC", - "%EC": "\xEC", - "%ed": "\xED", - "%Ed": "\xED", - "%eD": "\xED", - "%ED": "\xED", - "%ee": "\xEE", - "%Ee": "\xEE", - "%eE": "\xEE", - "%EE": "\xEE", - "%ef": "\xEF", - "%Ef": "\xEF", - "%eF": "\xEF", - "%EF": "\xEF", - "%f0": "\xF0", - "%F0": "\xF0", - "%f1": "\xF1", - "%F1": "\xF1", - "%f2": "\xF2", - "%F2": "\xF2", - "%f3": "\xF3", - "%F3": "\xF3", - "%f4": "\xF4", - "%F4": "\xF4", - "%f5": "\xF5", - "%F5": "\xF5", - "%f6": "\xF6", - "%F6": "\xF6", - "%f7": "\xF7", - "%F7": "\xF7", - "%f8": "\xF8", - "%F8": "\xF8", - "%f9": "\xF9", - "%F9": "\xF9", - "%fa": "\xFA", - "%Fa": "\xFA", - "%fA": "\xFA", - "%FA": "\xFA", - "%fb": "\xFB", - "%Fb": "\xFB", - "%fB": "\xFB", - "%FB": "\xFB", - "%fc": "\xFC", - "%Fc": "\xFC", - "%fC": "\xFC", - "%FC": "\xFC", - "%fd": "\xFD", - "%Fd": "\xFD", - "%fD": "\xFD", - "%FD": "\xFD", - "%fe": "\xFE", - "%Fe": "\xFE", - "%fE": "\xFE", - "%FE": "\xFE", - "%ff": "\xFF", - "%Ff": "\xFF", - "%fF": "\xFF", - "%FF": "\xFF" - }; - function encodedReplacer(match) { - return EncodedLookup[match]; - } - var STATE_KEY = 0; - var STATE_VALUE = 1; - var STATE_CHARSET = 2; - var STATE_LANG = 3; - function parseParams(str) { - const res = []; - let state = STATE_KEY; - let charset = ""; - let inquote = false; - let escaping = false; - let p3 = 0; - let tmp = ""; - const len = str.length; - for (var i3 = 0; i3 < len; ++i3) { - const char = str[i3]; - if (char === "\\" && inquote) { - if (escaping) { - escaping = false; - } else { - escaping = true; - continue; - } - } else if (char === '"') { - if (!escaping) { - if (inquote) { - inquote = false; - state = STATE_KEY; - } else { - inquote = true; - } - continue; - } else { - escaping = false; - } - } else { - if (escaping && inquote) { - tmp += "\\"; - } - escaping = false; - if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { - if (state === STATE_CHARSET) { - state = STATE_LANG; - charset = tmp.substring(1); - } else { - state = STATE_VALUE; - } - tmp = ""; - continue; - } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { - state = char === "*" ? STATE_CHARSET : STATE_VALUE; - res[p3] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = STATE_KEY; - if (charset) { - if (tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } - charset = ""; - } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p3] === void 0) { - res[p3] = tmp; - } else { - res[p3][1] = tmp; - } - tmp = ""; - ++p3; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; - } - } - tmp += char; - } - if (charset && tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p3] === void 0) { - if (tmp) { - res[p3] = tmp; - } - } else { - res[p3][1] = tmp; - } - return res; - } - module2.exports = parseParams; - } -}); - -// node_modules/@fastify/busboy/lib/utils/basename.js -var require_basename = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module2) { - "use strict"; - module2.exports = function basename2(path2) { - if (typeof path2 !== "string") { - return ""; - } - for (var i3 = path2.length - 1; i3 >= 0; --i3) { - switch (path2.charCodeAt(i3)) { - case 47: - case 92: - path2 = path2.slice(i3 + 1); - return path2 === ".." || path2 === "." ? "" : path2; - } - } - return path2 === ".." || path2 === "." ? "" : path2; - }; - } -}); - -// node_modules/@fastify/busboy/lib/types/multipart.js -var require_multipart = __commonJS({ - "node_modules/@fastify/busboy/lib/types/multipart.js"(exports, module2) { - "use strict"; - var { Readable: Readable3 } = require("node:stream"); - var { inherits: inherits2 } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename2 = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; - function Multipart(boy, cfg) { - let i3; - let len; - const self2 = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; - for (i3 = 0, len = parsedConType.length; i3 < len; ++i3) { - if (Array.isArray(parsedConType[i3]) && RE_BOUNDARY.test(parsedConType[i3][0])) { - boundary = parsedConType[i3][1]; - break; - } - } - function checkFinished() { - if (nends === 0 && finished && !boy._done) { - finished = false; - self2.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; - const parserCfg = { - boundary, - maxHeaderPairs: headerPairsLimit, - maxHeaderSize: headerSizeLimit, - partHwm: fileOpts.highWaterMark, - highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self2._needDrain = false; - if (self2._cb && !self2._pause) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }).on("part", function onPart(part) { - if (++self2._nparts > partsLimit) { - self2.parser.removeListener("part", onPart); - self2.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i3 = 0, len = parsed.length; i3 < len; ++i3) { - if (RE_CHARSET.test(parsed[i3][0])) { - charset = parsed[i3][1].toLowerCase(); - break; - } - } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i3 = 0, len = parsed.length; i3 < len; ++i3) { - if (RE_NAME.test(parsed[i3][0])) { - fieldname = parsed[i3][1]; - } else if (RE_FILENAME.test(parsed[i3][0])) { - filename = parsed[i3][1]; - if (!preservePath) { - filename = basename2(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (boy.listenerCount("file") === 0) { - self2.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self2._pause = false; - checkFinished(); - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }); - file._read = function(n2) { - if (!self2._pause) { - return; - } - self2._pause = false; - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); - } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self2._pause = true; - } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); - } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); - } else { - buffer += data.toString("binary"); - } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); - } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb) { - const r3 = this.parser.write(chunk); - if (r3 && !this._pause) { - cb(); - } else { - this._needDrain = !r3; - this._cb = cb; - } - }; - Multipart.prototype.end = function() { - const self2 = this; - if (self2.parser.writable) { - self2.parser.end(); - } else if (!self2._boy._done) { - process.nextTick(function() { - self2._boy._done = true; - self2._boy.emit("finish"); - }); - } - }; - function skipPart(part) { - part.resume(); - } - function FileStream(opts) { - Readable3.call(this, opts); - this.bytesRead = 0; - this.truncated = false; - } - inherits2(FileStream, Readable3); - FileStream.prototype._read = function(n2) { - }; - module2.exports = Multipart; - } -}); - -// node_modules/@fastify/busboy/lib/utils/Decoder.js -var require_Decoder = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports, module2) { - "use strict"; - var RE_PLUS = /\+/g; - var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - function Decoder() { - this.buffer = void 0; - } - Decoder.prototype.write = function(str) { - str = str.replace(RE_PLUS, " "); - let res = ""; - let i3 = 0; - let p3 = 0; - const len = str.length; - for (; i3 < len; ++i3) { - if (this.buffer !== void 0) { - if (!HEX[str.charCodeAt(i3)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i3; - } else { - this.buffer += str[i3]; - ++p3; - if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; - } - } - } else if (str[i3] === "%") { - if (i3 > p3) { - res += str.substring(p3, i3); - p3 = i3; - } - this.buffer = ""; - ++p3; - } - } - if (p3 < len && this.buffer === void 0) { - res += str.substring(p3); - } - return res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; - }; - module2.exports = Decoder; - } -}); - -// node_modules/@fastify/busboy/lib/types/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports, module2) { - "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; - function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; - for (var i3 = 0, len = parsedConType.length; i3 < len; ++i3) { - if (Array.isArray(parsedConType[i3]) && RE_CHARSET.test(parsedConType[i3][0])) { - charset = parsedConType[i3][1].toLowerCase(); - break; - } - } - if (charset === void 0) { - charset = cfg.defCharset || "utf8"; - } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; - } - UrlEncoded.prototype.write = function(data, cb) { - if (this._fields === this.fieldsLimit) { - if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); - } - return cb(); - } - let idxeq; - let idxamp; - let i3; - let p3 = 0; - const len = data.length; - while (p3 < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; - for (i3 = p3; i3 < len; ++i3) { - if (!this._checkingBytes) { - ++p3; - } - if (data[i3] === 61) { - idxeq = i3; - break; - } else if (data[i3] === 38) { - idxamp = i3; - break; - } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesKey; - } - } - if (idxeq !== void 0) { - if (idxeq > p3) { - this._key += this.decoder.write(data.toString("binary", p3, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p3 = idxeq + 1; - } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; - if (idxamp > p3) { - key = this._key += this.decoder.write(data.toString("binary", p3, idxamp)); - } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - if (key.length) { - this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", - keyTrunc, - false - ); - } - p3 = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i3 > p3) { - this._key += this.decoder.write(data.toString("binary", p3, i3)); - } - p3 = i3; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; - } - } else { - if (p3 < len) { - this._key += this.decoder.write(data.toString("binary", p3)); - } - p3 = len; - } - } else { - idxamp = void 0; - for (i3 = p3; i3 < len; ++i3) { - if (!this._checkingBytes) { - ++p3; - } - if (data[i3] === 38) { - idxamp = i3; - break; - } - if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesVal; - } - } - if (idxamp !== void 0) { - ++this._fields; - if (idxamp > p3) { - this._val += this.decoder.write(data.toString("binary", p3, idxamp)); - } - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p3 = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i3 > p3) { - this._val += this.decoder.write(data.toString("binary", p3, i3)); - } - p3 = i3; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; - } - } else { - if (p3 < len) { - this._val += this.decoder.write(data.toString("binary", p3)); - } - p3 = len; - } - } - } - cb(); - }; - UrlEncoded.prototype.end = function() { - if (this.boy._done) { - return; - } - if (this._state === "key" && this._key.length > 0) { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", - this._keyTrunc, - false - ); - } else if (this._state === "val") { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; - } -}); - -// node_modules/@fastify/busboy/lib/main.js -var require_main = __commonJS({ - "node_modules/@fastify/busboy/lib/main.js"(exports, module2) { - "use strict"; - var WritableStream2 = require("node:stream").Writable; - var { inherits: inherits2 } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); - function Busboy(opts) { - if (!(this instanceof Busboy)) { - return new Busboy(opts); - } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); - } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); - } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); - } - const { - headers, - ...streamOptions - } = opts; - this.opts = { - autoDestroy: false, - ...streamOptions - }; - WritableStream2.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; - } - inherits2(Busboy, WritableStream2); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { - if (!this._done) { - this._parser?.end(); - return; - } else if (this._finished) { - return; - } - this._finished = true; - } - WritableStream2.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); - const cfg = { - defCharset: this.opts.defCharset, - fileHwm: this.opts.fileHwm, - headers, - highWaterMark: this.opts.highWaterMark, - isPartAFile: this.opts.isPartAFile, - limits: this.opts.limits, - parsedConType: parsed, - preservePath: this.opts.preservePath - }; - if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); - } - if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); - } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb) { - this._parser.write(chunk, cb); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; - } -}); - -// node_modules/undici/lib/fetch/constants.js -var require_constants2 = __commonJS({ - "node_modules/undici/lib/fetch/constants.js"(exports, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); - var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); - var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; - var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; - var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException3 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; - } - })(); - var channel; - var structuredClone2 = globalThis.structuredClone ?? function structuredClone3(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); - } - if (!channel) { - channel = new MessageChannel(); - } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; - module2.exports = { - DOMException: DOMException3, - structuredClone: structuredClone2, - subresource, - forbiddenMethods, - requestBodyHeader, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - redirectStatus, - corsSafeListedMethods, - nullBodyStatus, - safeMethods, - badPorts, - requestDuplex, - subresourceSet, - badPortsSet, - redirectStatusSet, - corsSafeListedMethodsSet, - safeMethodsSet, - forbiddenMethodsSet, - referrerPolicySet - }; - } -}); - -// node_modules/undici/lib/fetch/global.js -var require_global = __commonJS({ - "node_modules/undici/lib/fetch/global.js"(exports, module2) { - "use strict"; - var globalOrigin = Symbol.for("undici.globalOrigin.1"); - function getGlobalOrigin() { - return globalThis[globalOrigin]; - } - function setGlobalOrigin(newOrigin) { - if (newOrigin === void 0) { - Object.defineProperty(globalThis, globalOrigin, { - value: void 0, - writable: true, - enumerable: false, - configurable: false - }); - return; - } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); - } - Object.defineProperty(globalThis, globalOrigin, { - value: parsedURL, - writable: true, - enumerable: false, - configurable: false - }); - } - module2.exports = { - getGlobalOrigin, - setGlobalOrigin - }; - } -}); - -// node_modules/undici/lib/fetch/util.js -var require_util2 = __commonJS({ - "node_modules/undici/lib/fetch/util.js"(exports, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); - var { getGlobalOrigin } = require_global(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike: isBlobLike2, toUSVString, ReadableStreamFrom } = require_util(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var supportedHashes = []; - var crypto2; - try { - crypto2 = require("crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); - } catch { - } - function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); - } - function responseLocationURL(response, requestFragment) { - if (!redirectStatusSet.has(response.status)) { - return null; - } - let location = response.headersList.get("location"); - if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); - } - if (location && !location.hash) { - location.hash = requestFragment; - } - return location; - } - function requestCurrentURL(request) { - return request.urlList[request.urlList.length - 1]; - } - function requestBadPort(request) { - const url2 = requestCurrentURL(request); - if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) { - return "blocked"; - } - return "allowed"; - } - function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); - } - function isValidReasonPhrase(statusText) { - for (let i3 = 0; i3 < statusText.length; ++i3) { - const c2 = statusText.charCodeAt(i3); - if (!(c2 === 9 || c2 >= 32 && c2 <= 126 || c2 >= 128 && c2 <= 255)) { - return false; - } - } - return true; - } - function isTokenCharCode(c2) { - switch (c2) { - case 34: - case 40: - case 41: - case 44: - case 47: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 91: - case 92: - case 93: - case 123: - case 125: - return false; - default: - return c2 >= 33 && c2 <= 126; - } - } - function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; - } - for (let i3 = 0; i3 < characters.length; ++i3) { - if (!isTokenCharCode(characters.charCodeAt(i3))) { - return false; - } - } - return true; - } - function isValidHeaderName2(potentialValue) { - return isValidHTTPToken(potentialValue); - } - function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; - } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; - } - return true; - } - function setRequestReferrerPolicyOnRedirect(request, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; - if (policyHeader.length > 0) { - for (let i3 = policyHeader.length; i3 !== 0; i3--) { - const token = policyHeader[i3 - 1].trim(); - if (referrerPolicyTokens.has(token)) { - policy = token; - break; - } - } - } - if (policy !== "") { - request.referrerPolicy = policy; - } - } - function crossOriginResourcePolicyCheck() { - return "allowed"; - } - function corsCheck() { - return "success"; - } - function TAOCheck() { - return "success"; - } - function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); - } - function appendRequestOriginHeader(request) { - let serializedOrigin = request.origin; - if (request.responseTainting === "cors" || request.mode === "websocket") { - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } else if (request.method !== "GET" && request.method !== "HEAD") { - switch (request.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - case "same-origin": - if (!sameOrigin(request, requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - default: - } - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } - } - function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); - } - function createOpaqueTimingInfo(timingInfo) { - return { - startTime: timingInfo.startTime ?? 0, - redirectStartTime: 0, - redirectEndTime: 0, - postRedirectStartTime: timingInfo.startTime ?? 0, - finalServiceWorkerStartTime: 0, - finalNetworkResponseStartTime: 0, - finalNetworkRequestStartTime: 0, - endTime: 0, - encodedBodySize: 0, - decodedBodySize: 0, - finalConnectionTimingInfo: null - }; - } - function makePolicyContainer() { - return { - referrerPolicy: "strict-origin-when-cross-origin" - }; - } - function clonePolicyContainer(policyContainer) { - return { - referrerPolicy: policyContainer.referrerPolicy - }; - } - function determineRequestsReferrer(request) { - const policy = request.referrerPolicy; - assert(policy); - let referrerSource = null; - if (request.referrer === "client") { - const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; - } - referrerSource = new URL(globalOrigin); - } else if (request.referrer instanceof URL) { - referrerSource = request.referrer; - } - let referrerURL = stripURLForReferrer(referrerSource); - const referrerOrigin = stripURLForReferrer(referrerSource, true); - if (referrerURL.toString().length > 4096) { - referrerURL = referrerOrigin; - } - const areSameOrigin = sameOrigin(request, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); - switch (policy) { - case "origin": - return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": - return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": - return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { - const currentURL = requestCurrentURL(request); - if (sameOrigin(referrerURL, currentURL)) { - return referrerURL; - } - if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; - } - return referrerOrigin; - } - case "strict-origin": - case "no-referrer-when-downgrade": - default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; - } - } - function stripURLForReferrer(url2, originOnly) { - assert(url2 instanceof URL); - if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") { - return "no-referrer"; - } - url2.username = ""; - url2.password = ""; - url2.hash = ""; - if (originOnly) { - url2.pathname = ""; - url2.search = ""; - } - return url2; - } - function isURLPotentiallyTrustworthy(url2) { - if (!(url2 instanceof URL)) { - return false; - } - if (url2.href === "about:blank" || url2.href === "about:srcdoc") { - return true; - } - if (url2.protocol === "data:") - return true; - if (url2.protocol === "file:") - return true; - return isOriginPotentiallyTrustworthy(url2.origin); - function isOriginPotentiallyTrustworthy(origin) { - if (origin == null || origin === "null") - return false; - const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { - return true; - } - 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")) { - return true; - } - return false; - } - } - function bytesMatch(bytes, metadataList) { - if (crypto2 === void 0) { - return true; - } - const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { - return true; - } - if (parsedMetadata.length === 0) { - return true; - } - const strongest = getStrongestMetadata(parsedMetadata); - const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); - for (const item of metadata) { - const algorithm = item.algo; - const expectedValue = item.hash; - let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue[actualValue.length - 1] === "=") { - if (actualValue[actualValue.length - 2] === "=") { - actualValue = actualValue.slice(0, -2); - } else { - actualValue = actualValue.slice(0, -1); - } - } - if (compareBase64Mixed(actualValue, expectedValue)) { - return true; - } - } - return false; - } - var parseHashWithOptions = /(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; - function parseMetadata(metadata) { - const result = []; - let empty = true; - for (const token of metadata.split(" ")) { - empty = false; - const parsedToken = parseHashWithOptions.exec(token); - if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { - continue; - } - const algorithm = parsedToken.groups.algo.toLowerCase(); - if (supportedHashes.includes(algorithm)) { - result.push(parsedToken.groups); - } - } - if (empty === true) { - return "no metadata"; - } - return result; - } - function getStrongestMetadata(metadataList) { - let algorithm = metadataList[0].algo; - if (algorithm[3] === "5") { - return algorithm; - } - for (let i3 = 1; i3 < metadataList.length; ++i3) { - const metadata = metadataList[i3]; - if (metadata.algo[3] === "5") { - algorithm = "sha512"; - break; - } else if (algorithm[3] === "3") { - continue; - } else if (metadata.algo[3] === "3") { - algorithm = "sha384"; - } - } - return algorithm; - } - function filterMetadataListByAlgorithm(metadataList, algorithm) { - if (metadataList.length === 1) { - return metadataList; - } - let pos = 0; - for (let i3 = 0; i3 < metadataList.length; ++i3) { - if (metadataList[i3].algo === algorithm) { - metadataList[pos++] = metadataList[i3]; - } - } - metadataList.length = pos; - return metadataList; - } - function compareBase64Mixed(actualValue, expectedValue) { - if (actualValue.length !== expectedValue.length) { - return false; - } - for (let i3 = 0; i3 < actualValue.length; ++i3) { - if (actualValue[i3] !== expectedValue[i3]) { - if (actualValue[i3] === "+" && expectedValue[i3] === "-" || actualValue[i3] === "/" && expectedValue[i3] === "_") { - continue; - } - return false; - } - } - return true; - } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { - } - function sameOrigin(A3, B2) { - if (A3.origin === B2.origin && A3.origin === "null") { - return true; - } - if (A3.protocol === B2.protocol && A3.hostname === B2.hostname && A3.port === B2.port) { - return true; - } - return false; - } - function createDeferredPromise() { - let res; - let rej; - const promise = new Promise((resolve, reject) => { - res = resolve; - rej = reject; - }); - return { promise, resolve: res, reject: rej }; - } - function isAborted(fetchParams) { - return fetchParams.controller.state === "aborted"; - } - function isCancelled(fetchParams) { - return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; - } - var normalizeMethodRecord = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" - }; - Object.setPrototypeOf(normalizeMethodRecord, null); - function normalizeMethod(method) { - return normalizeMethodRecord[method.toLowerCase()] ?? method; - } - function serializeJavascriptValueToJSONString(value) { - const result = JSON.stringify(value); - if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); - } - assert(typeof result === "string"); - return result; - } - var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); - function makeIterator(iterator, name, kind2) { - const object = { - index: 0, - kind: kind2, - target: iterator - }; - const i3 = { - next() { - if (Object.getPrototypeOf(this) !== i3) { - throw new TypeError( - `'next' called on an object that does not implement interface ${name} Iterator.` - ); - } - const { index, kind: kind3, target } = object; - const values = target(); - const len = values.length; - if (index >= len) { - return { value: void 0, done: true }; - } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind3); - }, - [Symbol.toStringTag]: `${name} Iterator` - }; - Object.setPrototypeOf(i3, esIteratorPrototype); - return Object.setPrototypeOf({}, i3); - } - function iteratorResult(pair, kind2) { - let result; - switch (kind2) { - case "key": { - result = pair[0]; - break; - } - case "value": { - result = pair[1]; - break; - } - case "key+value": { - result = pair; - break; - } - } - return { value: result, done: false }; - } - async function fullyReadBody(body, processBody, processBodyError) { - const successSteps = processBody; - const errorSteps = processBodyError; - let reader; - try { - reader = body.stream.getReader(); - } catch (e3) { - errorSteps(e3); - return; - } - try { - const result = await readAllBytes(reader); - successSteps(result); - } catch (e3) { - errorSteps(e3); - } - } - var ReadableStream4 = globalThis.ReadableStream; - function isReadableStreamLike(stream4) { - if (!ReadableStream4) { - ReadableStream4 = require("stream/web").ReadableStream; - } - return stream4 instanceof ReadableStream4 || stream4[Symbol.toStringTag] === "ReadableStream" && typeof stream4.tee === "function"; - } - var MAXIMUM_ARGUMENT_LENGTH = 65535; - function isomorphicDecode(input) { - if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); - } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); - } - function readableStreamClose(controller) { - try { - controller.close(); - } catch (err) { - if (!err.message.includes("Controller is already closed")) { - throw err; - } - } - } - function isomorphicEncode(input) { - for (let i3 = 0; i3 < input.length; i3++) { - assert(input.charCodeAt(i3) <= 255); - } - return input; - } - async function readAllBytes(reader) { - const bytes = []; - let byteLength = 0; - while (true) { - const { done, value: chunk } = await reader.read(); - if (done) { - return Buffer.concat(bytes, byteLength); - } - if (!isUint8Array(chunk)) { - throw new TypeError("Received non-Uint8Array chunk"); - } - bytes.push(chunk); - byteLength += chunk.length; - } - } - function urlIsLocal(url2) { - assert("protocol" in url2); - const protocol = url2.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; - } - function urlHasHttpsScheme(url2) { - if (typeof url2 === "string") { - return url2.startsWith("https:"); - } - return url2.protocol === "https:"; - } - function urlIsHttpHttpsScheme(url2) { - assert("protocol" in url2); - const protocol = url2.protocol; - return protocol === "http:" || protocol === "https:"; - } - var hasOwn2 = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); - module2.exports = { - isAborted, - isCancelled, - createDeferredPromise, - ReadableStreamFrom, - toUSVString, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - coarsenedSharedCurrentTime, - determineRequestsReferrer, - makePolicyContainer, - clonePolicyContainer, - appendFetchMetadata, - appendRequestOriginHeader, - TAOCheck, - corsCheck, - crossOriginResourcePolicyCheck, - createOpaqueTimingInfo, - setRequestReferrerPolicyOnRedirect, - isValidHTTPToken, - requestBadPort, - requestCurrentURL, - responseURL, - responseLocationURL, - isBlobLike: isBlobLike2, - isURLPotentiallyTrustworthy, - isValidReasonPhrase, - sameOrigin, - normalizeMethod, - serializeJavascriptValueToJSONString, - makeIterator, - isValidHeaderName: isValidHeaderName2, - isValidHeaderValue, - hasOwn: hasOwn2, - isErrorLike, - fullyReadBody, - bytesMatch, - isReadableStreamLike, - readableStreamClose, - isomorphicEncode, - isomorphicDecode, - urlIsLocal, - urlHasHttpsScheme, - urlIsHttpHttpsScheme, - readAllBytes, - normalizeMethodRecord, - parseMetadata - }; - } -}); - -// node_modules/undici/lib/fetch/symbols.js -var require_symbols2 = __commonJS({ - "node_modules/undici/lib/fetch/symbols.js"(exports, module2) { - "use strict"; - module2.exports = { - kUrl: Symbol("url"), - kHeaders: Symbol("headers"), - kSignal: Symbol("signal"), - kState: Symbol("state"), - kGuard: Symbol("guard"), - kRealm: Symbol("realm") - }; - } -}); - -// node_modules/undici/lib/fetch/webidl.js -var require_webidl = __commonJS({ - "node_modules/undici/lib/fetch/webidl.js"(exports, module2) { - "use strict"; - var { types } = require("util"); - var { hasOwn: hasOwn2, toUSVString } = require_util2(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context2) { - const plural = context2.types.length === 1 ? "" : " one of"; - const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; - return webidl.errors.exception({ - header: context2.prefix, - message - }); - }; - webidl.errors.invalidArgument = function(context2) { - return webidl.errors.exception({ - header: context2.prefix, - message: `"${context2.value}" is an invalid ${context2.type}.` - }); - }; - webidl.brandCheck = function(V4, I2, opts = void 0) { - if (opts?.strict !== false && !(V4 instanceof I2)) { - throw new TypeError("Illegal invocation"); - } else { - return V4?.[Symbol.toStringTag] === I2.prototype[Symbol.toStringTag]; - } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { - if (length < min) { - throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, - ...ctx - }); - } - }; - webidl.illegalConstructor = function() { - throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V4) { - switch (typeof V4) { - case "undefined": - return "Undefined"; - case "boolean": - return "Boolean"; - case "string": - return "String"; - case "symbol": - return "Symbol"; - case "number": - return "Number"; - case "bigint": - return "BigInt"; - case "function": - case "object": { - if (V4 === null) { - return "Null"; - } - return "Object"; - } - } - }; - webidl.util.ConvertToInt = function(V4, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; - if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; - } else { - lowerBound = Math.pow(-2, 53) + 1; - } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; - } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; - } - let x2 = Number(V4); - if (x2 === 0) { - x2 = 0; - } - if (opts.enforceRange === true) { - if (Number.isNaN(x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Could not convert ${V4} to an integer.` - }); - } - x2 = webidl.util.IntegerPart(x2); - if (x2 < lowerBound || x2 > upperBound) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Value must be between ${lowerBound}-${upperBound}, got ${x2}.` - }); - } - return x2; - } - if (!Number.isNaN(x2) && opts.clamp === true) { - x2 = Math.min(Math.max(x2, lowerBound), upperBound); - if (Math.floor(x2) % 2 === 0) { - x2 = Math.floor(x2); - } else { - x2 = Math.ceil(x2); - } - return x2; - } - if (Number.isNaN(x2) || x2 === 0 && Object.is(0, x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { - return 0; - } - x2 = webidl.util.IntegerPart(x2); - x2 = x2 % Math.pow(2, bitLength); - if (signedness === "signed" && x2 >= Math.pow(2, bitLength) - 1) { - return x2 - Math.pow(2, bitLength); - } - return x2; - }; - webidl.util.IntegerPart = function(n2) { - const r3 = Math.floor(Math.abs(n2)); - if (n2 < 0) { - return -1 * r3; - } - return r3; - }; - webidl.sequenceConverter = function(converter) { - return (V4) => { - if (webidl.util.Type(V4) !== "Object") { - throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V4)} is not an Object.` - }); - } - const method = V4?.[Symbol.iterator]?.(); - const seq = []; - if (method === void 0 || typeof method.next !== "function") { - throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." - }); - } - while (true) { - const { done, value } = method.next(); - if (done) { - break; - } - seq.push(converter(value)); - } - return seq; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { - return (O3) => { - if (webidl.util.Type(O3) !== "Object") { - throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O3)} is not an Object.` - }); - } - const result = {}; - if (!types.isProxy(O3)) { - const keys2 = Object.keys(O3); - for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O3[key]); - result[typedKey] = typedValue; - } - return result; - } - const keys = Reflect.ownKeys(O3); - for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O3, key); - if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O3[key]); - result[typedKey] = typedValue; - } - } - return result; - }; - }; - webidl.interfaceConverter = function(i3) { - return (V4, opts = {}) => { - if (opts.strict !== false && !(V4 instanceof i3)) { - throw webidl.errors.exception({ - header: i3.name, - message: `Expected ${V4} to be an instance of ${i3.name}.` - }); - } - return V4; - }; - }; - webidl.dictionaryConverter = function(converters) { - return (dictionary) => { - const type = webidl.util.Type(dictionary); - const dict = {}; - if (type === "Null" || type === "Undefined") { - return dict; - } else if (type !== "Object") { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); - } - for (const options of converters) { - const { key, defaultValue, required, converter } = options; - if (required === true) { - if (!hasOwn2(dictionary, key)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Missing required key "${key}".` - }); - } - } - let value = dictionary[key]; - const hasDefault = hasOwn2(options, "defaultValue"); - if (hasDefault && value !== null) { - value = value ?? defaultValue; - } - if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); - } - dict[key] = value; - } - } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { - return (V4) => { - if (V4 === null) { - return V4; - } - return converter(V4); - }; - }; - webidl.converters.DOMString = function(V4, opts = {}) { - if (V4 === null && opts.legacyNullToEmptyString) { - return ""; - } - if (typeof V4 === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); - } - return String(V4); - }; - webidl.converters.ByteString = function(V4) { - const x2 = webidl.converters.DOMString(V4); - for (let index = 0; index < x2.length; index++) { - if (x2.charCodeAt(index) > 255) { - throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x2.charCodeAt(index)} which is greater than 255.` - ); - } - } - return x2; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V4) { - const x2 = Boolean(V4); - return x2; - }; - webidl.converters.any = function(V4) { - return V4; - }; - webidl.converters["long long"] = function(V4) { - const x2 = webidl.util.ConvertToInt(V4, 64, "signed"); - return x2; - }; - webidl.converters["unsigned long long"] = function(V4) { - const x2 = webidl.util.ConvertToInt(V4, 64, "unsigned"); - return x2; - }; - webidl.converters["unsigned long"] = function(V4) { - const x2 = webidl.util.ConvertToInt(V4, 32, "unsigned"); - return x2; - }; - webidl.converters["unsigned short"] = function(V4, opts) { - const x2 = webidl.util.ConvertToInt(V4, 16, "unsigned", opts); - return x2; - }; - webidl.converters.ArrayBuffer = function(V4, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isAnyArrayBuffer(V4)) { - throw webidl.errors.conversionFailed({ - prefix: `${V4}`, - argument: `${V4}`, - types: ["ArrayBuffer"] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.TypedArray = function(V4, T3, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isTypedArray(V4) || V4.constructor.name !== T3.name) { - throw webidl.errors.conversionFailed({ - prefix: `${T3.name}`, - argument: `${V4}`, - types: [T3.name] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.DataView = function(V4, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isDataView(V4)) { - throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.BufferSource = function(V4, opts = {}) { - if (types.isAnyArrayBuffer(V4)) { - return webidl.converters.ArrayBuffer(V4, opts); - } - if (types.isTypedArray(V4)) { - return webidl.converters.TypedArray(V4, V4.constructor); - } - if (types.isDataView(V4)) { - return webidl.converters.DataView(V4, opts); - } - throw new TypeError(`Could not convert ${V4} to a BufferSource.`); - }; - webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter( - webidl.converters["sequence<ByteString>"] - ); - webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter( - webidl.converters.ByteString, - webidl.converters.ByteString - ); - module2.exports = { - webidl - }; - } -}); - -// node_modules/undici/lib/fetch/dataURL.js -var require_dataURL = __commonJS({ - "node_modules/undici/lib/fetch/dataURL.js"(exports, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util2(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; - function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); - if (position.position >= input.length) { - return "failure"; - } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; - } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); - } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; - } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); - } - return { mimeType: mimeTypeRecord, body }; - } - function URLSerializer(url2, excludeFragment = false) { - if (!excludeFragment) { - return url2.href; - } - const href = url2.href; - const hashLength = url2.hash.length; - return hashLength === 0 ? href : href.substring(0, href.length - hashLength); - } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } - function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); - } - function percentDecode(input) { - const output = []; - for (let i3 = 0; i3 < input.length; i3++) { - const byte = input[i3]; - if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i3 + 1], input[i3 + 2]))) { - output.push(37); - } else { - const nextTwoBytes = String.fromCharCode(input[i3 + 1], input[i3 + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i3 += 2; - } - } - return Uint8Array.from(output); - } - function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); - if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { - return "failure"; - } - if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); - if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; - } - const typeLowercase = type.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); - const mimeType = { - type: typeLowercase, - subtype: subtypeLowercase, - parameters: /* @__PURE__ */ new Map(), - essence: `${typeLowercase}/${subtypeLowercase}` - }; - while (position.position < input.length) { - position.position++; - collectASequenceOfCodePoints( - (char) => HTTP_WHITESPACE_REGEX.test(char), - input, - position - ); - let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", - input, - position - ); - parameterName = parameterName.toLowerCase(); - if (position.position < input.length) { - if (input[position.position] === ";") { - continue; - } - position.position++; - } - if (position.position > input.length) { - break; - } - let parameterValue = null; - if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); - } else { - parameterValue = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); - if (parameterValue.length === 0) { - continue; - } - } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); - } - } - return mimeType; - } - function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); - if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); - } - if (data.length % 4 === 1) { - return "failure"; - } - if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; - } - const binary = atob2(data); - const bytes = new Uint8Array(binary.length); - for (let byte = 0; byte < binary.length; byte++) { - bytes[byte] = binary.charCodeAt(byte); - } - return bytes; - } - function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; - while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); - if (position.position >= input.length) { - break; - } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { - if (position.position >= input.length) { - value += "\\"; - break; - } - value += input[position.position]; - position.position++; - } else { - assert(quoteOrBackslash === '"'); - break; - } - } - if (extractValue) { - return value; - } - return input.slice(positionStart, position.position); - } - function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; - for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; - if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; - } - serialization += value; - } - return serialization; - } - function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; - } - function removeHTTPWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) - ; - } - if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) - ; - } - return str.slice(lead, trail + 1); - } - function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; - } - function removeASCIIWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) - ; - } - if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) - ; - } - return str.slice(lead, trail + 1); - } - module2.exports = { - dataURLProcessor, - URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, - stringPercentDecode, - parseMIMEType, - collectAnHTTPQuotedString, - serializeAMimeType - }; - } -}); - -// node_modules/undici/lib/fetch/file.js -var require_file = __commonJS({ - "node_modules/undici/lib/fetch/file.js"(exports, module2) { - "use strict"; - var { Blob: Blob4, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols2(); - var { isBlobLike: isBlobLike2 } = require_util2(); - var { webidl } = require_webidl(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util(); - var encoder = new TextEncoder(); - var File3 = class extends Blob4 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence<BlobPart>"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n2 = fileName; - let t2 = options.type; - let d5; - substep: { - if (t2) { - t2 = parseMIMEType(t2); - if (t2 === "failure") { - t2 = ""; - break substep; - } - t2 = serializeAMimeType(t2).toLowerCase(); - } - d5 = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t2 }); - this[kState] = { - name: n2, - lastModified: d5, - type: t2 - }; - } - get name() { - webidl.brandCheck(this, File3); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, File3); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, File3); - return this[kState].type; - } - }; - var FileLike = class { - constructor(blobLike, fileName, options = {}) { - const n2 = fileName; - const t2 = options.type; - const d5 = options.lastModified ?? Date.now(); - this[kState] = { - blobLike, - name: n2, - type: t2, - lastModified: d5 - }; - } - stream(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.stream(...args); - } - arrayBuffer(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.arrayBuffer(...args); - } - slice(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.slice(...args); - } - text(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.text(...args); - } - get size() { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.size; - } - get type() { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.type; - } - get name() { - webidl.brandCheck(this, FileLike); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, FileLike); - return this[kState].lastModified; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - Object.defineProperties(File3.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob4); - webidl.converters.BlobPart = function(V4, opts) { - if (webidl.util.Type(V4) === "Object") { - if (isBlobLike2(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { - return webidl.converters.BufferSource(V4, opts); - } - } - return webidl.converters.USVString(V4, opts); - }; - webidl.converters["sequence<BlobPart>"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s2 = element; - if (options.endings === "native") { - s2 = convertLineEndingsNative(s2); - } - bytes.push(encoder.encode(s2)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { - if (!element.buffer) { - bytes.push(new Uint8Array(element)); - } else { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } - } else if (isBlobLike2(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s2) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; - } - return s2.replace(/\r?\n/g, nativeLineEnding); - } - function isFileLike3(object) { - return NativeFile && object instanceof NativeFile || object instanceof File3 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File: File3, FileLike, isFileLike: isFileLike3 }; - } -}); - -// node_modules/undici/lib/fetch/formdata.js -var require_formdata = __commonJS({ - "node_modules/undici/lib/fetch/formdata.js"(exports, module2) { - "use strict"; - var { isBlobLike: isBlobLike2, toUSVString, makeIterator } = require_util2(); - var { kState } = require_symbols2(); - var { File: UndiciFile, FileLike, isFileLike: isFileLike3 } = require_file(); - var { webidl } = require_webidl(); - var { Blob: Blob4, File: NativeFile } = require("buffer"); - var File3 = NativeFile ?? UndiciFile; - var FormData5 = class { - constructor(form) { - if (form !== void 0) { - throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); - } - this[kState] = []; - } - append(name, value, filename = void 0) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); - if (arguments.length === 3 && !isBlobLike2(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - this[kState].push(entry); - } - delete(name) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); - this[kState] = this[kState].filter((entry) => entry.name !== name); - } - get(name) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); - const idx = this[kState].findIndex((entry) => entry.name === name); - if (idx === -1) { - return null; - } - return this[kState][idx].value; - } - getAll(name) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); - } - has(name) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); - return this[kState].findIndex((entry) => entry.name === name) !== -1; - } - set(name, value, filename = void 0) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); - if (arguments.length === 3 && !isBlobLike2(value)) { - throw new TypeError( - "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); - if (idx !== -1) { - this[kState] = [ - ...this[kState].slice(0, idx), - entry, - ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) - ]; - } else { - this[kState].push(entry); - } - } - entries() { - webidl.brandCheck(this, FormData5); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); - } - keys() { - webidl.brandCheck(this, FormData5); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); - } - values() { - webidl.brandCheck(this, FormData5); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); - } - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, FormData5); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - }; - FormData5.prototype[Symbol.iterator] = FormData5.prototype.entries; - Object.defineProperties(FormData5.prototype, { - [Symbol.toStringTag]: { - value: "FormData", - configurable: true - } - }); - function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); - if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); - } else { - if (!isFileLike3(value)) { - value = value instanceof Blob4 ? new File3([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); - } - if (filename !== void 0) { - const options = { - type: value.type, - lastModified: value.lastModified - }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File3([value], filename, options) : new FileLike(value, filename, options); - } - } - return { name, value }; - } - module2.exports = { FormData: FormData5 }; - } -}); - -// node_modules/undici/lib/fetch/body.js -var require_body = __commonJS({ - "node_modules/undici/lib/fetch/body.js"(exports, module2) { - "use strict"; - var Busboy = require_main(); - var util2 = require_util(); - var { - ReadableStreamFrom, - isBlobLike: isBlobLike2, - isReadableStreamLike, - readableStreamClose, - createDeferredPromise, - fullyReadBody - } = require_util2(); - var { FormData: FormData5 } = require_formdata(); - var { kState } = require_symbols2(); - var { webidl } = require_webidl(); - var { DOMException: DOMException3, structuredClone: structuredClone2 } = require_constants2(); - var { Blob: Blob4, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { isErrored } = require_util(); - var { isUint8Array, isArrayBuffer: isArrayBuffer2 } = require("util/types"); - var { File: UndiciFile } = require_file(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var ReadableStream4 = globalThis.ReadableStream; - var File3 = NativeFile ?? UndiciFile; - var textEncoder2 = new TextEncoder(); - var textDecoder = new TextDecoder(); - function extractBody(object, keepalive = false) { - if (!ReadableStream4) { - ReadableStream4 = require("stream/web").ReadableStream; - } - let stream4 = null; - if (object instanceof ReadableStream4) { - stream4 = object; - } else if (isBlobLike2(object)) { - stream4 = object.stream(); - } else { - stream4 = new ReadableStream4({ - async pull(controller) { - controller.enqueue( - typeof source === "string" ? textEncoder2.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { - }, - type: void 0 - }); - } - assert(isReadableStreamLike(stream4)); - let action = null; - let source = null; - let length = null; - let type = null; - if (typeof object === "string") { - source = object; - type = "text/plain;charset=UTF-8"; - } else if (object instanceof URLSearchParams) { - source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isArrayBuffer2(object)) { - source = new Uint8Array(object.slice()); - } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); - } else if (util2.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; - const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const blobParts = []; - const rn = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; - for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = textEncoder2.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r -\r -${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; - } else { - const chunk2 = textEncoder2.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r -\r -`); - blobParts.push(chunk2, value, rn); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn.byteLength; - } else { - hasUnknownSizeValue = true; - } - } - } - const chunk = textEncoder2.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; - if (hasUnknownSizeValue) { - length = null; - } - source = object; - action = async function* () { - for (const part of blobParts) { - if (part.stream) { - yield* part.stream(); - } else { - yield part; - } - } - }; - type = "multipart/form-data; boundary=" + boundary; - } else if (isBlobLike2(object)) { - source = object; - length = object.size; - if (object.type) { - type = object.type; - } - } else if (typeof object[Symbol.asyncIterator] === "function") { - if (keepalive) { - throw new TypeError("keepalive"); - } - if (util2.isDisturbed(object) || object.locked) { - throw new TypeError( - "Response body object should not be disturbed or locked" - ); - } - stream4 = object instanceof ReadableStream4 ? object : ReadableStreamFrom(object); - } - if (typeof source === "string" || util2.isBuffer(source)) { - length = Buffer.byteLength(source); - } - if (action != null) { - let iterator; - stream4 = new ReadableStream4({ - async start() { - iterator = action(object)[Symbol.asyncIterator](); - }, - async pull(controller) { - const { value, done } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - if (!isErrored(stream4)) { - controller.enqueue(new Uint8Array(value)); - } - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - }, - type: void 0 - }); - } - const body = { stream: stream4, source, length }; - return [body, type]; - } - function safelyExtractBody(object, keepalive = false) { - if (!ReadableStream4) { - ReadableStream4 = require("stream/web").ReadableStream; - } - if (object instanceof ReadableStream4) { - assert(!util2.isDisturbed(object), "The body has already been consumed."); - assert(!object.locked, "The stream is locked."); - } - return extractBody(object, keepalive); - } - function cloneBody(body) { - const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone2(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); - body.stream = out1; - return { - stream: finalClone, - length: body.length, - source: body.source - }; - } - async function* consumeBody(body) { - if (body) { - if (isUint8Array(body)) { - yield body; - } else { - const stream4 = body.stream; - if (util2.isDisturbed(stream4)) { - throw new TypeError("The body has already been consumed."); - } - if (stream4.locked) { - throw new TypeError("The stream is locked."); - } - stream4[kBodyUsed] = true; - yield* stream4; - } - } - } - function throwIfAborted(state) { - if (state.aborted) { - throw new DOMException3("The operation was aborted.", "AbortError"); - } - } - function bodyMixinMethods(instance) { - const methods = { - blob() { - return specConsumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === "failure") { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob4([bytes], { type: mimeType }); - }, instance); - }, - arrayBuffer() { - return specConsumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); - }, - text() { - return specConsumeBody(this, utf8DecodeBytes, instance); - }, - json() { - return specConsumeBody(this, parseJSONFromBytes, instance); - }, - async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); - if (/multipart\/form-data/.test(contentType)) { - const headers = {}; - for (const [key, value] of this.headers) - headers[key.toLowerCase()] = value; - const responseFormData = new FormData5(); - let busboy; - try { - busboy = new Busboy({ - headers, - preservePath: true - }); - } catch (err) { - throw new DOMException3(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File3(chunks, filename, { type: mimeType })); - }); - } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File3(chunks, filename, { type: mimeType })); - }); - } - }); - const busboyResolve = new Promise((resolve, reject) => { - busboy.on("finish", resolve); - busboy.on("error", (err) => reject(new TypeError(err))); - }); - if (this.body !== null) - for await (const chunk of consumeBody(this[kState].body)) - busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; - } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; - try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - for await (const chunk of consumeBody(this[kState].body)) { - if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); - } - text += streamingDecoder.decode(chunk, { stream: true }); - } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); - } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); - } - const formData = new FormData5(); - for (const [name, value] of entries) { - formData.append(name, value); - } - return formData; - } else { - await Promise.resolve(); - throwIfAborted(this[kState]); - throw webidl.errors.exception({ - header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); - } - } - }; - return methods; - } - function mixinBody(prototype3) { - Object.assign(prototype3.prototype, bodyMixinMethods(prototype3)); - } - async function specConsumeBody(object, convertBytesToJSValue, instance) { - webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); - if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); - } - const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); - const successSteps = (data) => { - try { - promise.resolve(convertBytesToJSValue(data)); - } catch (e3) { - errorSteps(e3); - } - }; - if (object[kState].body == null) { - successSteps(new Uint8Array()); - return promise.promise; - } - await fullyReadBody(object[kState].body, successSteps, errorSteps); - return promise.promise; - } - function bodyUnusable(body) { - return body != null && (body.stream.locked || util2.isDisturbed(body.stream)); - } - function utf8DecodeBytes(buffer) { - if (buffer.length === 0) { - return ""; - } - if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); - } - const output = textDecoder.decode(buffer); - return output; - } - function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); - } - function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); - if (contentType === null) { - return "failure"; - } - return parseMIMEType(contentType); - } - module2.exports = { - extractBody, - safelyExtractBody, - cloneBody, - mixinBody - }; - } -}); - -// node_modules/undici/lib/core/request.js -var require_request = __commonJS({ - "node_modules/undici/lib/core/request.js"(exports, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); - var util2 = require_util(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = Symbol("handler"); - var channels = {}; - var extractBody; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); - } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; - } - var Request3 = class { - constructor(origin, { - path: path2, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler) { - if (typeof path2 !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.exec(path2) !== null) { - throw new InvalidArgumentError("invalid request path"); - } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); - } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); - } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; - if (body == null) { - this.body = null; - } else if (util2.isStream(body)) { - this.body = body; - const rState = this.body._readableState; - if (!rState || !rState.autoDestroy) { - this.endHandler = function autoDestroy() { - util2.destroy(this); - }; - this.body.on("end", this.endHandler); - } - this.errorHandler = (err) => { - if (this.abort) { - this.abort(err); - } else { - this.error = err; - } - }; - this.body.on("error", this.errorHandler); - } else if (util2.isBuffer(body)) { - this.body = body.byteLength ? body : null; - } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; - } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util2.isFormDataLike(body) || util2.isIterable(body) || util2.isBlobLike(body)) { - this.body = body; - } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util2.buildURL(path2, query) : path2; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i3 = 0; i3 < headers.length; i3 += 2) { - processHeader(this, headers[i3], headers[i3 + 1]); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i3 = 0; i3 < keys.length; i3++) { - const key = keys[i3]; - processHeader(this, key, headers[key]); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - if (util2.isFormDataLike(this.body)) { - if (util2.nodeMajor < 16 || util2.nodeMajor === 16 && util2.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); - } - if (!extractBody) { - extractBody = require_body().extractBody; - } - const [bodyStream, contentType] = extractBody(body); - if (this.contentType == null) { - this.contentType = contentType; - this.headers += `content-type: ${contentType}\r -`; - } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util2.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; - this.headers += `content-type: ${body.type}\r -`; - } - util2.validateHandler(handler, method, upgrade); - this.servername = util2.getServerName(this.host); - this[kHandler] = handler; - if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); - } - } - onBodySent(chunk) { - if (this[kHandler].onBodySent) { - try { - return this[kHandler].onBodySent(chunk); - } catch (err) { - this.abort(err); - } - } - } - onRequestSent() { - if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); - } - if (this[kHandler].onRequestSent) { - try { - return this[kHandler].onRequestSent(); - } catch (err) { - this.abort(err); - } - } - } - onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - if (this.error) { - abort(this.error); - } else { - this.abort = abort; - return this[kHandler].onConnect(abort); - } - } - onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); - if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); - } - try { - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); - } catch (err) { - this.abort(err); - } - } - onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - try { - return this[kHandler].onData(chunk); - } catch (err) { - this.abort(err); - return false; - } - } - onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); - } - onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; - if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); - } - try { - return this[kHandler].onComplete(trailers); - } catch (err) { - this.onError(err); - } - } - onError(error) { - this.onFinally(); - if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error }); - } - if (this.aborted) { - return; - } - this.aborted = true; - return this[kHandler].onError(error); - } - onFinally() { - if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; - } - if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; - } - } - addHeader(key, value) { - processHeader(this, key, value); - return this; - } - static [kHTTP1BuildRequest](origin, opts, handler) { - return new Request3(origin, opts, handler); - } - static [kHTTP2BuildRequest](origin, opts, handler) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request = new Request3(origin, opts, handler); - request.headers = {}; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i3 = 0; i3 < headers.length; i3 += 2) { - processHeader(request, headers[i3], headers[i3 + 1], true); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i3 = 0; i3 < keys.length; i3++) { - const key = keys[i3]; - processHeader(request, key, headers[key], true); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - return request; - } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; - for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) - continue; - if (headers[key]) - headers[key] += `,${value}`; - else - headers[key] = value; - } - return headers; - } - }; - function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); - } - val = val != null ? `${val}` : ""; - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - return skipAppend ? val : `${key}: ${val}\r -`; - } - function processHeader(request, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); - } else if (val === void 0) { - return; - } - if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - request.host = val; - } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request.contentLength = parseInt(val, 10); - if (!Number.isFinite(request.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); - } - } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request.contentType = val; - if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request.reset = true; - } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); - } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); - } else { - if (Array.isArray(val)) { - for (let i3 = 0; i3 < val.length; i3++) { - if (skipAppend) { - if (request.headers[key]) - request.headers[key] += `,${processHeaderValue(key, val[i3], skipAppend)}`; - else - request.headers[key] = processHeaderValue(key, val[i3], skipAppend); - } else { - request.headers += processHeaderValue(key, val[i3]); - } - } - } else { - if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } - } - } - module2.exports = Request3; - } -}); - -// node_modules/undici/lib/dispatcher.js -var require_dispatcher = __commonJS({ - "node_modules/undici/lib/dispatcher.js"(exports, module2) { - "use strict"; - var EventEmitter2 = require("events"); - var Dispatcher = class extends EventEmitter2 { - dispatch() { - throw new Error("not implemented"); - } - close() { - throw new Error("not implemented"); - } - destroy() { - throw new Error("not implemented"); - } - }; - module2.exports = Dispatcher; - } -}); - -// node_modules/undici/lib/dispatcher-base.js -var require_dispatcher_base = __commonJS({ - "node_modules/undici/lib/dispatcher-base.js"(exports, module2) { - "use strict"; - var Dispatcher = require_dispatcher(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); - var kDestroyed = Symbol("destroyed"); - var kClosed = Symbol("closed"); - var kOnDestroyed = Symbol("onDestroyed"); - var kOnClosed = Symbol("onClosed"); - var kInterceptedDispatch = Symbol("Intercepted Dispatch"); - var DispatcherBase = class extends Dispatcher { - constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; - } - get destroyed() { - return this[kDestroyed]; - } - get closed() { - return this[kClosed]; - } - get interceptors() { - return this[kInterceptors]; - } - set interceptors(newInterceptors) { - if (newInterceptors) { - for (let i3 = newInterceptors.length - 1; i3 >= 0; i3--) { - const interceptor = this[kInterceptors][i3]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); - } - } - } - this[kInterceptors] = newInterceptors; - } - close(callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - this.close((err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); - return; - } - if (this[kClosed]) { - if (this[kOnClosed]) { - this[kOnClosed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - this[kClosed] = true; - this[kOnClosed].push(callback); - const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; - for (let i3 = 0; i3 < callbacks.length; i3++) { - callbacks[i3](null, null); - } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); - } - destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; - } - if (callback === void 0) { - return new Promise((resolve, reject) => { - this.destroy(err, (err2, data) => { - return err2 ? reject(err2) : resolve(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - if (!err) { - err = new ClientDestroyedError(); - } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); - const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; - for (let i3 = 0; i3 < callbacks.length; i3++) { - callbacks[i3](null, null); - } - }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); - } - [kInterceptedDispatch](opts, handler) { - if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler); - } - let dispatch = this[kDispatch].bind(this); - for (let i3 = this[kInterceptors].length - 1; i3 >= 0; i3--) { - dispatch = this[kInterceptors][i3](dispatch); - } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler); - } - dispatch(opts, handler) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); - } - if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); - } - if (this[kClosed]) { - throw new ClientClosedError(); - } - return this[kInterceptedDispatch](opts, handler); - } catch (err) { - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - handler.onError(err); - return false; - } - } - }; - module2.exports = DispatcherBase; - } -}); - -// node_modules/undici/lib/core/connect.js -var require_connect = __commonJS({ - "node_modules/undici/lib/core/connect.js"(exports, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util2 = require_util(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); - var tls; - var SessionCache; - if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { - SessionCache = class WeakSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - this._sessionRegistry = new global.FinalizationRegistry((key) => { - if (this._sessionCache.size < this._maxCachedSessions) { - return; - } - const ref = this._sessionCache.get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); - } - }); - } - get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); - } - }; - } else { - SessionCache = class SimpleSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - } - get(sessionKey) { - return this._sessionCache.get(sessionKey); - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); - } - this._sessionCache.set(sessionKey, session); - } - }; - } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); - } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { - if (!tls) { - tls = require("tls"); - } - servername = servername || options.servername || util2.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); - socket = tls.connect({ - highWaterMark: 16384, - ...options, - servername, - session, - localAddress, - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], - socket: httpSocket, - port: port || 443, - host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); - } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); - socket = net.connect({ - highWaterMark: 64 * 1024, - ...options, - localAddress, - port: port || 80, - host: hostname - }); - } - if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); - return socket; - }; - } - function setupTimeout(onConnectTimeout2, timeout) { - if (!timeout) { - return () => { - }; - } - let s1 = null; - let s2 = null; - const timeoutId = setTimeout(() => { - s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); - } else { - onConnectTimeout2(); - } - }); - }, timeout); - return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; - } - function onConnectTimeout(socket) { - util2.destroy(socket, new ConnectTimeoutError()); - } - module2.exports = buildConnector; - } -}); - -// node_modules/undici/lib/llhttp/utils.js -var require_utils2 = __commonJS({ - "node_modules/undici/lib/llhttp/utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.enumToMap = void 0; - function enumToMap(obj) { - const res = {}; - Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; - } - }); - return res; - } - exports.enumToMap = enumToMap; - } -}); - -// node_modules/undici/lib/llhttp/constants.js -var require_constants3 = __commonJS({ - "node_modules/undici/lib/llhttp/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - 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; - var utils_1 = require_utils2(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports.ERROR || (exports.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports.TYPE || (exports.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports.FLAGS || (exports.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports.METHODS || (exports.METHODS = {})); - exports.METHODS_HTTP = [ - METHODS.DELETE, - METHODS.GET, - METHODS.HEAD, - METHODS.POST, - METHODS.PUT, - METHODS.CONNECT, - METHODS.OPTIONS, - METHODS.TRACE, - METHODS.COPY, - METHODS.LOCK, - METHODS.MKCOL, - METHODS.MOVE, - METHODS.PROPFIND, - METHODS.PROPPATCH, - METHODS.SEARCH, - METHODS.UNLOCK, - METHODS.BIND, - METHODS.REBIND, - METHODS.UNBIND, - METHODS.ACL, - METHODS.REPORT, - METHODS.MKACTIVITY, - METHODS.CHECKOUT, - METHODS.MERGE, - METHODS["M-SEARCH"], - METHODS.NOTIFY, - METHODS.SUBSCRIBE, - METHODS.UNSUBSCRIBE, - METHODS.PATCH, - METHODS.PURGE, - METHODS.MKCALENDAR, - METHODS.LINK, - METHODS.UNLINK, - METHODS.PRI, - METHODS.SOURCE - ]; - exports.METHODS_ICE = [ - METHODS.SOURCE - ]; - exports.METHODS_RTSP = [ - METHODS.OPTIONS, - METHODS.DESCRIBE, - METHODS.ANNOUNCE, - METHODS.SETUP, - METHODS.PLAY, - METHODS.PAUSE, - METHODS.TEARDOWN, - METHODS.GET_PARAMETER, - METHODS.SET_PARAMETER, - METHODS.REDIRECT, - METHODS.RECORD, - METHODS.FLUSH, - METHODS.GET, - METHODS.POST - ]; - exports.METHOD_MAP = utils_1.enumToMap(METHODS); - exports.H_METHOD_MAP = {}; - Object.keys(exports.METHOD_MAP).forEach((key) => { - if (/^H/.test(key)) { - exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; - } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports.FINISH || (exports.FINISH = {})); - exports.ALPHA = []; - for (let i3 = "A".charCodeAt(0); i3 <= "Z".charCodeAt(0); i3++) { - exports.ALPHA.push(String.fromCharCode(i3)); - exports.ALPHA.push(String.fromCharCode(i3 + 32)); - } - exports.NUM_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9 - }; - exports.HEX_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9, - A: 10, - B: 11, - C: 12, - D: 13, - E: 14, - F: 15, - a: 10, - b: 11, - c: 12, - d: 13, - e: 14, - f: 15 - }; - exports.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); - exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); - exports.STRICT_URL_CHAR = [ - "!", - '"', - "$", - "%", - "&", - "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports.ALPHANUM); - exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]); - for (let i3 = 128; i3 <= 255; i3++) { - exports.URL_CHAR.push(i3); - } - exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); - exports.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", - "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports.ALPHANUM); - exports.TOKEN = exports.STRICT_TOKEN.concat([" "]); - exports.HEADER_CHARS = [" "]; - for (let i3 = 32; i3 <= 255; i3++) { - if (i3 !== 127) { - exports.HEADER_CHARS.push(i3); - } - } - exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c2) => c2 !== 44); - exports.MAJOR = exports.NUM_MAP; - exports.MINOR = exports.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); - exports.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; - } -}); - -// node_modules/undici/lib/handler/RedirectHandler.js -var require_RedirectHandler = __commonJS({ - "node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) { - "use strict"; - var util2 = require_util(); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { InvalidArgumentError } = require_errors(); - var EE = require("events"); - var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = Symbol("body"); - var BodyAsyncIterable = class { - constructor(body) { - this[kBody] = body; - this[kBodyUsed] = false; - } - async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); - this[kBodyUsed] = true; - yield* this[kBody]; - } - }; - var RedirectHandler = class { - constructor(dispatch, maxRedirections, opts, handler) { - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - util2.validateHandler(handler, opts.method, opts.upgrade); - this.dispatch = dispatch; - this.location = null; - this.abort = null; - this.opts = { ...opts, maxRedirections: 0 }; - this.maxRedirections = maxRedirections; - this.handler = handler; - this.history = []; - if (util2.isStream(this.opts.body)) { - if (util2.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { - assert(false); - }); - } - if (typeof this.opts.body.readableDidRead !== "boolean") { - this.opts.body[kBodyUsed] = false; - EE.prototype.on.call(this.opts.body, "data", function() { - this[kBodyUsed] = true; - }); - } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util2.isIterable(this.opts.body)) { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } - } - onConnect(abort) { - this.abort = abort; - this.handler.onConnect(abort, { history: this.history }); - } - onUpgrade(statusCode, headers, socket) { - this.handler.onUpgrade(statusCode, headers, socket); - } - onError(error) { - this.handler.onError(error); - } - onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util2.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); - if (this.opts.origin) { - this.history.push(new URL(this.opts.path, this.opts.origin)); - } - if (!this.location) { - return this.handler.onHeaders(statusCode, headers, resume, statusText); - } - const { origin, pathname, search } = util2.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path2 = search ? `${pathname}${search}` : pathname; - this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path2; - this.opts.origin = origin; - this.opts.maxRedirections = 0; - this.opts.query = null; - if (statusCode === 303 && this.opts.method !== "HEAD") { - this.opts.method = "GET"; - this.opts.body = null; - } - } - onData(chunk) { - if (this.location) { - } else { - return this.handler.onData(chunk); - } - } - onComplete(trailers) { - if (this.location) { - this.location = null; - this.abort = null; - this.dispatch(this.opts, this); - } else { - this.handler.onComplete(trailers); - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) { - this.handler.onBodySent(chunk); - } - } - }; - function parseLocation(statusCode, headers) { - if (redirectableStatusCodes.indexOf(statusCode) === -1) { - return null; - } - for (let i3 = 0; i3 < headers.length; i3 += 2) { - if (headers[i3].toString().toLowerCase() === "location") { - return headers[i3 + 1]; - } - } - } - function shouldRemoveHeader(header, removeContent, unknownOrigin) { - if (header.length === 4) { - return util2.headerNameToString(header) === "host"; - } - if (removeContent && util2.headerNameToString(header).startsWith("content-")) { - return true; - } - if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { - const name = util2.headerNameToString(header); - return name === "authorization" || name === "cookie" || name === "proxy-authorization"; - } - return false; - } - function cleanRequestHeaders(headers, removeContent, unknownOrigin) { - const ret = []; - if (Array.isArray(headers)) { - for (let i3 = 0; i3 < headers.length; i3 += 2) { - if (!shouldRemoveHeader(headers[i3], removeContent, unknownOrigin)) { - ret.push(headers[i3], headers[i3 + 1]); - } - } - } else if (headers && typeof headers === "object") { - for (const key of Object.keys(headers)) { - if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { - ret.push(key, headers[key]); - } - } - } else { - assert(headers == null, "headers must be an object or an array"); - } - return ret; - } - module2.exports = RedirectHandler; - } -}); - -// node_modules/undici/lib/interceptor/redirectInterceptor.js -var require_redirectInterceptor = __commonJS({ - "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) { - "use strict"; - var RedirectHandler = require_RedirectHandler(); - function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { - return (dispatch) => { - return function Intercept(opts, handler) { - const { maxRedirections = defaultMaxRedirections } = opts; - if (!maxRedirections) { - return dispatch(opts, handler); - } - const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); - opts = { ...opts, maxRedirections: 0 }; - return dispatch(opts, redirectHandler); - }; - }; - } - module2.exports = createRedirectInterceptor; - } -}); - -// node_modules/undici/lib/llhttp/llhttp-wasm.js -var require_llhttp_wasm = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; - } -}); - -// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js -var require_llhttp_simd_wasm = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; - } -}); - -// node_modules/undici/lib/client.js -var require_client = __commonJS({ - "node_modules/undici/lib/client.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var net = require("net"); - var http2 = require("http"); - var { pipeline } = require("stream"); - var util2 = require_util(); - var timers = require_timers(); - var Request3 = require_request(); - var DispatcherBase = require_dispatcher_base(); - var { - RequestContentLengthMismatchError, - ResponseContentLengthMismatchError, - InvalidArgumentError, - RequestAbortedError, - HeadersTimeoutError, - HeadersOverflowError, - SocketError, - InformationalError, - BodyTimeoutError, - HTTPParserError, - ResponseExceededMaxSizeError, - ClientDestroyedError - } = require_errors(); - var buildConnector = require_connect(); - var { - kUrl, - kReset, - kServerName, - kClient, - kBusy, - kParser, - kConnect, - kBlocking, - kResuming, - kRunning, - kPending, - kSize, - kWriting, - kQueue, - kConnected, - kConnecting, - kNeedDrain, - kNoRef, - kKeepAliveDefaultTimeout, - kHostHeader, - kPendingIdx, - kRunningIdx, - kError, - kPipelining, - kSocket, - kKeepAliveTimeoutValue, - kMaxHeadersSize, - kKeepAliveMaxTimeout, - kKeepAliveTimeoutThreshold, - kHeadersTimeout, - kBodyTimeout, - kStrictContentLength, - kConnector, - kMaxRedirections, - kMaxRequests, - kCounter, - kClose, - kDestroy, - kDispatch, - kInterceptors, - kLocalAddress, - kMaxResponseSize, - kHTTPConnVersion, - kHost, - kHTTP2Session, - kHTTP2SessionState, - kHTTP2BuildRequest, - kHTTP2CopyHeaders, - kHTTP1BuildRequest - } = require_symbols(); - var http22; - try { - http22 = require("http2"); - } catch { - http22 = { constants: {} }; - } - var { - constants: { - HTTP2_HEADER_AUTHORITY, - HTTP2_HEADER_METHOD, - HTTP2_HEADER_PATH, - HTTP2_HEADER_SCHEME, - HTTP2_HEADER_CONTENT_LENGTH, - HTTP2_HEADER_EXPECT, - HTTP2_HEADER_STATUS - } - } = http22; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; - var kClosedResolve = Symbol("kClosedResolve"); - var channels = {}; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); - } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; - } - var Client = class extends DispatcherBase { - constructor(url2, { - interceptors, - maxHeaderSize, - headersTimeout, - socketTimeout, - requestTimeout, - connectTimeout, - bodyTimeout, - idleTimeout, - keepAlive, - keepAliveTimeout, - maxKeepAliveTimeout, - keepAliveMaxTimeout, - keepAliveTimeoutThreshold, - socketPath, - pipelining, - tls, - strictContentLength, - maxCachedSessions, - maxRedirections, - connect: connect2, - maxRequestsPerClient, - localAddress, - maxResponseSize, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - maxConcurrentStreams - } = {}) { - super(); - if (keepAlive !== void 0) { - throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); - } - if (socketTimeout !== void 0) { - throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); - } - if (requestTimeout !== void 0) { - throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); - } - if (idleTimeout !== void 0) { - throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); - } - if (maxKeepAliveTimeout !== void 0) { - throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); - } - if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { - throw new InvalidArgumentError("invalid maxHeaderSize"); - } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); - } - if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); - } - if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); - } - if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); - } - if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); - } - if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); - } - if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); - } - if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { - throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); - } - if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { - throw new InvalidArgumentError("localAddress must be valid string IP address"); - } - if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { - throw new InvalidArgumentError("maxResponseSize must be a positive number"); - } - if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { - throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); - } - if (allowH2 != null && typeof allowH2 !== "boolean") { - throw new InvalidArgumentError("allowH2 must be a valid boolean value"); - } - if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); - } - if (typeof connect2 !== "function") { - connect2 = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect2 - }); - } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; - this[kUrl] = util2.parseOrigin(url2); - this[kConnector] = connect2; - this[kSocket] = null; - this[kPipelining] = pipelining != null ? pipelining : 1; - this[kMaxHeadersSize] = maxHeaderSize || http2.maxHeaderSize; - this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; - this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; - this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; - this[kServerName] = null; - this[kLocalAddress] = localAddress != null ? localAddress : null; - this[kResuming] = 0; - this[kNeedDrain] = 0; - this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r -`; - this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; - this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; - this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; - this[kMaxRedirections] = maxRedirections; - this[kMaxRequests] = maxRequestsPerClient; - this[kClosedResolve] = null; - this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - openStreams: 0, - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; - this[kQueue] = []; - this[kRunningIdx] = 0; - this[kPendingIdx] = 0; - } - get pipelining() { - return this[kPipelining]; - } - set pipelining(value) { - this[kPipelining] = value; - resume(this, true); - } - get [kPending]() { - return this[kQueue].length - this[kPendingIdx]; - } - get [kRunning]() { - return this[kPendingIdx] - this[kRunningIdx]; - } - get [kSize]() { - return this[kQueue].length - this[kRunningIdx]; - } - get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; - } - get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; - } - [kConnect](cb) { - connect(this); - this.once("connect", cb); - } - [kDispatch](opts, handler) { - const origin = opts.origin || this[kUrl].origin; - const request = this[kHTTPConnVersion] === "h2" ? Request3[kHTTP2BuildRequest](origin, opts, handler) : Request3[kHTTP1BuildRequest](origin, opts, handler); - this[kQueue].push(request); - if (this[kResuming]) { - } else if (util2.bodyLength(request.body) == null && util2.isIterable(request.body)) { - this[kResuming] = 1; - process.nextTick(resume, this); - } else { - resume(this, true); - } - if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { - this[kNeedDrain] = 2; - } - return this[kNeedDrain] < 2; - } - async [kClose]() { - return new Promise((resolve) => { - if (!this[kSize]) { - resolve(null); - } else { - this[kClosedResolve] = resolve; - } - }); - } - async [kDestroy](err) { - return new Promise((resolve) => { - const requests = this[kQueue].splice(this[kPendingIdx]); - for (let i3 = 0; i3 < requests.length; i3++) { - const request = requests[i3]; - errorRequest(this, request, err); - } - const callback = () => { - if (this[kClosedResolve]) { - this[kClosedResolve](); - this[kClosedResolve] = null; - } - resolve(); - }; - if (this[kHTTP2Session] != null) { - util2.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; - } - if (!this[kSocket]) { - queueMicrotask(callback); - } else { - util2.destroy(this[kSocket].on("close", callback), err); - } - resume(this); - }); - } - }; - function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); - } - function onHttp2FrameError(type, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); - } - } - function onHttp2SessionEnd() { - util2.destroy(this, new SocketError("other side closed")); - util2.destroy(this[kSocket], new SocketError("other side closed")); - } - function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; - if (client.destroyed) { - assert(this[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i3 = 0; i3 < requests.length; i3++) { - const request = requests[i3]; - errorRequest(this, request, err); - } - } else if (client[kRunning] > 0) { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants3(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); - async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; - let mod; - try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); - } catch (e3) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); - } - return await WebAssembly.instantiate(mod, { - env: { - wasm_on_url: (p3, at2, len) => { - return 0; - }, - wasm_on_status: (p3, at2, len) => { - assert.strictEqual(currentParser.ptr, p3); - const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_begin: (p3) => { - assert.strictEqual(currentParser.ptr, p3); - return currentParser.onMessageBegin() || 0; - }, - wasm_on_header_field: (p3, at2, len) => { - assert.strictEqual(currentParser.ptr, p3); - const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_header_value: (p3, at2, len) => { - assert.strictEqual(currentParser.ptr, p3); - const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_headers_complete: (p3, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p3); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; - }, - wasm_on_body: (p3, at2, len) => { - assert.strictEqual(currentParser.ptr, p3); - const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_complete: (p3) => { - assert.strictEqual(currentParser.ptr, p3); - return currentParser.onMessageComplete() || 0; - } - } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; - var Parser = class { - constructor(client, socket, { exports: exports2 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports2; - this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; - } - setTimeout(value, type) { - this.timeoutType = type; - if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); - if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); - if (this.timeout.unref) { - this.timeout.unref(); - } - } else { - this.timeout = null; - } - this.timeoutValue = value; - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - } - resume() { - if (this.socket.destroyed || !this.paused) { - return; - } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); - } - readMore() { - while (!this.paused && this.ptr) { - const chunk = this.socket.read(); - if (chunk === null) { - break; - } - this.execute(chunk); - } - } - execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; - if (data.length > currentBufferSize) { - if (currentBufferPtr) { - llhttp.free(currentBufferPtr); - } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); - } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); - try { - let ret; - try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); - } catch (err) { - throw err; - } finally { - currentParser = null; - currentBufferRef = null; - } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; - if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); - } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); - } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; - } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); - } - } catch (err) { - util2.destroy(socket, err); - } - } - destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; - } - onStatus(buf) { - this.statusText = buf.toString(); - } - onMessageBegin() { - const { socket, client } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - } - onHeaderField(buf) { - const len = this.headers.length; - if ((len & 1) === 0) { - this.headers.push(buf); - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - this.trackHeader(buf.length); - } - onHeaderValue(buf) { - let len = this.headers.length; - if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); - } - trackHeader(len) { - this.headersSize += len; - if (this.headersSize >= this.headersMaxSize) { - util2.destroy(this.socket, new HeadersOverflowError()); - } - } - onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request.upgrade || request.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); - try { - request.onUpgrade(statusCode, headers, socket); - } catch (err) { - util2.destroy(socket, err); - } - resume(client); - } - onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - assert(!this.upgrade); - assert(this.statusCode < 200); - if (statusCode === 100) { - util2.destroy(socket, new SocketError("bad response", util2.getSocketInfo(socket))); - return -1; - } - if (upgrade && !request.upgrade) { - util2.destroy(socket, new SocketError("bad upgrade", util2.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; - if (this.statusCode >= 200) { - const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - if (request.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util2.parseKeepAliveTimeout(this.keepAlive) : null; - if (keepAliveTimeout != null) { - const timeout = Math.min( - keepAliveTimeout - client[kKeepAliveTimeoutThreshold], - client[kKeepAliveMaxTimeout] - ); - if (timeout <= 0) { - socket[kReset] = true; - } else { - client[kKeepAliveTimeoutValue] = timeout; - } - } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; - } - } else { - socket[kReset] = true; - } - const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; - if (request.aborted) { - return -1; - } - if (request.method === "HEAD") { - return 1; - } - if (statusCode < 200) { - return 1; - } - if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); - } - return pause ? constants.ERROR.PAUSED : 0; - } - onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util2.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; - } - this.bytesRead += buf.length; - if (request.onData(buf) === false) { - return constants.ERROR.PAUSED; - } - } - onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; - if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; - } - if (upgrade) { - return; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (statusCode < 200) { - return; - } - if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util2.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; - } - request.onComplete(headers); - client[kQueue][client[kRunningIdx]++] = null; - if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (!shouldKeepAlive) { - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (socket[kReset] && client[kRunning] === 0) { - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (client[kPipelining] === 1) { - setImmediate(resume, client); - } else { - resume(client); - } - } - }; - function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; - if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util2.destroy(socket, new HeadersTimeoutError()); - } - } else if (timeoutType === TIMEOUT_BODY) { - if (!parser.paused) { - util2.destroy(socket, new BodyTimeoutError()); - } - } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util2.destroy(socket, new InformationalError("socket idle timeout")); - } - } - function onSocketReadable() { - const { [kParser]: parser } = this; - if (parser) { - parser.readMore(); - } - } - function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - this[kError] = err; - onError(this[kClient], err); - } - function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i3 = 0; i3 < requests.length; i3++) { - const request = requests[i3]; - errorRequest(client, request, err); - } - assert(client[kSize] === 0); - } - } - function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { - if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - util2.destroy(this, new SocketError("other side closed", util2.getSocketInfo(this))); - } - function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { - if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - } - this[kParser].destroy(); - this[kParser] = null; - } - const err = this[kError] || new SocketError("closed", util2.getSocketInfo(this)); - client[kSocket] = null; - if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i3 = 0; i3 < requests.length; i3++) { - const request = requests[i3]; - errorRequest(client, request, err); - } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); - } - async function connect(client) { - assert(!client[kConnecting]); - assert(!client[kSocket]); - let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); - assert(idx !== -1); - const ip = hostname.substring(1, idx); - assert(net.isIP(ip)); - hostname = ip; - } - client[kConnecting] = true; - if (channels.beforeConnect.hasSubscribers) { - channels.beforeConnect.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector] - }); - } - try { - const socket = await new Promise((resolve, reject) => { - client[kConnector]({ - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, (err, socket2) => { - if (err) { - reject(err); - } else { - resolve(socket2); - } - }); - }); - if (client.destroyed) { - util2.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); - return; - } - client[kConnecting] = false; - assert(socket); - const isH2 = socket.alpnProtocol === "h2"; - if (isH2) { - if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); - } - const session = http22.connect(client[kUrl], { - createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; - } else { - if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); - } - socket[kCounter] = 0; - socket[kMaxRequests] = client[kMaxRequests]; - socket[kClient] = client; - socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; - if (channels.connected.hasSubscribers) { - channels.connected.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - socket - }); - } - client.emit("connect", client[kUrl], [client]); - } catch (err) { - if (client.destroyed) { - return; - } - client[kConnecting] = false; - if (channels.connectError.hasSubscribers) { - channels.connectError.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - error: err - }); - } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { - assert(client[kRunning] === 0); - while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { - const request = client[kQueue][client[kPendingIdx]++]; - errorRequest(client, request, err); - } - } else { - onError(client, err); - } - client.emit("connectionError", client[kUrl], [client], err); - } - resume(client); - } - function emitDrain(client) { - client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); - } - function resume(client, sync) { - if (client[kResuming] === 2) { - return; - } - client[kResuming] = 2; - _resume(client, sync); - client[kResuming] = 0; - if (client[kRunningIdx] > 256) { - client[kQueue].splice(0, client[kRunningIdx]); - client[kPendingIdx] -= client[kRunningIdx]; - client[kRunningIdx] = 0; - } - } - function _resume(client, sync) { - while (true) { - if (client.destroyed) { - assert(client[kPending] === 0); - return; - } - if (client[kClosedResolve] && !client[kSize]) { - client[kClosedResolve](); - client[kClosedResolve] = null; - return; - } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { - if (client[kSize] === 0) { - if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; - } - } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; - } - if (client[kSize] === 0) { - if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); - } - } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { - if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request2 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); - } - } - } - if (client[kBusy]) { - client[kNeedDrain] = 2; - } else if (client[kNeedDrain] === 2) { - if (sync) { - client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); - } else { - emitDrain(client); - } - continue; - } - if (client[kPending] === 0) { - return; - } - if (client[kRunning] >= (client[kPipelining] || 1)) { - return; - } - const request = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { - if (client[kRunning] > 0) { - return; - } - client[kServerName] = request.servername; - if (socket && socket.servername !== request.servername) { - util2.destroy(socket, new InformationalError("servername changed")); - return; - } - } - if (client[kConnecting]) { - return; - } - if (!socket && !client[kHTTP2Session]) { - connect(client); - return; - } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; - } - if (client[kRunning] > 0 && !request.idempotent) { - return; - } - if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { - return; - } - if (client[kRunning] > 0 && util2.bodyLength(request.body) !== 0 && (util2.isStream(request.body) || util2.isAsyncIterable(request.body))) { - return; - } - if (!request.aborted && write(client, request)) { - client[kPendingIdx]++; - } else { - client[kQueue].splice(client[kPendingIdx], 1); - } - } - } - function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; - } - function write(client, request) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request); - return; - } - const { body, method, path: path2, host, upgrade, headers, blocking, reset } = request; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - const bodyLength = util2.bodyLength(body); - let contentLength = bodyLength; - if (contentLength === null) { - contentLength = request.contentLength; - } - if (contentLength === 0 && !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - const socket = client[kSocket]; - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - util2.destroy(socket, new InformationalError("aborted")); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - if (method === "HEAD") { - socket[kReset] = true; - } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; - } - if (reset != null) { - socket[kReset] = reset; - } - if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; - } - if (blocking) { - socket[kBlocking] = true; - } - let header = `${method} ${path2} HTTP/1.1\r -`; - if (typeof host === "string") { - header += `host: ${host}\r -`; - } else { - header += client[kHostHeader]; - } - if (upgrade) { - header += `connection: upgrade\r -upgrade: ${upgrade}\r -`; - } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; - } else { - header += "connection: close\r\n"; - } - if (headers) { - header += headers; - } - if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request, headers: header, socket }); - } - if (!body || bodyLength === 0) { - if (contentLength === 0) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); - } - request.onRequestSent(); - } else if (util2.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(body); - socket.uncork(); - request.onBodySent(body); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - } else if (util2.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); - } else { - writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); - } - } else if (util2.isStream(body)) { - writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); - } else if (util2.isIterable(body)) { - writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); - } else { - assert(false); - } - return true; - } - function writeH2(client, session, request) { - const { body, method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; - let headers; - if (typeof reqHeaders === "string") - headers = Request3[kHTTP2CopyHeaders](reqHeaders.trim()); - else - headers = reqHeaders; - if (upgrade) { - errorRequest(client, request, new Error("Upgrade not supported for H2")); - return false; - } - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - let stream4; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream4 = session.request(headers, { endStream: false, signal }); - if (stream4.id && !stream4.pending) { - request.onUpgrade(null, null, stream4); - ++h2State.openStreams; - } else { - stream4.once("ready", () => { - request.onUpgrade(null, null, stream4); - ++h2State.openStreams; - }); - } - stream4.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path2; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util2.bodyLength(body); - if (contentLength == null) { - contentLength = request.contentLength; - } - if (contentLength === 0 || !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; - } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; - if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream4 = session.request(headers, { endStream: shouldEndStream, signal }); - stream4.once("continue", writeBodyH2); - } else { - stream4 = session.request(headers, { - endStream: shouldEndStream, - signal - }); - writeBodyH2(); - } - ++h2State.openStreams; - stream4.once("response", (headers2) => { - const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; - if (request.onHeaders(Number(statusCode), realHeaders, stream4.resume.bind(stream4), "") === false) { - stream4.pause(); - } - }); - stream4.once("end", () => { - request.onComplete([]); - }); - stream4.on("data", (chunk) => { - if (request.onData(chunk) === false) { - stream4.pause(); - } - }); - stream4.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) { - session.unref(); - } - }); - stream4.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util2.destroy(stream4, err); - } - }); - stream4.once("frameError", (type, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - errorRequest(client, request, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util2.destroy(stream4, err); - } - }); - return true; - function writeBodyH2() { - if (!body) { - request.onRequestSent(); - } else if (util2.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream4.cork(); - stream4.write(body); - stream4.uncork(); - stream4.end(); - request.onBodySent(body); - request.onRequestSent(); - } else if (util2.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ - client, - request, - contentLength, - h2stream: stream4, - expectsPayload, - body: body.stream(), - socket: client[kSocket], - header: "" - }); - } else { - writeBlob({ - body, - client, - request, - contentLength, - expectsPayload, - h2stream: stream4, - header: "", - socket: client[kSocket] - }); - } - } else if (util2.isStream(body)) { - writeStream({ - body, - client, - request, - contentLength, - expectsPayload, - socket: client[kSocket], - h2stream: stream4, - header: "" - }); - } else if (util2.isIterable(body)) { - writeIterable({ - body, - client, - request, - contentLength, - expectsPayload, - header: "", - h2stream: stream4, - socket: client[kSocket] - }); - } else { - assert(false); - } - } - } - function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util2.destroy(body, err); - util2.destroy(h2stream, err); - } else { - request.onRequestSent(); - } - } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util2.destroy(pipe); - }); - return; - } - let finished = false; - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { - if (finished) { - return; - } - try { - if (!writer.write(chunk) && this.pause) { - this.pause(); - } - } catch (err) { - util2.destroy(this, err); - } - }; - const onDrain = function() { - if (finished) { - return; - } - if (body.resume) { - body.resume(); - } - }; - const onAbort = function() { - if (finished) { - return; - } - const err = new RequestAbortedError(); - queueMicrotask(() => onFinished(err)); - }; - const onFinished = function(err) { - if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); - if (!err) { - try { - writer.end(); - } catch (er2) { - err = er2; - } - } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util2.destroy(body, err); - } else { - util2.destroy(body); - } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); - if (body.resume) { - body.resume(); - } - socket.on("drain", onDrain).on("error", onFinished); - } - async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; - try { - if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); - } - const buffer = Buffer.from(await body.arrayBuffer()); - if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); - } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(buffer); - socket.uncork(); - } - request.onBodySent(buffer); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - resume(client); - } catch (err) { - util2.destroy(isH2 ? h2stream : socket, err); - } - } - async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; - function onDrain() { - if (callback) { - const cb = callback; - callback = null; - cb(); - } - } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - const res = h2stream.write(chunk); - request.onBodySent(chunk); - if (!res) { - await waitForDrain(); - } - } - } catch (err) { - h2stream.destroy(err); - } finally { - request.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); - } - return; - } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - if (!writer.write(chunk)) { - await waitForDrain(); - } - } - writer.end(); - } catch (err) { - writer.destroy(err); - } finally { - socket.off("close", onDrain).off("drain", onDrain); - } - } - var AsyncWriter = class { - constructor({ socket, request, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; - } - write(chunk) { - const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return false; - } - const len = Buffer.byteLength(chunk); - if (!len) { - return true; - } - if (contentLength !== null && bytesWritten + len > contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - socket.cork(); - if (bytesWritten === 0) { - if (!expectsPayload) { - socket[kReset] = true; - } - if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); - } else { - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - } - } - if (contentLength === null) { - socket.write(`\r -${len.toString(16)}\r -`, "latin1"); - } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request.onBodySent(chunk); - if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - } - return ret; - } - end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; - request.onRequestSent(); - socket[kWriting] = false; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return; - } - if (bytesWritten === 0) { - if (expectsPayload) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - socket.write(`${header}\r -`, "latin1"); - } - } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); - } - if (contentLength !== null && bytesWritten !== contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } else { - process.emitWarning(new RequestContentLengthMismatchError()); - } - } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - resume(client); - } - destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; - if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util2.destroy(socket, err); - } - } - }; - function errorRequest(client, request, err) { - try { - request.onError(err); - assert(request.aborted); - } catch (err2) { - client.emit("error", err2); - } - } - module2.exports = Client; - } -}); - -// node_modules/undici/lib/node/fixed-queue.js -var require_fixed_queue = __commonJS({ - "node_modules/undici/lib/node/fixed-queue.js"(exports, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; - var FixedCircularBuffer = class { - constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; - } - isEmpty() { - return this.top === this.bottom; - } - isFull() { - return (this.top + 1 & kMask) === this.bottom; - } - push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; - } - shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; - module2.exports = class FixedQueue { - constructor() { - this.head = this.tail = new FixedCircularBuffer(); - } - isEmpty() { - return this.head.isEmpty(); - } - push(data) { - if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); - } - this.head.push(data); - } - shift() { - const tail = this.tail; - const next = tail.shift(); - if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; - } - return next; - } - }; - } -}); - -// node_modules/undici/lib/pool-stats.js -var require_pool_stats = __commonJS({ - "node_modules/undici/lib/pool-stats.js"(exports, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = Symbol("pool"); - var PoolStats = class { - constructor(pool) { - this[kPool] = pool; - } - get connected() { - return this[kPool][kConnected]; - } - get free() { - return this[kPool][kFree]; - } - get pending() { - return this[kPool][kPending]; - } - get queued() { - return this[kPool][kQueued]; - } - get running() { - return this[kPool][kRunning]; - } - get size() { - return this[kPool][kSize]; - } - }; - module2.exports = PoolStats; - } -}); - -// node_modules/undici/lib/pool-base.js -var require_pool_base = __commonJS({ - "node_modules/undici/lib/pool-base.js"(exports, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base(); - var FixedQueue = require_fixed_queue(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); - var PoolStats = require_pool_stats(); - var kClients = Symbol("clients"); - var kNeedDrain = Symbol("needDrain"); - var kQueue = Symbol("queue"); - var kClosedResolve = Symbol("closed resolve"); - var kOnDrain = Symbol("onDrain"); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kGetDispatcher = Symbol("get dispatcher"); - var kAddClient = Symbol("add client"); - var kRemoveClient = Symbol("remove client"); - var kStats = Symbol("stats"); - var PoolBase = class extends DispatcherBase { - constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; - this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; - while (!needDrain) { - const item = queue.shift(); - if (!item) { - break; - } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); - } - this[kNeedDrain] = needDrain; - if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); - } - if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c2) => c2.close())).then(pool[kClosedResolve]); - } - }; - this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); - } - get [kBusy]() { - return this[kNeedDrain]; - } - get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; - } - get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; - } - get [kPending]() { - let ret = this[kQueued]; - for (const { [kPending]: pending } of this[kClients]) { - ret += pending; - } - return ret; - } - get [kRunning]() { - let ret = 0; - for (const { [kRunning]: running } of this[kClients]) { - ret += running; - } - return ret; - } - get [kSize]() { - let ret = this[kQueued]; - for (const { [kSize]: size } of this[kClients]) { - ret += size; - } - return ret; - } - get stats() { - return this[kStats]; - } - async [kClose]() { - if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c2) => c2.close())); - } else { - return new Promise((resolve) => { - this[kClosedResolve] = resolve; - }); - } - } - async [kDestroy](err) { - while (true) { - const item = this[kQueue].shift(); - if (!item) { - break; - } - item.handler.onError(err); - } - return Promise.all(this[kClients].map((c2) => c2.destroy(err))); - } - [kDispatch](opts, handler) { - const dispatcher = this[kGetDispatcher](); - if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler }); - this[kQueued]++; - } else if (!dispatcher.dispatch(opts, handler)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); - } - return !this[kNeedDrain]; - } - [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); - if (this[kNeedDrain]) { - process.nextTick(() => { - if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); - } - }); - } - return this; - } - [kRemoveClient](client) { - client.close(() => { - const idx = this[kClients].indexOf(client); - if (idx !== -1) { - this[kClients].splice(idx, 1); - } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); - } - }; - module2.exports = { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - }; - } -}); - -// node_modules/undici/lib/pool.js -var require_pool = __commonJS({ - "node_modules/undici/lib/pool.js"(exports, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base(); - var Client = require_client(); - var { - InvalidArgumentError - } = require_errors(); - var util2 = require_util(); - var { kUrl, kInterceptors } = require_symbols(); - var buildConnector = require_connect(); - var kOptions = Symbol("options"); - var kConnections = Symbol("connections"); - var kFactory = Symbol("factory"); - function defaultFactory(origin, opts) { - return new Client(origin, opts); - } - var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (typeof connect !== "function") { - connect = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect - }); - } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; - this[kConnections] = connections || null; - this[kUrl] = util2.parseOrigin(origin); - this[kOptions] = { ...util2.deepClone(options), connect, allowH2 }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kFactory] = factory; - } - [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); - if (dispatcher) { - return dispatcher; - } - if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); - this[kAddClient](dispatcher); - } - return dispatcher; - } - }; - module2.exports = Pool; - } -}); - -// node_modules/undici/lib/balanced-pool.js -var require_balanced_pool = __commonJS({ - "node_modules/undici/lib/balanced-pool.js"(exports, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors(); - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - } = require_pool_base(); - var Pool = require_pool(); - var { kUrl, kInterceptors } = require_symbols(); - var { parseOrigin } = require_util(); - var kFactory = Symbol("factory"); - var kOptions = Symbol("options"); - var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = Symbol("kCurrentWeight"); - var kIndex = Symbol("kIndex"); - var kWeight = Symbol("kWeight"); - var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); - var kErrorPenalty = Symbol("kErrorPenalty"); - function getGreatestCommonDivisor(a3, b3) { - if (b3 === 0) - return a3; - return getGreatestCommonDivisor(b3, a3 % b3); - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var BalancedPool = class extends PoolBase { - constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { - super(); - this[kOptions] = opts; - this[kIndex] = -1; - this[kCurrentWeight] = 0; - this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; - this[kErrorPenalty] = this[kOptions].errorPenalty || 15; - if (!Array.isArray(upstreams)) { - upstreams = [upstreams]; - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; - this[kFactory] = factory; - for (const upstream of upstreams) { - this.addUpstream(upstream); - } - this._updateBalancedPoolStats(); - } - addUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { - return this; - } - const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); - this[kAddClient](pool); - pool.on("connect", () => { - pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); - }); - pool.on("connectionError", () => { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - }); - pool.on("disconnect", (...args) => { - const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - } - }); - for (const client of this[kClients]) { - client[kWeight] = this[kMaxWeightPerServer]; - } - this._updateBalancedPoolStats(); - return this; - } - _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p3) => p3[kWeight]).reduce(getGreatestCommonDivisor, 0); - } - removeUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); - if (pool) { - this[kRemoveClient](pool); - } - return this; - } - get upstreams() { - return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p3) => p3[kUrl].origin); - } - [kGetDispatcher]() { - if (this[kClients].length === 0) { - throw new BalancedPoolMissingUpstreamError(); - } - const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); - if (!dispatcher) { - return; - } - const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a3, b3) => a3 && b3, true); - if (allClientsBusy) { - return; - } - let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); - while (counter++ < this[kClients].length) { - this[kIndex] = (this[kIndex] + 1) % this[kClients].length; - const pool = this[kClients][this[kIndex]]; - if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { - maxWeightIndex = this[kIndex]; - } - if (this[kIndex] === 0) { - this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; - if (this[kCurrentWeight] <= 0) { - this[kCurrentWeight] = this[kMaxWeightPerServer]; - } - } - if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { - return pool; - } - } - this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; - this[kIndex] = maxWeightIndex; - return this[kClients][maxWeightIndex]; - } - }; - module2.exports = BalancedPool; - } -}); - -// node_modules/undici/lib/compat/dispatcher-weakref.js -var require_dispatcher_weakref = __commonJS({ - "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols(); - var CompatWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; - } - }; - var CompatFinalizer = class { - constructor(finalizer) { - this.finalizer = finalizer; - } - register(dispatcher, key) { - if (dispatcher.on) { - dispatcher.on("disconnect", () => { - if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); - } - }); - } - } - }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE) { - return { - WeakRef: CompatWeakRef, - FinalizationRegistry: CompatFinalizer - }; - } - return { - WeakRef: global.WeakRef || CompatWeakRef, - FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; - } -}); - -// node_modules/undici/lib/agent.js -var require_agent = __commonJS({ - "node_modules/undici/lib/agent.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError } = require_errors(); - var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); - var DispatcherBase = require_dispatcher_base(); - var Pool = require_pool(); - var Client = require_client(); - var util2 = require_util(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kMaxRedirections = Symbol("maxRedirections"); - var kOnDrain = Symbol("onDrain"); - var kFactory = Symbol("factory"); - var kFinalizer = Symbol("finalizer"); - var kOptions = Symbol("options"); - function defaultFactory(origin, opts) { - return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); - } - var Agent = class extends DispatcherBase { - constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (connect && typeof connect !== "function") { - connect = { ...connect }; - } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util2.deepClone(options), connect }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kMaxRedirections] = maxRedirections; - this[kFactory] = factory; - this[kClients] = /* @__PURE__ */ new Map(); - this[kFinalizer] = new FinalizationRegistry2((key) => { - const ref = this[kClients].get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); - } - }); - const agent = this; - this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); - }; - this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); - }; - } - get [kRunning]() { - let ret = 0; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - ret += client[kRunning]; - } - } - return ret; - } - [kDispatch](opts, handler) { - let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { - key = String(opts.origin); - } else { - throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); - } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; - if (!dispatcher) { - dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); - } - return dispatcher.dispatch(opts, handler); - } - async [kClose]() { - const closePromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - closePromises.push(client.close()); - } - } - await Promise.all(closePromises); - } - async [kDestroy](err) { - const destroyPromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - destroyPromises.push(client.destroy(err)); - } - } - await Promise.all(destroyPromises); - } - }; - module2.exports = Agent; - } -}); - -// node_modules/undici/lib/api/readable.js -var require_readable = __commonJS({ - "node_modules/undici/lib/api/readable.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { Readable: Readable3 } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); - var util2 = require_util(); - var { ReadableStreamFrom, toUSVString } = require_util(); - var Blob4; - var kConsume = Symbol("kConsume"); - var kReading = Symbol("kReading"); - var kBody = Symbol("kBody"); - var kAbort = Symbol("abort"); - var kContentType = Symbol("kContentType"); - var noop2 = () => { - }; - module2.exports = class BodyReadable extends Readable3 { - constructor({ - resume, - abort, - contentType = "", - highWaterMark = 64 * 1024 - }) { - super({ - autoDestroy: true, - read: resume, - highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; - } - destroy(err) { - if (this.destroyed) { - return this; - } - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (err) { - this[kAbort](); - } - return super.destroy(err); - } - emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; - } - return super.emit(ev, ...args); - } - on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; - } - return super.on(ev, ...args); - } - addListener(ev, ...args) { - return this.on(ev, ...args); - } - off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; - } - return ret; - } - removeListener(ev, ...args) { - return this.off(ev, ...args); - } - push(chunk) { - if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; - } - return super.push(chunk); - } - async text() { - return consume(this, "text"); - } - async json() { - return consume(this, "json"); - } - async blob() { - return consume(this, "blob"); - } - async arrayBuffer() { - return consume(this, "arrayBuffer"); - } - async formData() { - throw new NotSupportedError(); - } - get bodyUsed() { - return util2.isDisturbed(this); - } - get body() { - if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); - if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); - } - } - return this[kBody]; - } - dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; - if (signal) { - try { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); - } - util2.throwIfAborted(signal); - } catch (err) { - return Promise.reject(err); - } - } - if (this.closed) { - return Promise.resolve(null); - } - return new Promise((resolve, reject) => { - const signalListenerCleanup = signal ? util2.addAbortListener(signal, () => { - this.destroy(); - }) : noop2; - this.on("close", function() { - signalListenerCleanup(); - if (signal && signal.aborted) { - reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); - } else { - resolve(null); - } - }).on("error", noop2).on("data", function(chunk) { - limit -= chunk.length; - if (limit <= 0) { - this.destroy(); - } - }).resume(); - }); - } - }; - function isLocked(self2) { - return self2[kBody] && self2[kBody].locked === true || self2[kConsume]; - } - function isUnusable(self2) { - return util2.isDisturbed(self2) || isLocked(self2); - } - async function consume(stream4, type) { - if (isUnusable(stream4)) { - throw new TypeError("unusable"); - } - assert(!stream4[kConsume]); - return new Promise((resolve, reject) => { - stream4[kConsume] = { - type, - stream: stream4, - resolve, - reject, - length: 0, - body: [] - }; - stream4.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); - } - }); - process.nextTick(consumeStart, stream4[kConsume]); - }); - } - function consumeStart(consume2) { - if (consume2.body === null) { - return; - } - const { _readableState: state } = consume2.stream; - for (const chunk of state.buffer) { - consumePush(consume2, chunk); - } - if (state.endEmitted) { - consumeEnd(this[kConsume]); - } else { - consume2.stream.on("end", function() { - consumeEnd(this[kConsume]); - }); - } - consume2.stream.resume(); - while (consume2.stream.read() != null) { - } - } - function consumeEnd(consume2) { - const { type, body, resolve, stream: stream4, length } = consume2; - try { - if (type === "text") { - resolve(toUSVString(Buffer.concat(body))); - } else if (type === "json") { - resolve(JSON.parse(Buffer.concat(body))); - } else if (type === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; - for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; - } - resolve(dst.buffer); - } else if (type === "blob") { - if (!Blob4) { - Blob4 = require("buffer").Blob; - } - resolve(new Blob4(body, { type: stream4[kContentType] })); - } - consumeFinish(consume2); - } catch (err) { - stream4.destroy(err); - } - } - function consumePush(consume2, chunk) { - consume2.length += chunk.length; - consume2.body.push(chunk); - } - function consumeFinish(consume2, err) { - if (consume2.body === null) { - return; - } - if (err) { - consume2.reject(err); - } else { - consume2.resolve(); - } - consume2.type = null; - consume2.stream = null; - consume2.resolve = null; - consume2.reject = null; - consume2.length = 0; - consume2.body = null; - } - } -}); - -// node_modules/undici/lib/api/util.js -var require_util3 = __commonJS({ - "node_modules/undici/lib/api/util.js"(exports, module2) { - var assert = require("assert"); - var { - ResponseStatusCodeError - } = require_errors(); - var { toUSVString } = require_util(); - async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { - assert(body); - let chunks = []; - let limit = 0; - for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; - if (limit > 128 * 1024) { - chunks = null; - break; - } - } - if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - return; - } - try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - } - module2.exports = { getResolveErrorBodyCallback }; - } -}); - -// node_modules/undici/lib/api/abort-signal.js -var require_abort_signal = __commonJS({ - "node_modules/undici/lib/api/abort-signal.js"(exports, module2) { - var { addAbortListener } = require_util(); - var { RequestAbortedError } = require_errors(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); - function abort(self2) { - if (self2.abort) { - self2.abort(); - } else { - self2.onError(new RequestAbortedError()); - } - } - function addSignal(self2, signal) { - self2[kSignal] = null; - self2[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self2); - return; - } - self2[kSignal] = signal; - self2[kListener] = () => { - abort(self2); - }; - addAbortListener(self2[kSignal], self2[kListener]); - } - function removeSignal(self2) { - if (!self2[kSignal]) { - return; - } - if ("removeEventListener" in self2[kSignal]) { - self2[kSignal].removeEventListener("abort", self2[kListener]); - } else { - self2[kSignal].removeListener("abort", self2[kListener]); - } - self2[kSignal] = null; - self2[kListener] = null; - } - module2.exports = { - addSignal, - removeSignal - }; - } -}); - -// node_modules/undici/lib/api/api-request.js -var require_api_request = __commonJS({ - "node_modules/undici/lib/api/api-request.js"(exports, module2) { - "use strict"; - var Readable3 = require_readable(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var RequestHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { - throw new InvalidArgumentError("invalid highWaterMark"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_REQUEST"); - } catch (err) { - if (util2.isStream(body)) { - util2.destroy(body.on("error", util2.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.res = null; - this.abort = null; - this.body = body; - this.trailers = {}; - this.context = null; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError; - this.highWaterMark = highWaterMark; - if (util2.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context2; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const body = new Readable3({ resume, abort, contentType, highWaterMark }); - this.callback = null; - this.res = body; - if (callback !== null) { - if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body, contentType, statusCode, statusMessage, headers } - ); - } else { - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - trailers: this.trailers, - opaque, - body, - context: context2 - }); - } - } - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - util2.parseHeaders(trailers, this.trailers); - res.push(null); - } - onError(err) { - const { res, callback, body, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (res) { - this.res = null; - queueMicrotask(() => { - util2.destroy(res, err); - }); - } - if (body) { - this.body = null; - util2.destroy(body, err); - } - } - }; - function request(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - request.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - this.dispatch(opts, new RequestHandler(opts, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = request; - module2.exports.RequestHandler = RequestHandler; - } -}); - -// node_modules/undici/lib/api/api-stream.js -var require_api_stream = __commonJS({ - "node_modules/undici/lib/api/api-stream.js"(exports, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var StreamHandler = class extends AsyncResource { - constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_STREAM"); - } catch (err) { - if (util2.isStream(body)) { - util2.destroy(body.on("error", util2.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.factory = factory; - this.callback = callback; - this.res = null; - this.abort = null; - this.context = null; - this.trailers = null; - this.body = body; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError || false; - if (util2.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context2; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { factory, opaque, context: context2, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - this.factory = null; - let res; - if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); - this.callback = null; - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); - } else { - if (factory === null) { - return; - } - res = this.runInAsyncScope(factory, null, { - statusCode, - headers, - opaque, - context: context2 - }); - if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { - throw new InvalidReturnValueError("expected Writable"); - } - finished(res, { readable: false }, (err) => { - const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; - this.res = null; - if (err || !res2.readable) { - util2.destroy(res2, err); - } - this.callback = null; - this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); - if (err) { - abort(); - } - }); - } - res.on("drain", resume); - this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; - return needDrain !== true; - } - onData(chunk) { - const { res } = this; - return res ? res.write(chunk) : true; - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - if (!res) { - return; - } - this.trailers = util2.parseHeaders(trailers); - res.end(); - } - onError(err) { - const { res, callback, opaque, body } = this; - removeSignal(this); - this.factory = null; - if (res) { - this.res = null; - util2.destroy(res, err); - } else if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (body) { - this.body = null; - util2.destroy(body, err); - } - } - }; - function stream4(opts, factory, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - stream4.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - this.dispatch(opts, new StreamHandler(opts, factory, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = stream4; - } -}); - -// node_modules/undici/lib/api/api-pipeline.js -var require_api_pipeline = __commonJS({ - "node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { - "use strict"; - var { - Readable: Readable3, - Duplex, - PassThrough - } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var kResume = Symbol("resume"); - var PipelineRequest = class extends Readable3 { - constructor() { - super({ autoDestroy: true }); - this[kResume] = null; - } - _read() { - const { [kResume]: resume } = this; - if (resume) { - this[kResume] = null; - resume(); - } - } - _destroy(err, callback) { - this._read(); - callback(err); - } - }; - var PipelineResponse = class extends Readable3 { - constructor(resume) { - super({ autoDestroy: true }); - this[kResume] = resume; - } - _read() { - this[kResume](); - } - _destroy(err, callback) { - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - callback(err); - } - }; - var PipelineHandler = class extends AsyncResource { - constructor(opts, handler) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof handler !== "function") { - throw new InvalidArgumentError("invalid handler"); - } - const { signal, method, opaque, onInfo, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_PIPELINE"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.handler = handler; - this.abort = null; - this.context = null; - this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util2.nop); - this.ret = new Duplex({ - readableObjectMode: opts.objectMode, - autoDestroy: true, - read: () => { - const { body } = this; - if (body && body.resume) { - body.resume(); - } - }, - write: (chunk, encoding, callback) => { - const { req } = this; - if (req.push(chunk, encoding) || req._readableState.destroyed) { - callback(); - } else { - req[kResume] = callback; - } - }, - destroy: (err, callback) => { - const { body, req, res, ret, abort } = this; - if (!err && !ret._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (abort && err) { - abort(); - } - util2.destroy(body, err); - util2.destroy(req, err); - util2.destroy(res, err); - removeSignal(this); - callback(err); - } - }).on("prefinish", () => { - const { req } = this; - req.push(null); - }); - this.res = null; - addSignal(this, signal); - } - onConnect(abort, context2) { - const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); - if (ret.destroyed) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context2; - } - onHeaders(statusCode, rawHeaders, resume) { - const { opaque, handler, context: context2 } = this; - if (statusCode < 200) { - if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - this.onInfo({ statusCode, headers }); - } - return; - } - this.res = new PipelineResponse(resume); - let body; - try { - this.handler = null; - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - body = this.runInAsyncScope(handler, null, { - statusCode, - headers, - opaque, - body: this.res, - context: context2 - }); - } catch (err) { - this.res.on("error", util2.nop); - throw err; - } - if (!body || typeof body.on !== "function") { - throw new InvalidReturnValueError("expected Readable"); - } - body.on("data", (chunk) => { - const { ret, body: body2 } = this; - if (!ret.push(chunk) && body2.pause) { - body2.pause(); - } - }).on("error", (err) => { - const { ret } = this; - util2.destroy(ret, err); - }).on("end", () => { - const { ret } = this; - ret.push(null); - }).on("close", () => { - const { ret } = this; - if (!ret._readableState.ended) { - util2.destroy(ret, new RequestAbortedError()); - } - }); - this.body = body; - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - res.push(null); - } - onError(err) { - const { ret } = this; - this.handler = null; - util2.destroy(ret, err); - } - }; - function pipeline(opts, handler) { - try { - const pipelineHandler = new PipelineHandler(opts, handler); - this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); - return pipelineHandler.ret; - } catch (err) { - return new PassThrough().destroy(err); - } - } - module2.exports = pipeline; - } -}); - -// node_modules/undici/lib/api/api-upgrade.js -var require_api_upgrade = __commonJS({ - "node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var { AsyncResource } = require("async_hooks"); - var util2 = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var UpgradeHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_UPGRADE"); - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.abort = null; - this.context = null; - addSignal(this, signal); - } - onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = null; - } - onHeaders() { - throw new SocketError("bad upgrade", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context: context2 } = this; - assert.strictEqual(statusCode, 101); - removeSignal(this); - this.callback = null; - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - this.runInAsyncScope(callback, null, null, { - headers, - socket, - opaque, - context: context2 - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function upgrade(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = upgrade; - } -}); - -// node_modules/undici/lib/api/api-connect.js -var require_api_connect = __commonJS({ - "node_modules/undici/lib/api/api-connect.js"(exports, module2) { - "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var util2 = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var ConnectHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_CONNECT"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.callback = callback; - this.abort = null; - addSignal(this, signal); - } - onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context2; - } - onHeaders() { - throw new SocketError("bad connect", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context: context2 } = this; - removeSignal(this); - this.callback = null; - let headers = rawHeaders; - if (headers != null) { - headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - } - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - socket, - opaque, - context: context2 - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function connect(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = connect; - } -}); - -// node_modules/undici/lib/api/index.js -var require_api = __commonJS({ - "node_modules/undici/lib/api/index.js"(exports, module2) { - "use strict"; - module2.exports.request = require_api_request(); - module2.exports.stream = require_api_stream(); - module2.exports.pipeline = require_api_pipeline(); - module2.exports.upgrade = require_api_upgrade(); - module2.exports.connect = require_api_connect(); - } -}); - -// node_modules/undici/lib/mock/mock-errors.js -var require_mock_errors = __commonJS({ - "node_modules/undici/lib/mock/mock-errors.js"(exports, module2) { - "use strict"; - var { UndiciError } = require_errors(); - var MockNotMatchedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, MockNotMatchedError); - this.name = "MockNotMatchedError"; - this.message = message || "The request does not match any registered mock dispatches"; - this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; - } - }; - module2.exports = { - MockNotMatchedError - }; - } -}); - -// node_modules/undici/lib/mock/mock-symbols.js -var require_mock_symbols = __commonJS({ - "node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) { - "use strict"; - module2.exports = { - kAgent: Symbol("agent"), - kOptions: Symbol("options"), - kFactory: Symbol("factory"), - kDispatches: Symbol("dispatches"), - kDispatchKey: Symbol("dispatch key"), - kDefaultHeaders: Symbol("default headers"), - kDefaultTrailers: Symbol("default trailers"), - kContentLength: Symbol("content length"), - kMockAgent: Symbol("mock agent"), - kMockAgentSet: Symbol("mock agent set"), - kMockAgentGet: Symbol("mock agent get"), - kMockDispatch: Symbol("mock dispatch"), - kClose: Symbol("close"), - kOriginalClose: Symbol("original agent close"), - kOrigin: Symbol("origin"), - kIsMockActive: Symbol("is mock active"), - kNetConnect: Symbol("net connect"), - kGetNetConnect: Symbol("get net connect"), - kConnected: Symbol("connected") - }; - } -}); - -// node_modules/undici/lib/mock/mock-utils.js -var require_mock_utils = __commonJS({ - "node_modules/undici/lib/mock/mock-utils.js"(exports, module2) { - "use strict"; - var { MockNotMatchedError } = require_mock_errors(); - var { - kDispatches, - kMockAgent, - kOriginalDispatch, - kOrigin, - kGetNetConnect - } = require_mock_symbols(); - var { buildURL: buildURL2, nop } = require_util(); - var { STATUS_CODES } = require("http"); - var { - types: { - isPromise - } - } = require("util"); - function matchValue(match, value) { - if (typeof match === "string") { - return match === value; - } - if (match instanceof RegExp) { - return match.test(value); - } - if (typeof match === "function") { - return match(value) === true; - } - return false; - } - function lowerCaseEntries(headers) { - return Object.fromEntries( - Object.entries(headers).map(([headerName, headerValue]) => { - return [headerName.toLocaleLowerCase(), headerValue]; - }) - ); - } - function getHeaderByName(headers, key) { - if (Array.isArray(headers)) { - for (let i3 = 0; i3 < headers.length; i3 += 2) { - if (headers[i3].toLocaleLowerCase() === key.toLocaleLowerCase()) { - return headers[i3 + 1]; - } - } - return void 0; - } else if (typeof headers.get === "function") { - return headers.get(key); - } else { - return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; - } - } - function buildHeadersFromArray(headers) { - const clone = headers.slice(); - const entries = []; - for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); - } - return Object.fromEntries(entries); - } - function matchHeaders(mockDispatch2, headers) { - if (typeof mockDispatch2.headers === "function") { - if (Array.isArray(headers)) { - headers = buildHeadersFromArray(headers); - } - return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); - } - if (typeof mockDispatch2.headers === "undefined") { - return true; - } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { - return false; - } - for (const [matchHeaderName, matchHeaderValue2] of Object.entries(mockDispatch2.headers)) { - const headerValue = getHeaderByName(headers, matchHeaderName); - if (!matchValue(matchHeaderValue2, headerValue)) { - return false; - } - } - return true; - } - function safeUrl(path2) { - if (typeof path2 !== "string") { - return path2; - } - const pathSegments = path2.split("?"); - if (pathSegments.length !== 2) { - return path2; - } - const qp = new URLSearchParams(pathSegments.pop()); - qp.sort(); - return [...pathSegments, qp.toString()].join("?"); - } - function matchKey(mockDispatch2, { path: path2, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path2); - const methodMatch = matchValue(mockDispatch2.method, method); - const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; - const headersMatch = matchHeaders(mockDispatch2, headers); - return pathMatch && methodMatch && bodyMatch && headersMatch; - } - function getResponseData(data) { - if (Buffer.isBuffer(data)) { - return data; - } else if (typeof data === "object") { - return JSON.stringify(data); - } else { - return data.toString(); - } - } - function getMockDispatch(mockDispatches, key) { - const basePath2 = key.query ? buildURL2(key.path, key.query) : key.path; - const resolvedPath = typeof basePath2 === "string" ? safeUrl(basePath2) : basePath2; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); - } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); - } - return matchedMockDispatches[0]; - } - function addMockDispatch(mockDispatches, key, data) { - const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; - const replyData = typeof data === "function" ? { callback: data } : { ...data }; - const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; - mockDispatches.push(newMockDispatch); - return newMockDispatch; - } - function deleteMockDispatch(mockDispatches, key) { - const index = mockDispatches.findIndex((dispatch) => { - if (!dispatch.consumed) { - return false; - } - return matchKey(dispatch, key); - }); - if (index !== -1) { - mockDispatches.splice(index, 1); - } - } - function buildKey(opts) { - const { path: path2, method, body, headers, query } = opts; - return { - path: path2, - method, - body, - headers, - query - }; - } - function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x2) => Buffer.from(`${x2}`)) : Buffer.from(`${value}`) - ], []); - } - function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; - } - async function getResponse(body) { - const buffers = []; - for await (const data of body) { - buffers.push(data); - } - return Buffer.concat(buffers).toString("utf8"); - } - function mockDispatch(opts, handler) { - const key = buildKey(opts); - const mockDispatch2 = getMockDispatch(this[kDispatches], key); - mockDispatch2.timesInvoked++; - if (mockDispatch2.data.callback) { - mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; - } - const { data: { statusCode, data, headers, trailers, error }, delay: delay2, persist } = mockDispatch2; - const { timesInvoked, times } = mockDispatch2; - mockDispatch2.consumed = !persist && timesInvoked >= times; - mockDispatch2.pending = timesInvoked < times; - if (error !== null) { - deleteMockDispatch(this[kDispatches], key); - handler.onError(error); - return true; - } - if (typeof delay2 === "number" && delay2 > 0) { - setTimeout(() => { - handleReply(this[kDispatches]); - }, delay2); - } else { - handleReply(this[kDispatches]); - } - function handleReply(mockDispatches, _data = data) { - const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; - const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; - if (isPromise(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); - return; - } - const responseData = getResponseData(body); - const responseHeaders = generateKeyValues(headers); - const responseTrailers = generateKeyValues(trailers); - handler.abort = nop; - handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler.onData(Buffer.from(responseData)); - handler.onComplete(responseTrailers); - deleteMockDispatch(mockDispatches, key); - } - function resume() { - } - return true; - } - function buildMockDispatch() { - const agent = this[kMockAgent]; - const origin = this[kOrigin]; - const originalDispatch = this[kOriginalDispatch]; - return function dispatch(opts, handler) { - if (agent.isMockActive) { - try { - mockDispatch.call(this, opts, handler); - } catch (error) { - if (error instanceof MockNotMatchedError) { - const netConnect = agent[kGetNetConnect](); - if (netConnect === false) { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); - } - if (checkNetConnect(netConnect, origin)) { - originalDispatch.call(this, opts, handler); - } else { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); - } - } else { - throw error; - } - } - } else { - originalDispatch.call(this, opts, handler); - } - }; - } - function checkNetConnect(netConnect, origin) { - const url2 = new URL(origin); - if (netConnect === true) { - return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) { - return true; - } - return false; - } - function buildMockOptions(opts) { - if (opts) { - const { agent, ...mockOptions } = opts; - return mockOptions; - } - } - module2.exports = { - getResponseData, - getMockDispatch, - addMockDispatch, - deleteMockDispatch, - buildKey, - generateKeyValues, - matchValue, - getResponse, - getStatusText, - mockDispatch, - buildMockDispatch, - checkNetConnect, - buildMockOptions, - getHeaderByName - }; - } -}); - -// node_modules/undici/lib/mock/mock-interceptor.js -var require_mock_interceptor = __commonJS({ - "node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) { - "use strict"; - var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); - var { - kDispatches, - kDispatchKey, - kDefaultHeaders, - kDefaultTrailers, - kContentLength, - kMockDispatch - } = require_mock_symbols(); - var { InvalidArgumentError } = require_errors(); - var { buildURL: buildURL2 } = require_util(); - var MockScope = class { - constructor(mockDispatch) { - this[kMockDispatch] = mockDispatch; - } - delay(waitInMs) { - if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { - throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); - } - this[kMockDispatch].delay = waitInMs; - return this; - } - persist() { - this[kMockDispatch].persist = true; - return this; - } - times(repeatTimes) { - if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { - throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); - } - this[kMockDispatch].times = repeatTimes; - return this; - } - }; - var MockInterceptor = class { - constructor(opts, mockDispatches) { - if (typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object"); - } - if (typeof opts.path === "undefined") { - throw new InvalidArgumentError("opts.path must be defined"); - } - if (typeof opts.method === "undefined") { - opts.method = "GET"; - } - if (typeof opts.path === "string") { - if (opts.query) { - opts.path = buildURL2(opts.path, opts.query); - } else { - const parsedURL = new URL(opts.path, "data://"); - opts.path = parsedURL.pathname + parsedURL.search; - } - } - if (typeof opts.method === "string") { - opts.method = opts.method.toUpperCase(); - } - this[kDispatchKey] = buildKey(opts); - this[kDispatches] = mockDispatches; - this[kDefaultHeaders] = {}; - this[kDefaultTrailers] = {}; - this[kContentLength] = false; - } - createMockScopeDispatchData(statusCode, data, responseOptions = {}) { - const responseData = getResponseData(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; - const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; - const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; - return { statusCode, data, headers, trailers }; - } - validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); - } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); - } - if (typeof responseOptions !== "object") { - throw new InvalidArgumentError("responseOptions must be an object"); - } - } - reply(replyData) { - if (typeof replyData === "function") { - const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { - throw new InvalidArgumentError("reply options callback must return an object"); - } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); - return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) - }; - }; - const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); - return new MockScope(newMockDispatch2); - } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); - return new MockScope(newMockDispatch); - } - replyWithError(error) { - if (typeof error === "undefined") { - throw new InvalidArgumentError("error must be defined"); - } - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); - return new MockScope(newMockDispatch); - } - defaultReplyHeaders(headers) { - if (typeof headers === "undefined") { - throw new InvalidArgumentError("headers must be defined"); - } - this[kDefaultHeaders] = headers; - return this; - } - defaultReplyTrailers(trailers) { - if (typeof trailers === "undefined") { - throw new InvalidArgumentError("trailers must be defined"); - } - this[kDefaultTrailers] = trailers; - return this; - } - replyContentLength() { - this[kContentLength] = true; - return this; - } - }; - module2.exports.MockInterceptor = MockInterceptor; - module2.exports.MockScope = MockScope; - } -}); - -// node_modules/undici/lib/mock/mock-client.js -var require_mock_client = __commonJS({ - "node_modules/undici/lib/mock/mock-client.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Client = require_client(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockClient = class extends Client { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockClient; - } -}); - -// node_modules/undici/lib/mock/mock-pool.js -var require_mock_pool = __commonJS({ - "node_modules/undici/lib/mock/mock-pool.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Pool = require_pool(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockPool = class extends Pool { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockPool; - } -}); - -// node_modules/undici/lib/mock/pluralizer.js -var require_pluralizer = __commonJS({ - "node_modules/undici/lib/mock/pluralizer.js"(exports, module2) { - "use strict"; - var singulars = { - pronoun: "it", - is: "is", - was: "was", - this: "this" - }; - var plurals = { - pronoun: "they", - is: "are", - was: "were", - this: "these" - }; - module2.exports = class Pluralizer { - constructor(singular, plural) { - this.singular = singular; - this.plural = plural; - } - pluralize(count) { - const one = count === 1; - const keys = one ? singulars : plurals; - const noun = one ? this.singular : this.plural; - return { ...keys, count, noun }; - } - }; - } -}); - -// node_modules/undici/lib/mock/pending-interceptors-formatter.js -var require_pending_interceptors_formatter = __commonJS({ - "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) { - "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); - module2.exports = class PendingInterceptorsFormatter { - constructor({ disableColors } = {}) { - this.transform = new Transform({ - transform(chunk, _enc, cb) { - cb(null, chunk); - } - }); - this.logger = new Console({ - stdout: this.transform, - inspectOptions: { - colors: !disableColors && !process.env.CI - } - }); - } - format(pendingInterceptors) { - const withPrettyHeaders = pendingInterceptors.map( - ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ - Method: method, - Origin: origin, - Path: path2, - "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", - Invocations: timesInvoked, - Remaining: persist ? Infinity : times - timesInvoked - }) - ); - this.logger.table(withPrettyHeaders); - return this.transform.read().toString(); - } - }; - } -}); - -// node_modules/undici/lib/mock/mock-agent.js -var require_mock_agent = __commonJS({ - "node_modules/undici/lib/mock/mock-agent.js"(exports, module2) { - "use strict"; - var { kClients } = require_symbols(); - var Agent = require_agent(); - var { - kAgent, - kMockAgentSet, - kMockAgentGet, - kDispatches, - kIsMockActive, - kNetConnect, - kGetNetConnect, - kOptions, - kFactory - } = require_mock_symbols(); - var MockClient = require_mock_client(); - var MockPool = require_mock_pool(); - var { matchValue, buildMockOptions } = require_mock_utils(); - var { InvalidArgumentError, UndiciError } = require_errors(); - var Dispatcher = require_dispatcher(); - var Pluralizer = require_pluralizer(); - var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); - var FakeWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value; - } - }; - var MockAgent = class extends Dispatcher { - constructor(opts) { - super(opts); - this[kNetConnect] = true; - this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); - this[kAgent] = agent; - this[kClients] = agent[kClients]; - this[kOptions] = buildMockOptions(opts); - } - get(origin) { - let dispatcher = this[kMockAgentGet](origin); - if (!dispatcher) { - dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - } - return dispatcher; - } - dispatch(opts, handler) { - this.get(opts.origin); - return this[kAgent].dispatch(opts, handler); - } - async close() { - await this[kAgent].close(); - this[kClients].clear(); - } - deactivate() { - this[kIsMockActive] = false; - } - activate() { - this[kIsMockActive] = true; - } - enableNetConnect(matcher) { - if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { - if (Array.isArray(this[kNetConnect])) { - this[kNetConnect].push(matcher); - } else { - this[kNetConnect] = [matcher]; - } - } else if (typeof matcher === "undefined") { - this[kNetConnect] = true; - } else { - throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); - } - } - disableNetConnect() { - this[kNetConnect] = false; - } - get isMockActive() { - return this[kIsMockActive]; - } - [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); - } - [kFactory](origin) { - const mockOptions = Object.assign({ agent: this }, this[kOptions]); - return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); - } - [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); - if (ref) { - return ref.deref(); - } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); - this[kMockAgentSet](origin, dispatcher); - return dispatcher; - } - for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { - const dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; - return dispatcher; - } - } - } - [kGetNetConnect]() { - return this[kNetConnect]; - } - pendingInterceptors() { - const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); - } - assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { - const pending = this.pendingInterceptors(); - if (pending.length === 0) { - return; - } - const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); - throw new UndiciError(` -${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: - -${pendingInterceptorsFormatter.format(pending)} -`.trim()); - } - }; - module2.exports = MockAgent; - } -}); - -// node_modules/undici/lib/proxy-agent.js -var require_proxy_agent = __commonJS({ - "node_modules/undici/lib/proxy-agent.js"(exports, module2) { - "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); - var { URL: URL2 } = require("url"); - var Agent = require_agent(); - var Pool = require_pool(); - var DispatcherBase = require_dispatcher_base(); - var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var buildConnector = require_connect(); - var kAgent = Symbol("proxy agent"); - var kClient = Symbol("proxy client"); - var kProxyHeaders = Symbol("proxy headers"); - var kRequestTls = Symbol("request tls settings"); - var kProxyTls = Symbol("proxy tls settings"); - var kConnectEndpoint = Symbol("connect endpoint function"); - function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; - } - function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - return { - uri: opts.uri, - protocol: opts.protocol || "https" - }; - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var ProxyAgent = class extends DispatcherBase { - constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); - } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; - const resolvedUrl = new URL2(opts.uri); - const { origin, port, host, username, password } = resolvedUrl; - if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); - } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; - } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; - } else if (username && password) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; - } - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); - this[kAgent] = new Agent({ - ...opts, - connect: async (opts2, callback) => { - let requestedHost = opts2.host; - if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; - } - try { - const { socket, statusCode } = await this[kClient].connect({ - origin, - port, - path: requestedHost, - signal: opts2.signal, - headers: { - ...this[kProxyHeaders], - host - } - }); - if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); - } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; - } - let servername; - if (this[kRequestTls]) { - servername = this[kRequestTls].servername; - } else { - servername = opts2.servername; - } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); - } catch (err) { - callback(err); - } - } - }); - } - dispatch(opts, handler) { - const { host } = new URL2(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); - return this[kAgent].dispatch( - { - ...opts, - headers: { - ...headers, - host - } - }, - handler - ); - } - async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); - } - async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); - } - }; - function buildHeaders(headers) { - if (Array.isArray(headers)) { - const headersPair = {}; - for (let i3 = 0; i3 < headers.length; i3 += 2) { - headersPair[headers[i3]] = headers[i3 + 1]; - } - return headersPair; - } - return headers; - } - function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); - if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); - } - } - module2.exports = ProxyAgent; - } -}); - -// node_modules/undici/lib/handler/RetryHandler.js -var require_RetryHandler = __commonJS({ - "node_modules/undici/lib/handler/RetryHandler.js"(exports, module2) { - var assert = require("assert"); - var { kRetryHandlerDefaultRetry } = require_symbols(); - var { RequestRetryError } = require_errors(); - var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); - function calculateRetryAfterHeader(retryAfter) { - const current = Date.now(); - const diff = new Date(retryAfter).getTime() - current; - return diff; - } - var RetryHandler = class { - constructor(opts, handlers) { - const { retryOptions, ...dispatchOpts } = opts; - const { - retry: retryFn, - maxRetries, - maxTimeout, - minTimeout, - timeoutFactor, - methods, - errorCodes, - retryAfter, - statusCodes - } = retryOptions ?? {}; - this.dispatch = handlers.dispatch; - this.handler = handlers.handler; - this.opts = dispatchOpts; - this.abort = null; - this.aborted = false; - this.retryOpts = { - retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry], - retryAfter: retryAfter ?? true, - maxTimeout: maxTimeout ?? 30 * 1e3, - timeout: minTimeout ?? 500, - timeoutFactor: timeoutFactor ?? 2, - maxRetries: maxRetries ?? 5, - methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], - statusCodes: statusCodes ?? [500, 502, 503, 504, 429], - errorCodes: errorCodes ?? [ - "ECONNRESET", - "ECONNREFUSED", - "ENOTFOUND", - "ENETDOWN", - "ENETUNREACH", - "EHOSTDOWN", - "EHOSTUNREACH", - "EPIPE" - ] - }; - this.retryCount = 0; - this.start = 0; - this.end = null; - this.etag = null; - this.resume = null; - this.handler.onConnect((reason) => { - this.aborted = true; - if (this.abort) { - this.abort(reason); - } else { - this.reason = reason; - } - }); - } - onRequestSent() { - if (this.handler.onRequestSent) { - this.handler.onRequestSent(); - } - } - onUpgrade(statusCode, headers, socket) { - if (this.handler.onUpgrade) { - this.handler.onUpgrade(statusCode, headers, socket); - } - } - onConnect(abort) { - if (this.aborted) { - abort(this.reason); - } else { - this.abort = abort; - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) - return this.handler.onBodySent(chunk); - } - static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { - const { statusCode, code, headers } = err; - const { method, retryOptions } = opts; - const { - maxRetries, - timeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; - let { counter, currentTimeout } = state; - currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; - if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { - cb(err); - return; - } - if (Array.isArray(methods) && !methods.includes(method)) { - cb(err); - return; - } - if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { - cb(err); - return; - } - if (counter > maxRetries) { - cb(err); - return; - } - let retryAfterHeader = headers != null && headers["retry-after"]; - if (retryAfterHeader) { - retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; - } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); - state.currentTimeout = retryTimeout; - setTimeout(() => cb(null), retryTimeout); - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = parseHeaders(rawHeaders); - this.retryCount += 1; - if (statusCode >= 300) { - this.abort( - new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.resume != null) { - this.resume = null; - if (statusCode !== 206) { - return true; - } - const contentRange = parseRangeHeader(headers["content-range"]); - if (!contentRange) { - this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.etag != null && this.etag !== headers.etag) { - this.abort( - new RequestRetryError("ETag mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - const { start, size, end = size } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); - this.resume = resume; - return true; - } - if (this.end == null) { - if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); - if (range == null) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const { start, size, end = size } = range; - assert( - start != null && Number.isFinite(start) && this.start !== start, - "content-range mismatch" - ); - assert(Number.isFinite(start)); - assert( - end != null && Number.isFinite(end) && this.end !== end, - "invalid content-length" - ); - this.start = start; - this.end = end; - } - if (this.end == null) { - const contentLength = headers["content-length"]; - this.end = contentLength != null ? Number(contentLength) : null; - } - assert(Number.isFinite(this.start)); - assert( - this.end == null || Number.isFinite(this.end), - "invalid content-length" - ); - this.resume = resume; - this.etag = headers.etag != null ? headers.etag : null; - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const err = new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }); - this.abort(err); - return false; - } - onData(chunk) { - this.start += chunk.length; - return this.handler.onData(chunk); - } - onComplete(rawTrailers) { - this.retryCount = 0; - return this.handler.onComplete(rawTrailers); - } - onError(err) { - if (this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err); - } - this.retryOpts.retry( - err, - { - state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, - opts: { retryOptions: this.retryOpts, ...this.opts } - }, - onRetry.bind(this) - ); - function onRetry(err2) { - if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err2); - } - if (this.start !== 0) { - this.opts = { - ...this.opts, - headers: { - ...this.opts.headers, - range: `bytes=${this.start}-${this.end ?? ""}` - } - }; - } - try { - this.dispatch(this.opts, this); - } catch (err3) { - this.handler.onError(err3); - } - } - } - }; - module2.exports = RetryHandler; - } -}); - -// node_modules/undici/lib/global.js -var require_global2 = __commonJS({ - "node_modules/undici/lib/global.js"(exports, module2) { - "use strict"; - var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors(); - var Agent = require_agent(); - if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); - } - function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); - } - Object.defineProperty(globalThis, globalDispatcher, { - value: agent, - writable: true, - enumerable: false, - configurable: false - }); - } - function getGlobalDispatcher() { - return globalThis[globalDispatcher]; - } - module2.exports = { - setGlobalDispatcher, - getGlobalDispatcher - }; - } -}); - -// node_modules/undici/lib/handler/DecoratorHandler.js -var require_DecoratorHandler = __commonJS({ - "node_modules/undici/lib/handler/DecoratorHandler.js"(exports, module2) { - "use strict"; - module2.exports = class DecoratorHandler { - constructor(handler) { - this.handler = handler; - } - onConnect(...args) { - return this.handler.onConnect(...args); - } - onError(...args) { - return this.handler.onError(...args); - } - onUpgrade(...args) { - return this.handler.onUpgrade(...args); - } - onHeaders(...args) { - return this.handler.onHeaders(...args); - } - onData(...args) { - return this.handler.onData(...args); - } - onComplete(...args) { - return this.handler.onComplete(...args); - } - onBodySent(...args) { - return this.handler.onBodySent(...args); - } - }; - } -}); - -// node_modules/undici/lib/fetch/headers.js -var require_headers = __commonJS({ - "node_modules/undici/lib/fetch/headers.js"(exports, module2) { - "use strict"; - var { kHeadersList, kConstruct } = require_symbols(); - var { kGuard } = require_symbols2(); - var { kEnumerableProperty } = require_util(); - var { - makeIterator, - isValidHeaderName: isValidHeaderName2, - isValidHeaderValue - } = require_util2(); - var { webidl } = require_webidl(); - var assert = require("assert"); - var kHeadersMap = Symbol("headers map"); - var kHeadersSortedMap = Symbol("headers map sorted"); - function isHTTPWhiteSpaceCharCode(code) { - return code === 10 || code === 13 || code === 9 || code === 32; - } - function headerValueNormalize(potentialValue) { - let i3 = 0; - let j4 = potentialValue.length; - while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j4 - 1))) - --j4; - while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i3))) - ++i3; - return i3 === 0 && j4 === potentialValue.length ? potentialValue : potentialValue.substring(i3, j4); - } - function fill(headers, object) { - if (Array.isArray(object)) { - for (let i3 = 0; i3 < object.length; ++i3) { - const header = object[i3]; - if (header.length !== 2) { - throw webidl.errors.exception({ - header: "Headers constructor", - message: `expected name/value pair to be length 2, found ${header.length}.` - }); - } - appendHeader(headers, header[0], header[1]); - } - } else if (typeof object === "object" && object !== null) { - const keys = Object.keys(object); - for (let i3 = 0; i3 < keys.length; ++i3) { - appendHeader(headers, keys[i3], object[keys[i3]]); - } - } else { - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] - }); - } - } - function appendHeader(headers, name, value) { - value = headerValueNormalize(value); - if (!isValidHeaderName2(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value, - type: "header value" - }); - } - if (headers[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (headers[kGuard] === "request-no-cors") { - } - return headers[kHeadersList].append(name, value); - } - var HeadersList = class { - cookies = null; - constructor(init) { - if (init instanceof HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies === null ? null : [...init.cookies]; - } else { - this[kHeadersMap] = new Map(init); - this[kHeadersSortedMap] = null; - } - } - contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); - } - clear() { - this[kHeadersMap].clear(); - this[kHeadersSortedMap] = null; - this.cookies = null; - } - append(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - const exists = this[kHeadersMap].get(lowercaseName); - if (exists) { - const delimiter = lowercaseName === "cookie" ? "; " : ", "; - this[kHeadersMap].set(lowercaseName, { - name: exists.name, - value: `${exists.value}${delimiter}${value}` - }); - } else { - this[kHeadersMap].set(lowercaseName, { name, value }); - } - if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); - } - } - set(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - if (lowercaseName === "set-cookie") { - this.cookies = [value]; - } - this[kHeadersMap].set(lowercaseName, { name, value }); - } - delete(name) { - this[kHeadersSortedMap] = null; - name = name.toLowerCase(); - if (name === "set-cookie") { - this.cookies = null; - } - this[kHeadersMap].delete(name); - } - get(name) { - const value = this[kHeadersMap].get(name.toLowerCase()); - return value === void 0 ? null : value.value; - } - *[Symbol.iterator]() { - for (const [name, { value }] of this[kHeadersMap]) { - yield [name, value]; - } - } - get entries() { - const headers = {}; - if (this[kHeadersMap].size) { - for (const { name, value } of this[kHeadersMap].values()) { - headers[name] = value; - } - } - return headers; - } - }; - var Headers3 = class { - constructor(init = void 0) { - if (init === kConstruct) { - return; - } - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; - if (init !== void 0) { - init = webidl.converters.HeadersInit(init); - fill(this, init); - } - } - append(name, value) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - return appendHeader(this, name, value); - } - delete(name) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName2(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", - value: name, - type: "header name" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - if (!this[kHeadersList].contains(name)) { - return; - } - this[kHeadersList].delete(name); - } - get(name) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName2(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.get", - value: name, - type: "header name" - }); - } - return this[kHeadersList].get(name); - } - has(name) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName2(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.has", - value: name, - type: "header name" - }); - } - return this[kHeadersList].contains(name); - } - set(name, value) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); - if (!isValidHeaderName2(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value, - type: "header value" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - this[kHeadersList].set(name, value); - } - getSetCookie() { - webidl.brandCheck(this, Headers3); - const list = this[kHeadersList].cookies; - if (list) { - return [...list]; - } - return []; - } - get [kHeadersSortedMap]() { - if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; - } - const headers = []; - const names = [...this[kHeadersList]].sort((a3, b3) => a3[0] < b3[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; - for (let i3 = 0; i3 < names.length; ++i3) { - const [name, value] = names[i3]; - if (name === "set-cookie") { - for (let j4 = 0; j4 < cookies.length; ++j4) { - headers.push([name, cookies[j4]]); - } - } else { - assert(value !== null); - headers.push([name, value]); - } - } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; - } - keys() { - webidl.brandCheck(this, Headers3); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); - } - values() { - webidl.brandCheck(this, Headers3); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); - } - entries() { - webidl.brandCheck(this, Headers3); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key+value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); - } - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, Headers3); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - [Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, Headers3); - return this[kHeadersList]; - } - }; - Headers3.prototype[Symbol.iterator] = Headers3.prototype.entries; - Object.defineProperties(Headers3.prototype, { - append: kEnumerableProperty, - delete: kEnumerableProperty, - get: kEnumerableProperty, - has: kEnumerableProperty, - set: kEnumerableProperty, - getSetCookie: kEnumerableProperty, - keys: kEnumerableProperty, - values: kEnumerableProperty, - entries: kEnumerableProperty, - forEach: kEnumerableProperty, - [Symbol.iterator]: { enumerable: false }, - [Symbol.toStringTag]: { - value: "Headers", - configurable: true - } - }); - webidl.converters.HeadersInit = function(V4) { - if (webidl.util.Type(V4) === "Object") { - if (V4[Symbol.iterator]) { - return webidl.converters["sequence<sequence<ByteString>>"](V4); - } - return webidl.converters["record<ByteString, ByteString>"](V4); - } - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] - }); - }; - module2.exports = { - fill, - Headers: Headers3, - HeadersList - }; - } -}); - -// node_modules/undici/lib/fetch/response.js -var require_response = __commonJS({ - "node_modules/undici/lib/fetch/response.js"(exports, module2) { - "use strict"; - var { Headers: Headers3, HeadersList, fill } = require_headers(); - var { extractBody, cloneBody, mixinBody } = require_body(); - var util2 = require_util(); - var { kEnumerableProperty } = util2; - var { - isValidReasonPhrase, - isCancelled, - isAborted, - isBlobLike: isBlobLike2, - serializeJavascriptValueToJSONString, - isErrorLike, - isomorphicEncode - } = require_util2(); - var { - redirectStatusSet, - nullBodyStatus, - DOMException: DOMException3 - } = require_constants2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { FormData: FormData5 } = require_formdata(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream4 = globalThis.ReadableStream || require("stream/web").ReadableStream; - var textEncoder2 = new TextEncoder("utf-8"); - var Response3 = class { - static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new Response3(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - return responseObject; - } - static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); - if (init !== null) { - init = webidl.converters.ResponseInit(init); - } - const bytes = textEncoder2.encode( - serializeJavascriptValueToJSONString(data) - ); - const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new Response3(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); - return responseObject; - } - static redirect(url2, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); - url2 = webidl.converters.USVString(url2); - status = webidl.converters["unsigned short"](status); - let parsedURL; - try { - parsedURL = new URL(url2, getGlobalOrigin()); - } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url2), { - cause: err - }); - } - if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); - } - const responseObject = new Response3(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - responseObject[kState].status = status; - const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); - return responseObject; - } - constructor(body = null, init = {}) { - if (body !== null) { - body = webidl.converters.BodyInit(body); - } - init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; - this[kState] = makeResponse({}); - this[kHeaders] = new Headers3(kConstruct); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; - let bodyWithType = null; - if (body != null) { - const [extractedBody, type] = extractBody(body); - bodyWithType = { body: extractedBody, type }; - } - initializeResponse(this, init, bodyWithType); - } - get type() { - webidl.brandCheck(this, Response3); - return this[kState].type; - } - get url() { - webidl.brandCheck(this, Response3); - const urlList = this[kState].urlList; - const url2 = urlList[urlList.length - 1] ?? null; - if (url2 === null) { - return ""; - } - return URLSerializer(url2, true); - } - get redirected() { - webidl.brandCheck(this, Response3); - return this[kState].urlList.length > 1; - } - get status() { - webidl.brandCheck(this, Response3); - return this[kState].status; - } - get ok() { - webidl.brandCheck(this, Response3); - return this[kState].status >= 200 && this[kState].status <= 299; - } - get statusText() { - webidl.brandCheck(this, Response3); - return this[kState].statusText; - } - get headers() { - webidl.brandCheck(this, Response3); - return this[kHeaders]; - } - get body() { - webidl.brandCheck(this, Response3); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, Response3); - return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); - } - clone() { - webidl.brandCheck(this, Response3); - if (this.bodyUsed || this.body && this.body.locked) { - throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." - }); - } - const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new Response3(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; - } - }; - mixinBody(Response3); - Object.defineProperties(Response3.prototype, { - type: kEnumerableProperty, - url: kEnumerableProperty, - status: kEnumerableProperty, - ok: kEnumerableProperty, - redirected: kEnumerableProperty, - statusText: kEnumerableProperty, - headers: kEnumerableProperty, - clone: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Response", - configurable: true - } - }); - Object.defineProperties(Response3, { - json: kEnumerableProperty, - redirect: kEnumerableProperty, - error: kEnumerableProperty - }); - function cloneResponse(response) { - if (response.internalResponse) { - return filterResponse( - cloneResponse(response.internalResponse), - response.type - ); - } - const newResponse = makeResponse({ ...response, body: null }); - if (response.body != null) { - newResponse.body = cloneBody(response.body); - } - return newResponse; - } - function makeResponse(init) { - return { - aborted: false, - rangeRequested: false, - timingAllowPassed: false, - requestIncludesCredentials: false, - type: "default", - status: 200, - timingInfo: null, - cacheState: "", - statusText: "", - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), - urlList: init.urlList ? [...init.urlList] : [] - }; - } - function makeNetworkError(reason) { - const isError = isErrorLike(reason); - return makeResponse({ - type: "error", - status: 0, - error: isError ? reason : new Error(reason ? String(reason) : reason), - aborted: reason && reason.name === "AbortError" - }); - } - function makeFilteredResponse(response, state) { - state = { - internalResponse: response, - ...state - }; - return new Proxy(response, { - get(target, p3) { - return p3 in state ? state[p3] : target[p3]; - }, - set(target, p3, value) { - assert(!(p3 in state)); - target[p3] = value; - return true; - } - }); - } - function filterResponse(response, type) { - if (type === "basic") { - return makeFilteredResponse(response, { - type: "basic", - headersList: response.headersList - }); - } else if (type === "cors") { - return makeFilteredResponse(response, { - type: "cors", - headersList: response.headersList - }); - } else if (type === "opaque") { - return makeFilteredResponse(response, { - type: "opaque", - urlList: Object.freeze([]), - status: 0, - statusText: "", - body: null - }); - } else if (type === "opaqueredirect") { - return makeFilteredResponse(response, { - type: "opaqueredirect", - status: 0, - statusText: "", - headersList: [], - body: null - }); - } else { - assert(false); - } - } - function makeAppropriateNetworkError(fetchParams, err = null) { - assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException3("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException3("Request was cancelled."), { cause: err })); - } - function initializeResponse(response, init, body) { - if (init.status !== null && (init.status < 200 || init.status > 599)) { - throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); - } - if ("statusText" in init && init.statusText != null) { - if (!isValidReasonPhrase(String(init.statusText))) { - throw new TypeError("Invalid statusText"); - } - } - if ("status" in init && init.status != null) { - response[kState].status = init.status; - } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; - } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); - } - if (body) { - if (nullBodyStatus.includes(response.status)) { - throw webidl.errors.exception({ - header: "Response constructor", - message: "Invalid response status code " + response.status - }); - } - response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); - } - } - } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream4 - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData5 - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V4) { - if (typeof V4 === "string") { - return webidl.converters.USVString(V4); - } - if (isBlobLike2(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (types.isArrayBuffer(V4) || types.isTypedArray(V4) || types.isDataView(V4)) { - return webidl.converters.BufferSource(V4); - } - if (util2.isFormDataLike(V4)) { - return webidl.converters.FormData(V4, { strict: false }); - } - if (V4 instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V4); - } - return webidl.converters.DOMString(V4); - }; - webidl.converters.BodyInit = function(V4) { - if (V4 instanceof ReadableStream4) { - return webidl.converters.ReadableStream(V4); - } - if (V4?.[Symbol.asyncIterator]) { - return V4; - } - return webidl.converters.XMLHttpRequestBodyInit(V4); - }; - webidl.converters.ResponseInit = webidl.dictionaryConverter([ - { - key: "status", - converter: webidl.converters["unsigned short"], - defaultValue: 200 - }, - { - key: "statusText", - converter: webidl.converters.ByteString, - defaultValue: "" - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - } - ]); - module2.exports = { - makeNetworkError, - makeResponse, - makeAppropriateNetworkError, - filterResponse, - Response: Response3, - cloneResponse - }; - } -}); - -// node_modules/undici/lib/fetch/request.js -var require_request2 = __commonJS({ - "node_modules/undici/lib/fetch/request.js"(exports, module2) { - "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body(); - var { Headers: Headers3, fill: fillHeaders, HeadersList } = require_headers(); - var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); - var util2 = require_util(); - var { - isValidHTTPToken, - sameOrigin, - normalizeMethod, - makePolicyContainer, - normalizeMethodRecord - } = require_util2(); - var { - forbiddenMethodsSet, - corsSafeListedMethodsSet, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - requestDuplex - } = require_constants2(); - var { kEnumerableProperty } = util2; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream2 = globalThis.TransformStream; - var kAbortController = Symbol("abortController"); - var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { - signal.removeEventListener("abort", abort); - }); - var Request3 = class { - constructor(input, init = {}) { - if (input === kConstruct) { - return; - } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); - this[kRealm] = { - settingsObject: { - baseUrl: getGlobalOrigin(), - get origin() { - return this.baseUrl?.origin; - }, - policyContainer: makePolicyContainer() - } - }; - let request = null; - let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; - let signal = null; - if (typeof input === "string") { - let parsedURL; - try { - parsedURL = new URL(input, baseUrl); - } catch (err) { - throw new TypeError("Failed to parse URL from " + input, { cause: err }); - } - if (parsedURL.username || parsedURL.password) { - throw new TypeError( - "Request cannot be constructed from a URL that includes credentials: " + input - ); - } - request = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; - } else { - assert(input instanceof Request3); - request = input[kState]; - signal = input[kSignal]; - } - const origin = this[kRealm].settingsObject.origin; - let window2 = "client"; - if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { - window2 = request.window; - } - if (init.window != null) { - throw new TypeError(`'window' option '${window2}' must be null`); - } - if ("window" in init) { - window2 = "no-window"; - } - request = makeRequest({ - method: request.method, - headersList: request.headersList, - unsafeRequest: request.unsafeRequest, - client: this[kRealm].settingsObject, - window: window2, - priority: request.priority, - origin: request.origin, - referrer: request.referrer, - referrerPolicy: request.referrerPolicy, - mode: request.mode, - credentials: request.credentials, - cache: request.cache, - redirect: request.redirect, - integrity: request.integrity, - keepalive: request.keepalive, - reloadNavigation: request.reloadNavigation, - historyNavigation: request.historyNavigation, - urlList: [...request.urlList] - }); - const initHasKey = Object.keys(init).length !== 0; - if (initHasKey) { - if (request.mode === "navigate") { - request.mode = "same-origin"; - } - request.reloadNavigation = false; - request.historyNavigation = false; - request.origin = "client"; - request.referrer = "client"; - request.referrerPolicy = ""; - request.url = request.urlList[request.urlList.length - 1]; - request.urlList = [request.url]; - } - if (init.referrer !== void 0) { - const referrer = init.referrer; - if (referrer === "") { - request.referrer = "no-referrer"; - } else { - let parsedReferrer; - try { - parsedReferrer = new URL(referrer, baseUrl); - } catch (err) { - throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); - } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { - request.referrer = "client"; - } else { - request.referrer = parsedReferrer; - } - } - } - if (init.referrerPolicy !== void 0) { - request.referrerPolicy = init.referrerPolicy; - } - let mode3; - if (init.mode !== void 0) { - mode3 = init.mode; - } else { - mode3 = fallbackMode; - } - if (mode3 === "navigate") { - throw webidl.errors.exception({ - header: "Request constructor", - message: "invalid request mode navigate." - }); - } - if (mode3 != null) { - request.mode = mode3; - } - if (init.credentials !== void 0) { - request.credentials = init.credentials; - } - if (init.cache !== void 0) { - request.cache = init.cache; - } - if (request.cache === "only-if-cached" && request.mode !== "same-origin") { - throw new TypeError( - "'only-if-cached' can be set only with 'same-origin' mode" - ); - } - if (init.redirect !== void 0) { - request.redirect = init.redirect; - } - if (init.integrity != null) { - request.integrity = String(init.integrity); - } - if (init.keepalive !== void 0) { - request.keepalive = Boolean(init.keepalive); - } - if (init.method !== void 0) { - let method = init.method; - if (!isValidHTTPToken(method)) { - throw new TypeError(`'${method}' is not a valid HTTP method.`); - } - if (forbiddenMethodsSet.has(method.toUpperCase())) { - throw new TypeError(`'${method}' HTTP method is unsupported.`); - } - method = normalizeMethodRecord[method] ?? normalizeMethod(method); - request.method = method; - } - if (init.signal !== void 0) { - signal = init.signal; - } - this[kState] = request; - const ac = new AbortController(); - this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; - if (signal != null) { - if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { - throw new TypeError( - "Failed to construct 'Request': member signal is not of type AbortSignal." - ); - } - if (signal.aborted) { - ac.abort(signal.reason); - } else { - this[kAbortController] = ac; - const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); - if (ac2 !== void 0) { - ac2.abort(this.reason); - } - }; - try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); - } - } catch { - } - util2.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); - } - } - this[kHeaders] = new Headers3(kConstruct); - this[kHeaders][kHeadersList] = request.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; - if (mode3 === "no-cors") { - if (!corsSafeListedMethodsSet.has(request.method)) { - throw new TypeError( - `'${request.method} is unsupported in no-cors mode.` - ); - } - this[kHeaders][kGuard] = "request-no-cors"; - } - if (initHasKey) { - const headersList = this[kHeaders][kHeadersList]; - const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); - headersList.clear(); - if (headers instanceof HeadersList) { - for (const [key, val] of headers) { - headersList.append(key, val); - } - headersList.cookies = headers.cookies; - } else { - fillHeaders(this[kHeaders], headers); - } - } - const inputBody = input instanceof Request3 ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); - } - let initBody = null; - if (init.body != null) { - const [extractedBody, contentType] = extractBody( - init.body, - request.keepalive - ); - initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { - this[kHeaders].append("content-type", contentType); - } - } - const inputOrInitBody = initBody ?? inputBody; - if (inputOrInitBody != null && inputOrInitBody.source == null) { - if (initBody != null && init.duplex == null) { - throw new TypeError("RequestInit: duplex option is required when sending a body."); - } - if (request.mode !== "same-origin" && request.mode !== "cors") { - throw new TypeError( - 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); - } - request.useCORSPreflightFlag = true; - } - let finalBody = inputOrInitBody; - if (initBody == null && inputBody != null) { - if (util2.isDisturbed(inputBody.stream) || inputBody.stream.locked) { - throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); - } - if (!TransformStream2) { - TransformStream2 = require("stream/web").TransformStream; - } - const identityTransform = new TransformStream2(); - inputBody.stream.pipeThrough(identityTransform); - finalBody = { - source: inputBody.source, - length: inputBody.length, - stream: identityTransform.readable - }; - } - this[kState].body = finalBody; - } - get method() { - webidl.brandCheck(this, Request3); - return this[kState].method; - } - get url() { - webidl.brandCheck(this, Request3); - return URLSerializer(this[kState].url); - } - get headers() { - webidl.brandCheck(this, Request3); - return this[kHeaders]; - } - get destination() { - webidl.brandCheck(this, Request3); - return this[kState].destination; - } - get referrer() { - webidl.brandCheck(this, Request3); - if (this[kState].referrer === "no-referrer") { - return ""; - } - if (this[kState].referrer === "client") { - return "about:client"; - } - return this[kState].referrer.toString(); - } - get referrerPolicy() { - webidl.brandCheck(this, Request3); - return this[kState].referrerPolicy; - } - get mode() { - webidl.brandCheck(this, Request3); - return this[kState].mode; - } - get credentials() { - return this[kState].credentials; - } - get cache() { - webidl.brandCheck(this, Request3); - return this[kState].cache; - } - get redirect() { - webidl.brandCheck(this, Request3); - return this[kState].redirect; - } - get integrity() { - webidl.brandCheck(this, Request3); - return this[kState].integrity; - } - get keepalive() { - webidl.brandCheck(this, Request3); - return this[kState].keepalive; - } - get isReloadNavigation() { - webidl.brandCheck(this, Request3); - return this[kState].reloadNavigation; - } - get isHistoryNavigation() { - webidl.brandCheck(this, Request3); - return this[kState].historyNavigation; - } - get signal() { - webidl.brandCheck(this, Request3); - return this[kSignal]; - } - get body() { - webidl.brandCheck(this, Request3); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, Request3); - return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); - } - get duplex() { - webidl.brandCheck(this, Request3); - return "half"; - } - clone() { - webidl.brandCheck(this, Request3); - if (this.bodyUsed || this.body?.locked) { - throw new TypeError("unusable"); - } - const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new Request3(kConstruct); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers3(kConstruct); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - const ac = new AbortController(); - if (this.signal.aborted) { - ac.abort(this.signal.reason); - } else { - util2.addAbortListener( - this.signal, - () => { - ac.abort(this.signal.reason); - } - ); - } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; - } - }; - mixinBody(Request3); - function makeRequest(init) { - const request = { - method: "GET", - localURLsOnly: false, - unsafeRequest: false, - body: null, - client: null, - reservedClient: null, - replacesClientId: "", - window: "client", - keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", - priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", - useCORSPreflightFlag: false, - credentials: "same-origin", - useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", - reloadNavigation: false, - historyNavigation: false, - userActivation: false, - taintedOrigin: false, - redirectCount: 0, - responseTainting: "basic", - preventNoCacheCacheControlHeaderModification: false, - done: false, - timingAllowFailed: false, - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() - }; - request.url = request.urlList[0]; - return request; - } - function cloneRequest(request) { - const newRequest = makeRequest({ ...request, body: null }); - if (request.body != null) { - newRequest.body = cloneBody(request.body); - } - return newRequest; - } - Object.defineProperties(Request3.prototype, { - method: kEnumerableProperty, - url: kEnumerableProperty, - headers: kEnumerableProperty, - redirect: kEnumerableProperty, - clone: kEnumerableProperty, - signal: kEnumerableProperty, - duplex: kEnumerableProperty, - destination: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - isHistoryNavigation: kEnumerableProperty, - isReloadNavigation: kEnumerableProperty, - keepalive: kEnumerableProperty, - integrity: kEnumerableProperty, - cache: kEnumerableProperty, - credentials: kEnumerableProperty, - attribute: kEnumerableProperty, - referrerPolicy: kEnumerableProperty, - referrer: kEnumerableProperty, - mode: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Request", - configurable: true - } - }); - webidl.converters.Request = webidl.interfaceConverter( - Request3 - ); - webidl.converters.RequestInfo = function(V4) { - if (typeof V4 === "string") { - return webidl.converters.USVString(V4); - } - if (V4 instanceof Request3) { - return webidl.converters.Request(V4); - } - return webidl.converters.USVString(V4); - }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); - webidl.converters.RequestInit = webidl.dictionaryConverter([ - { - key: "method", - converter: webidl.converters.ByteString - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - }, - { - key: "body", - converter: webidl.nullableConverter( - webidl.converters.BodyInit - ) - }, - { - key: "referrer", - converter: webidl.converters.USVString - }, - { - key: "referrerPolicy", - converter: webidl.converters.DOMString, - allowedValues: referrerPolicy - }, - { - key: "mode", - converter: webidl.converters.DOMString, - allowedValues: requestMode - }, - { - key: "credentials", - converter: webidl.converters.DOMString, - allowedValues: requestCredentials - }, - { - key: "cache", - converter: webidl.converters.DOMString, - allowedValues: requestCache - }, - { - key: "redirect", - converter: webidl.converters.DOMString, - allowedValues: requestRedirect - }, - { - key: "integrity", - converter: webidl.converters.DOMString - }, - { - key: "keepalive", - converter: webidl.converters.boolean - }, - { - key: "signal", - converter: webidl.nullableConverter( - (signal) => webidl.converters.AbortSignal( - signal, - { strict: false } - ) - ) - }, - { - key: "window", - converter: webidl.converters.any - }, - { - key: "duplex", - converter: webidl.converters.DOMString, - allowedValues: requestDuplex - } - ]); - module2.exports = { Request: Request3, makeRequest }; - } -}); - -// node_modules/undici/lib/fetch/index.js -var require_fetch = __commonJS({ - "node_modules/undici/lib/fetch/index.js"(exports, module2) { - "use strict"; - var { - Response: Response3, - makeNetworkError, - makeAppropriateNetworkError, - filterResponse, - makeResponse - } = require_response(); - var { Headers: Headers3 } = require_headers(); - var { Request: Request3, makeRequest } = require_request2(); - var zlib2 = require("zlib"); - var { - bytesMatch, - makePolicyContainer, - clonePolicyContainer, - requestBadPort, - TAOCheck, - appendRequestOriginHeader, - responseLocationURL, - requestCurrentURL, - setRequestReferrerPolicyOnRedirect, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - createOpaqueTimingInfo, - appendFetchMetadata, - corsCheck, - crossOriginResourcePolicyCheck, - determineRequestsReferrer, - coarsenedSharedCurrentTime, - createDeferredPromise, - isBlobLike: isBlobLike2, - sameOrigin, - isCancelled, - isAborted, - isErrorLike, - fullyReadBody, - readableStreamClose, - isomorphicEncode, - urlIsLocal, - urlIsHttpHttpsScheme, - urlHasHttpsScheme - } = require_util2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var assert = require("assert"); - var { safelyExtractBody } = require_body(); - var { - redirectStatusSet, - nullBodyStatus, - safeMethodsSet, - requestBodyHeader, - subresourceSet, - DOMException: DOMException3 - } = require_constants2(); - var { kHeadersList } = require_symbols(); - var EE = require("events"); - var { Readable: Readable3, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream: TransformStream2 } = require("stream/web"); - var { getGlobalDispatcher } = require_global2(); - var { webidl } = require_webidl(); - var { STATUS_CODES } = require("http"); - var GET_OR_HEAD = ["GET", "HEAD"]; - var resolveObjectURL; - var ReadableStream4 = globalThis.ReadableStream; - var Fetch = class extends EE { - constructor(dispatcher) { - super(); - this.dispatcher = dispatcher; - this.connection = null; - this.dump = false; - this.state = "ongoing"; - this.setMaxListeners(21); - } - terminate(reason) { - if (this.state !== "ongoing") { - return; - } - this.state = "terminated"; - this.connection?.destroy(reason); - this.emit("terminated", reason); - } - abort(error) { - if (this.state !== "ongoing") { - return; - } - this.state = "aborted"; - if (!error) { - error = new DOMException3("The operation was aborted.", "AbortError"); - } - this.serializedAbortReason = error; - this.connection?.destroy(error); - this.emit("terminated", error); - } - }; - function fetch2(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p3 = createDeferredPromise(); - let requestObject; - try { - requestObject = new Request3(input, init); - } catch (e3) { - p3.reject(e3); - return p3.promise; - } - const request = requestObject[kState]; - if (requestObject.signal.aborted) { - abortFetch(p3, request, null, requestObject.signal.reason); - return p3.promise; - } - const globalObject = request.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request.serviceWorkers = "none"; - } - let responseObject = null; - const relevantRealm = null; - let locallyAborted = false; - let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - abortFetch(p3, request, responseObject, requestObject.signal.reason); - } - ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); - const processResponse = (response) => { - if (locallyAborted) { - return Promise.resolve(); - } - if (response.aborted) { - abortFetch(p3, request, responseObject, controller.serializedAbortReason); - return Promise.resolve(); - } - if (response.type === "error") { - p3.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); - } - responseObject = new Response3(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p3.resolve(responseObject); - }; - controller = fetching({ - request, - processResponseEndOfBody: handleFetchDone, - processResponse, - dispatcher: init.dispatcher ?? getGlobalDispatcher() - }); - return p3.promise; - } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { - return; - } - if (!response.urlList?.length) { - return; - } - const originalURL = response.urlList[0]; - let timingInfo = response.timingInfo; - let cacheState = response.cacheState; - if (!urlIsHttpHttpsScheme(originalURL)) { - return; - } - if (timingInfo === null) { - return; - } - if (!response.timingAllowPassed) { - timingInfo = createOpaqueTimingInfo({ - startTime: timingInfo.startTime - }); - cacheState = ""; - } - timingInfo.endTime = coarsenedSharedCurrentTime(); - response.timingInfo = timingInfo; - markResourceTiming( - timingInfo, - originalURL, - initiatorType, - globalThis, - cacheState - ); - } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); - } - } - function abortFetch(p3, request, responseObject, error) { - if (!error) { - error = new DOMException3("The operation was aborted.", "AbortError"); - } - p3.reject(error); - if (request.body != null && isReadable(request.body?.stream)) { - request.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - if (responseObject == null) { - return; - } - const response = responseObject[kState]; - if (response.body != null && isReadable(response.body?.stream)) { - response.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - } - function fetching({ - request, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseEndOfBody, - processResponseConsumeBody, - useParallelQueue = false, - dispatcher - }) { - let taskDestination = null; - let crossOriginIsolatedCapability = false; - if (request.client != null) { - taskDestination = request.client.globalObject; - crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; - } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); - const timingInfo = createOpaqueTimingInfo({ - startTime: currenTime - }); - const fetchParams = { - controller: new Fetch(dispatcher), - request, - timingInfo, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseConsumeBody, - processResponseEndOfBody, - taskDestination, - crossOriginIsolatedCapability - }; - assert(!request.body || request.body.stream); - if (request.window === "client") { - request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; - } - if (request.origin === "client") { - request.origin = request.client?.origin; - } - if (request.policyContainer === "client") { - if (request.client != null) { - request.policyContainer = clonePolicyContainer( - request.client.policyContainer - ); - } else { - request.policyContainer = makePolicyContainer(); - } - } - if (!request.headersList.contains("accept")) { - const value = "*/*"; - request.headersList.append("accept", value); - } - if (!request.headersList.contains("accept-language")) { - request.headersList.append("accept-language", "*"); - } - if (request.priority === null) { - } - if (subresourceSet.has(request.destination)) { - } - mainFetch(fetchParams).catch((err) => { - fetchParams.controller.terminate(err); - }); - return fetchParams.controller; - } - async function mainFetch(fetchParams, recursive = false) { - const request = fetchParams.request; - let response = null; - if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { - response = makeNetworkError("local URLs only"); - } - tryUpgradeRequestToAPotentiallyTrustworthyURL(request); - if (requestBadPort(request) === "blocked") { - response = makeNetworkError("bad port"); - } - if (request.referrerPolicy === "") { - request.referrerPolicy = request.policyContainer.referrerPolicy; - } - if (request.referrer !== "no-referrer") { - request.referrer = determineRequestsReferrer(request); - } - if (response === null) { - response = await (async () => { - const currentURL = requestCurrentURL(request); - if (sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || currentURL.protocol === "data:" || (request.mode === "navigate" || request.mode === "websocket")) { - request.responseTainting = "basic"; - return await schemeFetch(fetchParams); - } - if (request.mode === "same-origin") { - return makeNetworkError('request mode cannot be "same-origin"'); - } - if (request.mode === "no-cors") { - if (request.redirect !== "follow") { - return makeNetworkError( - 'redirect mode cannot be "follow" for "no-cors" request' - ); - } - request.responseTainting = "opaque"; - return await schemeFetch(fetchParams); - } - if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); - } - request.responseTainting = "cors"; - return await httpFetch(fetchParams); - })(); - } - if (recursive) { - return response; - } - if (response.status !== 0 && !response.internalResponse) { - if (request.responseTainting === "cors") { - } - if (request.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); - } else { - assert(false); - } - } - let internalResponse = response.status === 0 ? response : response.internalResponse; - if (internalResponse.urlList.length === 0) { - internalResponse.urlList.push(...request.urlList); - } - if (!request.timingAllowFailed) { - response.timingAllowPassed = true; - } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { - response = internalResponse = makeNetworkError(); - } - if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { - internalResponse.body = null; - fetchParams.controller.dump = true; - } - if (request.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request.responseTainting === "opaque" || response.body == null) { - processBodyError(response.error); - return; - } - const processBody = (bytes) => { - if (!bytesMatch(bytes, request.integrity)) { - processBodyError("integrity mismatch"); - return; - } - response.body = safelyExtractBody(bytes)[0]; - fetchFinale(fetchParams, response); - }; - await fullyReadBody(response.body, processBody, processBodyError); - } else { - fetchFinale(fetchParams, response); - } - } - function schemeFetch(fetchParams) { - if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { - return Promise.resolve(makeAppropriateNetworkError(fetchParams)); - } - const { request } = fetchParams; - const { protocol: scheme } = requestCurrentURL(request); - switch (scheme) { - case "about:": { - return Promise.resolve(makeNetworkError("about scheme is not supported")); - } - case "blob:": { - if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; - } - const blobURLEntry = requestCurrentURL(request); - if (blobURLEntry.search.length !== 0) { - return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); - } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request.method !== "GET" || !isBlobLike2(blobURLEntryObject)) { - return Promise.resolve(makeNetworkError("invalid method")); - } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type = bodyWithType[1] ?? ""; - const response = makeResponse({ - statusText: "OK", - headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type }] - ] - }); - response.body = body; - return Promise.resolve(response); - } - case "data:": { - const currentURL = requestCurrentURL(request); - const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); - } - const mimeType = serializeAMimeType(dataURLStruct.mimeType); - return Promise.resolve(makeResponse({ - statusText: "OK", - headersList: [ - ["content-type", { name: "Content-Type", value: mimeType }] - ], - body: safelyExtractBody(dataURLStruct.body)[0] - })); - } - case "file:": { - return Promise.resolve(makeNetworkError("not implemented... yet...")); - } - case "http:": - case "https:": { - return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); - } - default: { - return Promise.resolve(makeNetworkError("unknown scheme")); - } - } - } - function finalizeResponse(fetchParams, response) { - fetchParams.request.done = true; - if (fetchParams.processResponseDone != null) { - queueMicrotask(() => fetchParams.processResponseDone(response)); - } - } - function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; - response.timingInfo = createOpaqueTimingInfo({ - startTime: fetchParams.timingInfo.startTime - }); - } - const processResponseEndOfBody = () => { - fetchParams.request.done = true; - if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); - } - }; - if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); - } - if (response.body == null) { - processResponseEndOfBody(); - } else { - const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream2({ - start() { - }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; - } - }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; - } - if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); - if (response.body == null) { - queueMicrotask(() => processBody(null)); - } else { - return fullyReadBody(response.body, processBody, processBodyError); - } - return Promise.resolve(); - } - } - async function httpFetch(fetchParams) { - const request = fetchParams.request; - let response = null; - let actualResponse = null; - const timingInfo = fetchParams.timingInfo; - if (request.serviceWorkers === "all") { - } - if (response === null) { - if (request.redirect === "follow") { - request.serviceWorkers = "none"; - } - actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { - return makeNetworkError("cors failure"); - } - if (TAOCheck(request, response) === "failure") { - request.timingAllowFailed = true; - } - } - if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request.origin, - request.client, - request.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); - } - if (redirectStatusSet.has(actualResponse.status)) { - if (request.redirect !== "manual") { - fetchParams.controller.connection.destroy(); - } - if (request.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request.redirect === "manual") { - response = actualResponse; - } else if (request.redirect === "follow") { - response = await httpRedirectFetch(fetchParams, response); - } else { - assert(false); - } - } - response.timingInfo = timingInfo; - return response; - } - function httpRedirectFetch(fetchParams, response) { - const request = fetchParams.request; - const actualResponse = response.internalResponse ? response.internalResponse : response; - let locationURL; - try { - locationURL = responseLocationURL( - actualResponse, - requestCurrentURL(request).hash - ); - if (locationURL == null) { - return response; - } - } catch (err) { - return Promise.resolve(makeNetworkError(err)); - } - if (!urlIsHttpHttpsScheme(locationURL)) { - return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); - } - if (request.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); - } - request.redirectCount += 1; - if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { - return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); - } - if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); - } - if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { - return Promise.resolve(makeNetworkError()); - } - if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { - request.method = "GET"; - request.body = null; - for (const headerName of requestBodyHeader) { - request.headersList.delete(headerName); - } - } - if (!sameOrigin(requestCurrentURL(request), locationURL)) { - request.headersList.delete("authorization"); - request.headersList.delete("proxy-authorization", true); - request.headersList.delete("cookie"); - request.headersList.delete("host"); - } - if (request.body != null) { - assert(request.body.source != null); - request.body = safelyExtractBody(request.body.source)[0]; - } - const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); - if (timingInfo.redirectStartTime === 0) { - timingInfo.redirectStartTime = timingInfo.startTime; - } - request.urlList.push(locationURL); - setRequestReferrerPolicyOnRedirect(request, actualResponse); - return mainFetch(fetchParams, true); - } - async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { - const request = fetchParams.request; - let httpFetchParams = null; - let httpRequest = null; - let response = null; - const httpCache = null; - const revalidatingFlag = false; - if (request.window === "no-window" && request.redirect === "error") { - httpFetchParams = fetchParams; - httpRequest = request; - } else { - httpRequest = makeRequest(request); - httpFetchParams = { ...fetchParams }; - httpFetchParams.request = httpRequest; - } - const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; - const contentLength = httpRequest.body ? httpRequest.body.length : null; - let contentLengthHeaderValue = null; - if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { - contentLengthHeaderValue = "0"; - } - if (contentLength != null) { - contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); - } - if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); - } - if (contentLength != null && httpRequest.keepalive) { - } - if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); - } - appendRequestOriginHeader(httpRequest); - appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); - } - 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"))) { - httpRequest.cache = "no-store"; - } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); - } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); - } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); - } - } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); - } - if (!httpRequest.headersList.contains("accept-encoding")) { - if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); - } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); - } - } - httpRequest.headersList.delete("host"); - if (includeCredentials) { - } - if (httpCache == null) { - httpRequest.cache = "no-store"; - } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { - } - if (response == null) { - if (httpRequest.mode === "only-if-cached") { - return makeNetworkError("only if cached"); - } - const forwardResponse = await httpNetworkFetch( - httpFetchParams, - includeCredentials, - isNewConnectionFetch - ); - if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { - } - if (revalidatingFlag && forwardResponse.status === 304) { - } - if (response == null) { - response = forwardResponse; - } - } - response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { - response.rangeRequested = true; - } - response.requestIncludesCredentials = includeCredentials; - if (response.status === 407) { - if (request.window === "no-window") { - return makeNetworkError(); - } - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - return makeNetworkError("proxy authentication required"); - } - if (response.status === 421 && !isNewConnectionFetch && (request.body == null || request.body.source != null)) { - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - fetchParams.controller.connection.destroy(); - response = await httpNetworkOrCacheFetch( - fetchParams, - isAuthenticationFetch, - true - ); - } - if (isAuthenticationFetch) { - } - return response; - } - async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { - assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); - fetchParams.controller.connection = { - abort: null, - destroyed: false, - destroy(err) { - if (!this.destroyed) { - this.destroyed = true; - this.abort?.(err ?? new DOMException3("The operation was aborted.", "AbortError")); - } - } - }; - const request = fetchParams.request; - let response = null; - const timingInfo = fetchParams.timingInfo; - const httpCache = null; - if (httpCache == null) { - request.cache = "no-store"; - } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request.mode === "websocket") { - } else { - } - let requestBody = null; - if (request.body == null && fetchParams.processRequestEndOfBody) { - queueMicrotask(() => fetchParams.processRequestEndOfBody()); - } else if (request.body != null) { - const processBodyChunk = async function* (bytes) { - if (isCancelled(fetchParams)) { - return; - } - yield bytes; - fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); - }; - const processEndOfBody = () => { - if (isCancelled(fetchParams)) { - return; - } - if (fetchParams.processRequestEndOfBody) { - fetchParams.processRequestEndOfBody(); - } - }; - const processBodyError = (e3) => { - if (isCancelled(fetchParams)) { - return; - } - if (e3.name === "AbortError") { - fetchParams.controller.abort(); - } else { - fetchParams.controller.terminate(e3); - } - }; - requestBody = async function* () { - try { - for await (const bytes of request.body.stream) { - yield* processBodyChunk(bytes); - } - processEndOfBody(); - } catch (err) { - processBodyError(err); - } - }(); - } - try { - const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); - if (socket) { - response = makeResponse({ status, statusText, headersList, socket }); - } else { - const iterator = body[Symbol.asyncIterator](); - fetchParams.controller.next = () => iterator.next(); - response = makeResponse({ status, statusText, headersList }); - } - } catch (err) { - if (err.name === "AbortError") { - fetchParams.controller.connection.destroy(); - return makeAppropriateNetworkError(fetchParams, err); - } - return makeNetworkError(err); - } - const pullAlgorithm = () => { - fetchParams.controller.resume(); - }; - const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); - }; - if (!ReadableStream4) { - ReadableStream4 = require("stream/web").ReadableStream; - } - const stream4 = new ReadableStream4( - { - async start(controller) { - fetchParams.controller.controller = controller; - }, - async pull(controller) { - await pullAlgorithm(controller); - }, - async cancel(reason) { - await cancelAlgorithm(reason); - } - }, - { - highWaterMark: 0, - size() { - return 1; - } - } - ); - response.body = { stream: stream4 }; - fetchParams.controller.on("terminated", onAborted); - fetchParams.controller.resume = async () => { - while (true) { - let bytes; - let isFailure; - try { - const { done, value } = await fetchParams.controller.next(); - if (isAborted(fetchParams)) { - break; - } - bytes = done ? void 0 : value; - } catch (err) { - if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { - bytes = void 0; - } else { - bytes = err; - isFailure = true; - } - } - if (bytes === void 0) { - readableStreamClose(fetchParams.controller.controller); - finalizeResponse(fetchParams, response); - return; - } - timingInfo.decodedBodySize += bytes?.byteLength ?? 0; - if (isFailure) { - fetchParams.controller.terminate(bytes); - return; - } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); - if (isErrored(stream4)) { - fetchParams.controller.terminate(); - return; - } - if (!fetchParams.controller.controller.desiredSize) { - return; - } - } - }; - function onAborted(reason) { - if (isAborted(fetchParams)) { - response.aborted = true; - if (isReadable(stream4)) { - fetchParams.controller.controller.error( - fetchParams.controller.serializedAbortReason - ); - } - } else { - if (isReadable(stream4)) { - fetchParams.controller.controller.error(new TypeError("terminated", { - cause: isErrorLike(reason) ? reason : void 0 - })); - } - } - fetchParams.controller.connection.destroy(); - } - return response; - async function dispatch({ body }) { - const url2 = requestCurrentURL(request); - const agent = fetchParams.controller.dispatcher; - return new Promise((resolve, reject) => agent.dispatch( - { - path: url2.pathname + url2.search, - origin: url2.origin, - method: request.method, - body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body, - headers: request.headersList.entries, - maxRedirections: 0, - upgrade: request.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - if (connection.destroyed) { - abort(new DOMException3("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } - }, - onHeaders(status, headersList, resume, statusText) { - if (status < 200) { - return; - } - let codings = []; - let location = ""; - const headers = new Headers3(); - if (Array.isArray(headersList)) { - for (let n2 = 0; n2 < headersList.length; n2 += 2) { - const key = headersList[n2 + 0].toString("latin1"); - const val = headersList[n2 + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x2) => x2.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x2) => x2.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } - this.body = new Readable3({ read: resume }); - const decoders = []; - const willFollow = request.redirect === "follow" && location && redirectStatusSet.has(status); - if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { - if (coding === "x-gzip" || coding === "gzip") { - decoders.push(zlib2.createGunzip({ - flush: zlib2.constants.Z_SYNC_FLUSH, - finishFlush: zlib2.constants.Z_SYNC_FLUSH - })); - } else if (coding === "deflate") { - decoders.push(zlib2.createInflate()); - } else if (coding === "br") { - decoders.push(zlib2.createBrotliDecompress()); - } else { - decoders.length = 0; - break; - } - } - } - resolve({ - status, - statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { - }) - }); - return true; - }, - onData(chunk) { - if (fetchParams.controller.dump) { - return; - } - const bytes = chunk; - timingInfo.encodedBodySize += bytes.byteLength; - return this.body.push(bytes); - }, - onComplete() { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - fetchParams.controller.ended = true; - this.body.push(null); - }, - onError(error) { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - this.body?.destroy(error); - fetchParams.controller.terminate(error); - reject(error); - }, - onUpgrade(status, headersList, socket) { - if (status !== 101) { - return; - } - const headers = new Headers3(); - for (let n2 = 0; n2 < headersList.length; n2 += 2) { - const key = headersList[n2 + 0].toString("latin1"); - const val = headersList[n2 + 1].toString("latin1"); - headers[kHeadersList].append(key, val); - } - resolve({ - status, - statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], - socket - }); - return true; - } - } - )); - } - } - module2.exports = { - fetch: fetch2, - Fetch, - fetching, - finalizeAndReportTiming - }; - } -}); - -// node_modules/undici/lib/fileapi/symbols.js -var require_symbols3 = __commonJS({ - "node_modules/undici/lib/fileapi/symbols.js"(exports, module2) { - "use strict"; - module2.exports = { - kState: Symbol("FileReader state"), - kResult: Symbol("FileReader result"), - kError: Symbol("FileReader error"), - kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), - kEvents: Symbol("FileReader events"), - kAborted: Symbol("FileReader aborted") - }; - } -}); - -// node_modules/undici/lib/fileapi/progressevent.js -var require_progressevent = __commonJS({ - "node_modules/undici/lib/fileapi/progressevent.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var kState = Symbol("ProgressEvent state"); - var ProgressEvent = class extends Event { - constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); - super(type, eventInitDict); - this[kState] = { - lengthComputable: eventInitDict.lengthComputable, - loaded: eventInitDict.loaded, - total: eventInitDict.total - }; - } - get lengthComputable() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].lengthComputable; - } - get loaded() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].loaded; - } - get total() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].total; - } - }; - webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ - { - key: "lengthComputable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "loaded", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "total", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]); - module2.exports = { - ProgressEvent - }; - } -}); - -// node_modules/undici/lib/fileapi/encoding.js -var require_encoding = __commonJS({ - "node_modules/undici/lib/fileapi/encoding.js"(exports, module2) { - "use strict"; - function getEncoding(label) { - if (!label) { - return "failure"; - } - switch (label.trim().toLowerCase()) { - case "unicode-1-1-utf-8": - case "unicode11utf8": - case "unicode20utf8": - case "utf-8": - case "utf8": - case "x-unicode20utf8": - return "UTF-8"; - case "866": - case "cp866": - case "csibm866": - case "ibm866": - return "IBM866"; - case "csisolatin2": - case "iso-8859-2": - case "iso-ir-101": - case "iso8859-2": - case "iso88592": - case "iso_8859-2": - case "iso_8859-2:1987": - case "l2": - case "latin2": - return "ISO-8859-2"; - case "csisolatin3": - case "iso-8859-3": - case "iso-ir-109": - case "iso8859-3": - case "iso88593": - case "iso_8859-3": - case "iso_8859-3:1988": - case "l3": - case "latin3": - return "ISO-8859-3"; - case "csisolatin4": - case "iso-8859-4": - case "iso-ir-110": - case "iso8859-4": - case "iso88594": - case "iso_8859-4": - case "iso_8859-4:1988": - case "l4": - case "latin4": - return "ISO-8859-4"; - case "csisolatincyrillic": - case "cyrillic": - case "iso-8859-5": - case "iso-ir-144": - case "iso8859-5": - case "iso88595": - case "iso_8859-5": - case "iso_8859-5:1988": - return "ISO-8859-5"; - case "arabic": - case "asmo-708": - case "csiso88596e": - case "csiso88596i": - case "csisolatinarabic": - case "ecma-114": - case "iso-8859-6": - case "iso-8859-6-e": - case "iso-8859-6-i": - case "iso-ir-127": - case "iso8859-6": - case "iso88596": - case "iso_8859-6": - case "iso_8859-6:1987": - return "ISO-8859-6"; - case "csisolatingreek": - case "ecma-118": - case "elot_928": - case "greek": - case "greek8": - case "iso-8859-7": - case "iso-ir-126": - case "iso8859-7": - case "iso88597": - case "iso_8859-7": - case "iso_8859-7:1987": - case "sun_eu_greek": - return "ISO-8859-7"; - case "csiso88598e": - case "csisolatinhebrew": - case "hebrew": - case "iso-8859-8": - case "iso-8859-8-e": - case "iso-ir-138": - case "iso8859-8": - case "iso88598": - case "iso_8859-8": - case "iso_8859-8:1988": - case "visual": - return "ISO-8859-8"; - case "csiso88598i": - case "iso-8859-8-i": - case "logical": - return "ISO-8859-8-I"; - case "csisolatin6": - case "iso-8859-10": - case "iso-ir-157": - case "iso8859-10": - case "iso885910": - case "l6": - case "latin6": - return "ISO-8859-10"; - case "iso-8859-13": - case "iso8859-13": - case "iso885913": - return "ISO-8859-13"; - case "iso-8859-14": - case "iso8859-14": - case "iso885914": - return "ISO-8859-14"; - case "csisolatin9": - case "iso-8859-15": - case "iso8859-15": - case "iso885915": - case "iso_8859-15": - case "l9": - return "ISO-8859-15"; - case "iso-8859-16": - return "ISO-8859-16"; - case "cskoi8r": - case "koi": - case "koi8": - case "koi8-r": - case "koi8_r": - return "KOI8-R"; - case "koi8-ru": - case "koi8-u": - return "KOI8-U"; - case "csmacintosh": - case "mac": - case "macintosh": - case "x-mac-roman": - return "macintosh"; - case "iso-8859-11": - case "iso8859-11": - case "iso885911": - case "tis-620": - case "windows-874": - return "windows-874"; - case "cp1250": - case "windows-1250": - case "x-cp1250": - return "windows-1250"; - case "cp1251": - case "windows-1251": - case "x-cp1251": - return "windows-1251"; - case "ansi_x3.4-1968": - case "ascii": - case "cp1252": - case "cp819": - case "csisolatin1": - case "ibm819": - case "iso-8859-1": - case "iso-ir-100": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "iso_8859-1:1987": - case "l1": - case "latin1": - case "us-ascii": - case "windows-1252": - case "x-cp1252": - return "windows-1252"; - case "cp1253": - case "windows-1253": - case "x-cp1253": - return "windows-1253"; - case "cp1254": - case "csisolatin5": - case "iso-8859-9": - case "iso-ir-148": - case "iso8859-9": - case "iso88599": - case "iso_8859-9": - case "iso_8859-9:1989": - case "l5": - case "latin5": - case "windows-1254": - case "x-cp1254": - return "windows-1254"; - case "cp1255": - case "windows-1255": - case "x-cp1255": - return "windows-1255"; - case "cp1256": - case "windows-1256": - case "x-cp1256": - return "windows-1256"; - case "cp1257": - case "windows-1257": - case "x-cp1257": - return "windows-1257"; - case "cp1258": - case "windows-1258": - case "x-cp1258": - return "windows-1258"; - case "x-mac-cyrillic": - case "x-mac-ukrainian": - return "x-mac-cyrillic"; - case "chinese": - case "csgb2312": - case "csiso58gb231280": - case "gb2312": - case "gb_2312": - case "gb_2312-80": - case "gbk": - case "iso-ir-58": - case "x-gbk": - return "GBK"; - case "gb18030": - return "gb18030"; - case "big5": - case "big5-hkscs": - case "cn-big5": - case "csbig5": - case "x-x-big5": - return "Big5"; - case "cseucpkdfmtjapanese": - case "euc-jp": - case "x-euc-jp": - return "EUC-JP"; - case "csiso2022jp": - case "iso-2022-jp": - return "ISO-2022-JP"; - case "csshiftjis": - case "ms932": - case "ms_kanji": - case "shift-jis": - case "shift_jis": - case "sjis": - case "windows-31j": - case "x-sjis": - return "Shift_JIS"; - case "cseuckr": - case "csksc56011987": - case "euc-kr": - case "iso-ir-149": - case "korean": - case "ks_c_5601-1987": - case "ks_c_5601-1989": - case "ksc5601": - case "ksc_5601": - case "windows-949": - return "EUC-KR"; - case "csiso2022kr": - case "hz-gb-2312": - case "iso-2022-cn": - case "iso-2022-cn-ext": - case "iso-2022-kr": - case "replacement": - return "replacement"; - case "unicodefffe": - case "utf-16be": - return "UTF-16BE"; - case "csunicode": - case "iso-10646-ucs-2": - case "ucs-2": - case "unicode": - case "unicodefeff": - case "utf-16": - case "utf-16le": - return "UTF-16LE"; - case "x-user-defined": - return "x-user-defined"; - default: - return "failure"; - } - } - module2.exports = { - getEncoding - }; - } -}); - -// node_modules/undici/lib/fileapi/util.js -var require_util4 = __commonJS({ - "node_modules/undici/lib/fileapi/util.js"(exports, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols3(); - var { ProgressEvent } = require_progressevent(); - var { getEncoding } = require_encoding(); - var { DOMException: DOMException3 } = require_constants2(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); - var { StringDecoder } = require("string_decoder"); - var { btoa: btoa2 } = require("buffer"); - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - function readOperation(fr2, blob, type, encodingName) { - if (fr2[kState] === "loading") { - throw new DOMException3("Invalid state", "InvalidStateError"); - } - fr2[kState] = "loading"; - fr2[kResult] = null; - fr2[kError] = null; - const stream4 = blob.stream(); - const reader = stream4.getReader(); - const bytes = []; - let chunkPromise = reader.read(); - let isFirstChunk = true; - (async () => { - while (!fr2[kAborted]) { - try { - const { done, value } = await chunkPromise; - if (isFirstChunk && !fr2[kAborted]) { - queueMicrotask(() => { - fireAProgressEvent("loadstart", fr2); - }); - } - isFirstChunk = false; - if (!done && types.isUint8Array(value)) { - bytes.push(value); - if ((fr2[kLastProgressEventFired] === void 0 || Date.now() - fr2[kLastProgressEventFired] >= 50) && !fr2[kAborted]) { - fr2[kLastProgressEventFired] = Date.now(); - queueMicrotask(() => { - fireAProgressEvent("progress", fr2); - }); - } - chunkPromise = reader.read(); - } else if (done) { - queueMicrotask(() => { - fr2[kState] = "done"; - try { - const result = packageData(bytes, type, blob.type, encodingName); - if (fr2[kAborted]) { - return; - } - fr2[kResult] = result; - fireAProgressEvent("load", fr2); - } catch (error) { - fr2[kError] = error; - fireAProgressEvent("error", fr2); - } - if (fr2[kState] !== "loading") { - fireAProgressEvent("loadend", fr2); - } - }); - break; - } - } catch (error) { - if (fr2[kAborted]) { - return; - } - queueMicrotask(() => { - fr2[kState] = "done"; - fr2[kError] = error; - fireAProgressEvent("error", fr2); - if (fr2[kState] !== "loading") { - fireAProgressEvent("loadend", fr2); - } - }); - break; - } - } - })(); - } - function fireAProgressEvent(e3, reader) { - const event = new ProgressEvent(e3, { - bubbles: false, - cancelable: false - }); - reader.dispatchEvent(event); - } - function packageData(bytes, type, mimeType, encodingName) { - switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { - dataURL += serializeAMimeType(parsed); - } - dataURL += ";base64,"; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - dataURL += btoa2(decoder.write(chunk)); - } - dataURL += btoa2(decoder.end()); - return dataURL; - } - case "Text": { - let encoding = "failure"; - if (encodingName) { - encoding = getEncoding(encodingName); - } - if (encoding === "failure" && mimeType) { - const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); - } - } - if (encoding === "failure") { - encoding = "UTF-8"; - } - return decode(bytes, encoding); - } - case "ArrayBuffer": { - const sequence = combineByteSequences(bytes); - return sequence.buffer; - } - case "BinaryString": { - let binaryString = ""; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - binaryString += decoder.write(chunk); - } - binaryString += decoder.end(); - return binaryString; - } - } - } - function decode(ioQueue, encoding) { - const bytes = combineByteSequences(ioQueue); - const BOMEncoding = BOMSniffing(bytes); - let slice = 0; - if (BOMEncoding !== null) { - encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; - } - const sliced = bytes.slice(slice); - return new TextDecoder(encoding).decode(sliced); - } - function BOMSniffing(ioQueue) { - const [a3, b3, c2] = ioQueue; - if (a3 === 239 && b3 === 187 && c2 === 191) { - return "UTF-8"; - } else if (a3 === 254 && b3 === 255) { - return "UTF-16BE"; - } else if (a3 === 255 && b3 === 254) { - return "UTF-16LE"; - } - return null; - } - function combineByteSequences(sequences) { - const size = sequences.reduce((a3, b3) => { - return a3 + b3.byteLength; - }, 0); - let offset = 0; - return sequences.reduce((a3, b3) => { - a3.set(b3, offset); - offset += b3.byteLength; - return a3; - }, new Uint8Array(size)); - } - module2.exports = { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - }; - } -}); - -// node_modules/undici/lib/fileapi/filereader.js -var require_filereader = __commonJS({ - "node_modules/undici/lib/fileapi/filereader.js"(exports, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util4(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols3(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var FileReader = class extends EventTarget { - constructor() { - super(); - this[kState] = "empty"; - this[kResult] = null; - this[kError] = null; - this[kEvents] = { - loadend: null, - error: null, - abort: null, - load: null, - progress: null, - loadstart: null - }; - } - readAsArrayBuffer(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); - } - readAsBinaryString(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); - } - readAsText(blob, encoding = void 0) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); - blob = webidl.converters.Blob(blob, { strict: false }); - if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); - } - readOperation(this, blob, "Text", encoding); - } - readAsDataURL(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); - } - abort() { - if (this[kState] === "empty" || this[kState] === "done") { - this[kResult] = null; - return; - } - if (this[kState] === "loading") { - this[kState] = "done"; - this[kResult] = null; - } - this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); - } - } - get readyState() { - webidl.brandCheck(this, FileReader); - switch (this[kState]) { - case "empty": - return this.EMPTY; - case "loading": - return this.LOADING; - case "done": - return this.DONE; - } - } - get result() { - webidl.brandCheck(this, FileReader); - return this[kResult]; - } - get error() { - webidl.brandCheck(this, FileReader); - return this[kError]; - } - get onloadend() { - webidl.brandCheck(this, FileReader); - return this[kEvents].loadend; - } - set onloadend(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); - } - if (typeof fn === "function") { - this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); - } else { - this[kEvents].loadend = null; - } - } - get onerror() { - webidl.brandCheck(this, FileReader); - return this[kEvents].error; - } - set onerror(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); - } - if (typeof fn === "function") { - this[kEvents].error = fn; - this.addEventListener("error", fn); - } else { - this[kEvents].error = null; - } - } - get onloadstart() { - webidl.brandCheck(this, FileReader); - return this[kEvents].loadstart; - } - set onloadstart(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); - } - if (typeof fn === "function") { - this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); - } else { - this[kEvents].loadstart = null; - } - } - get onprogress() { - webidl.brandCheck(this, FileReader); - return this[kEvents].progress; - } - set onprogress(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); - } - if (typeof fn === "function") { - this[kEvents].progress = fn; - this.addEventListener("progress", fn); - } else { - this[kEvents].progress = null; - } - } - get onload() { - webidl.brandCheck(this, FileReader); - return this[kEvents].load; - } - set onload(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); - } - if (typeof fn === "function") { - this[kEvents].load = fn; - this.addEventListener("load", fn); - } else { - this[kEvents].load = null; - } - } - get onabort() { - webidl.brandCheck(this, FileReader); - return this[kEvents].abort; - } - set onabort(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); - } - if (typeof fn === "function") { - this[kEvents].abort = fn; - this.addEventListener("abort", fn); - } else { - this[kEvents].abort = null; - } - } - }; - FileReader.EMPTY = FileReader.prototype.EMPTY = 0; - FileReader.LOADING = FileReader.prototype.LOADING = 1; - FileReader.DONE = FileReader.prototype.DONE = 2; - Object.defineProperties(FileReader.prototype, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors, - readAsArrayBuffer: kEnumerableProperty, - readAsBinaryString: kEnumerableProperty, - readAsText: kEnumerableProperty, - readAsDataURL: kEnumerableProperty, - abort: kEnumerableProperty, - readyState: kEnumerableProperty, - result: kEnumerableProperty, - error: kEnumerableProperty, - onloadstart: kEnumerableProperty, - onprogress: kEnumerableProperty, - onload: kEnumerableProperty, - onabort: kEnumerableProperty, - onerror: kEnumerableProperty, - onloadend: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "FileReader", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(FileReader, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors - }); - module2.exports = { - FileReader - }; - } -}); - -// node_modules/undici/lib/cache/symbols.js -var require_symbols4 = __commonJS({ - "node_modules/undici/lib/cache/symbols.js"(exports, module2) { - "use strict"; - module2.exports = { - kConstruct: require_symbols().kConstruct - }; - } -}); - -// node_modules/undici/lib/cache/util.js -var require_util5 = __commonJS({ - "node_modules/undici/lib/cache/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); - var { isValidHeaderName: isValidHeaderName2 } = require_util2(); - function urlEquals(A3, B2, excludeFragment = false) { - const serializedA = URLSerializer(A3, excludeFragment); - const serializedB = URLSerializer(B2, excludeFragment); - return serializedA === serializedB; - } - function fieldValues(header) { - assert(header !== null); - const values = []; - for (let value of header.split(",")) { - value = value.trim(); - if (!value.length) { - continue; - } else if (!isValidHeaderName2(value)) { - continue; - } - values.push(value); - } - return values; - } - module2.exports = { - urlEquals, - fieldValues - }; - } -}); - -// node_modules/undici/lib/cache/cache.js -var require_cache = __commonJS({ - "node_modules/undici/lib/cache/cache.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { urlEquals, fieldValues: getFieldValues } = require_util5(); - var { kEnumerableProperty, isDisturbed } = require_util(); - var { kHeadersList } = require_symbols(); - var { webidl } = require_webidl(); - var { Response: Response3, cloneResponse } = require_response(); - var { Request: Request3 } = require_request2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { fetching } = require_fetch(); - var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global2(); - var Cache = class { - #relevantRequestResponseList; - constructor() { - if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); - } - this.#relevantRequestResponseList = arguments[1]; - } - async match(request, options = {}) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - const p3 = await this.matchAll(request, options); - if (p3.length === 0) { - return; - } - return p3[0]; - } - async matchAll(request = void 0, options = {}) { - webidl.brandCheck(this, Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r3 = null; - if (request !== void 0) { - if (request instanceof Request3) { - r3 = request[kState]; - if (r3.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r3 = new Request3(request)[kState]; - } - } - const responses = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); - } - } else { - const requestResponses = this.#queryCache(r3, options); - for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); - } - } - const responseList = []; - for (const response of responses) { - const responseObject = new Response3(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); - } - return Object.freeze(responseList); - } - async add(request) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request = webidl.converters.RequestInfo(request); - const requests = [request]; - const responseArrayPromise = this.addAll(requests); - return await responseArrayPromise; - } - async addAll(requests) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence<RequestInfo>"](requests); - const responsePromises = []; - const requestList = []; - for (const request of requests) { - if (typeof request === "string") { - continue; - } - const r3 = request[kState]; - if (!urlIsHttpHttpsScheme(r3.url) || r3.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme when method is not GET." - }); - } - } - const fetchControllers = []; - for (const request of requests) { - const r3 = new Request3(request)[kState]; - if (!urlIsHttpHttpsScheme(r3.url)) { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme." - }); - } - r3.initiator = "fetch"; - r3.destination = "subresource"; - requestList.push(r3); - const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r3, - dispatcher: getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "Received an invalid status code or the request failed." - })); - } else if (response.headersList.contains("vary")) { - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "invalid vary field value" - })); - for (const controller of fetchControllers) { - controller.abort(); - } - return; - } - } - } - }, - processResponseEndOfBody(response) { - if (response.aborted) { - responsePromise.reject(new DOMException("aborted", "AbortError")); - return; - } - responsePromise.resolve(response); - } - })); - responsePromises.push(responsePromise.promise); - } - const p3 = Promise.all(responsePromises); - const responses = await p3; - const operations = []; - let index = 0; - for (const response of responses) { - const operation = { - type: "put", - request: requestList[index], - response - }; - operations.push(operation); - index++; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e3) { - errorData = e3; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(void 0); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async put(request, response) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request = webidl.converters.RequestInfo(request); - response = webidl.converters.Response(response); - let innerRequest = null; - if (request instanceof Request3) { - innerRequest = request[kState]; - } else { - innerRequest = new Request3(request)[kState]; - } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Expected an http/s scheme when method is not GET" - }); - } - const innerResponse = response[kState]; - if (innerResponse.status === 206) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got 206 status" - }); - } - if (innerResponse.headersList.contains("vary")) { - const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got * vary field value" - }); - } - } - } - if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Response body is locked or disturbed" - }); - } - const clonedResponse = cloneResponse(innerResponse); - const bodyReadPromise = createDeferredPromise(); - if (innerResponse.body != null) { - const stream4 = innerResponse.body.stream; - const reader = stream4.getReader(); - readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); - } else { - bodyReadPromise.resolve(void 0); - } - const operations = []; - const operation = { - type: "put", - request: innerRequest, - response: clonedResponse - }; - operations.push(operation); - const bytes = await bodyReadPromise.promise; - if (clonedResponse.body != null) { - clonedResponse.body.source = bytes; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e3) { - errorData = e3; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async delete(request, options = {}) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r3 = null; - if (request instanceof Request3) { - r3 = request[kState]; - if (r3.method !== "GET" && !options.ignoreMethod) { - return false; - } - } else { - assert(typeof request === "string"); - r3 = new Request3(request)[kState]; - } - const operations = []; - const operation = { - type: "delete", - request: r3, - options - }; - operations.push(operation); - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - let requestResponses; - try { - requestResponses = this.#batchCacheOperations(operations); - } catch (e3) { - errorData = e3; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(!!requestResponses?.length); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async keys(request = void 0, options = {}) { - webidl.brandCheck(this, Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r3 = null; - if (request !== void 0) { - if (request instanceof Request3) { - r3 = request[kState]; - if (r3.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r3 = new Request3(request)[kState]; - } - } - const promise = createDeferredPromise(); - const requests = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - requests.push(requestResponse[0]); - } - } else { - const requestResponses = this.#queryCache(r3, options); - for (const requestResponse of requestResponses) { - requests.push(requestResponse[0]); - } - } - queueMicrotask(() => { - const requestList = []; - for (const request2 of requests) { - const requestObject = new Request3("https://a"); - requestObject[kState] = request2; - requestObject[kHeaders][kHeadersList] = request2.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request2.client; - requestList.push(requestObject); - } - promise.resolve(Object.freeze(requestList)); - }); - return promise.promise; - } - #batchCacheOperations(operations) { - const cache = this.#relevantRequestResponseList; - const backupCache = [...cache]; - const addedItems = []; - const resultList = []; - try { - for (const operation of operations) { - if (operation.type !== "delete" && operation.type !== "put") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: 'operation type does not match "delete" or "put"' - }); - } - if (operation.type === "delete" && operation.response != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "delete operation should not have an associated response" - }); - } - if (this.#queryCache(operation.request, operation.options, addedItems).length) { - throw new DOMException("???", "InvalidStateError"); - } - let requestResponses; - if (operation.type === "delete") { - requestResponses = this.#queryCache(operation.request, operation.options); - if (requestResponses.length === 0) { - return []; - } - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - } else if (operation.type === "put") { - if (operation.response == null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "put operation should have an associated response" - }); - } - const r3 = operation.request; - if (!urlIsHttpHttpsScheme(r3.url)) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "expected http or https scheme" - }); - } - if (r3.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "not get method" - }); - } - if (operation.options != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "options must not be defined" - }); - } - requestResponses = this.#queryCache(operation.request); - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - cache.push([operation.request, operation.response]); - addedItems.push([operation.request, operation.response]); - } - resultList.push([operation.request, operation.response]); - } - return resultList; - } catch (e3) { - this.#relevantRequestResponseList.length = 0; - this.#relevantRequestResponseList = backupCache; - throw e3; - } - } - #queryCache(requestQuery, options, targetStorage) { - const resultList = []; - const storage = targetStorage ?? this.#relevantRequestResponseList; - for (const requestResponse of storage) { - const [cachedRequest, cachedResponse] = requestResponse; - if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { - resultList.push(requestResponse); - } - } - return resultList; - } - #requestMatchesCachedItem(requestQuery, request, response = null, options) { - const queryURL = new URL(requestQuery.url); - const cachedURL = new URL(request.url); - if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; - } - if (!urlEquals(queryURL, cachedURL, true)) { - return false; - } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { - return true; - } - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - return false; - } - const requestValue = request.headersList.get(fieldValue); - const queryValue = requestQuery.headersList.get(fieldValue); - if (requestValue !== queryValue) { - return false; - } - } - return true; - } - }; - Object.defineProperties(Cache.prototype, { - [Symbol.toStringTag]: { - value: "Cache", - configurable: true - }, - match: kEnumerableProperty, - matchAll: kEnumerableProperty, - add: kEnumerableProperty, - addAll: kEnumerableProperty, - put: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - var cacheQueryOptionConverters = [ - { - key: "ignoreSearch", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreMethod", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreVary", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); - webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ - ...cacheQueryOptionConverters, - { - key: "cacheName", - converter: webidl.converters.DOMString - } - ]); - webidl.converters.Response = webidl.interfaceConverter(Response3); - webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter( - webidl.converters.RequestInfo - ); - module2.exports = { - Cache - }; - } -}); - -// node_modules/undici/lib/cache/cachestorage.js -var require_cachestorage = __commonJS({ - "node_modules/undici/lib/cache/cachestorage.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { Cache } = require_cache(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var CacheStorage = class { - #caches = /* @__PURE__ */ new Map(); - constructor() { - if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); - } - } - async match(request, options = {}) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.MultiCacheQueryOptions(options); - if (options.cacheName != null) { - if (this.#caches.has(options.cacheName)) { - const cacheList = this.#caches.get(options.cacheName); - const cache = new Cache(kConstruct, cacheList); - return await cache.match(request, options); - } - } else { - for (const cacheList of this.#caches.values()) { - const cache = new Cache(kConstruct, cacheList); - const response = await cache.match(request, options); - if (response !== void 0) { - return response; - } - } - } - } - async has(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.has(cacheName); - } - async open(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); - if (this.#caches.has(cacheName)) { - const cache2 = this.#caches.get(cacheName); - return new Cache(kConstruct, cache2); - } - const cache = []; - this.#caches.set(cacheName, cache); - return new Cache(kConstruct, cache); - } - async delete(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.delete(cacheName); - } - async keys() { - webidl.brandCheck(this, CacheStorage); - const keys = this.#caches.keys(); - return [...keys]; - } - }; - Object.defineProperties(CacheStorage.prototype, { - [Symbol.toStringTag]: { - value: "CacheStorage", - configurable: true - }, - match: kEnumerableProperty, - has: kEnumerableProperty, - open: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - module2.exports = { - CacheStorage - }; - } -}); - -// node_modules/undici/lib/cookies/constants.js -var require_constants4 = __commonJS({ - "node_modules/undici/lib/cookies/constants.js"(exports, module2) { - "use strict"; - var maxAttributeValueSize = 1024; - var maxNameValuePairSize = 4096; - module2.exports = { - maxAttributeValueSize, - maxNameValuePairSize - }; - } -}); - -// node_modules/undici/lib/cookies/util.js -var require_util6 = __commonJS({ - "node_modules/undici/lib/cookies/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kHeadersList } = require_symbols(); - function isCTLExcludingHtab(value) { - if (value.length === 0) { - return false; - } - for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; - } - } - } - function validateCookieName(name) { - for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { - throw new Error("Invalid cookie name"); - } - } - } - function validateCookieValue(value) { - for (const char of value) { - const code = char.charCodeAt(0); - if (code < 33 || code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); - } - } - } - function validateCookiePath(path2) { - for (const char of path2) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { - throw new Error("Invalid cookie path"); - } - } - } - function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); - } - } - function toIMFDate(date) { - if (typeof date === "number") { - date = new Date(date); - } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; - } - function validateCookieMaxAge(maxAge) { - if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); - } - } - function stringify(cookie) { - if (cookie.name.length === 0) { - return null; - } - validateCookieName(cookie.name); - validateCookieValue(cookie.value); - const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { - cookie.secure = true; - } - if (cookie.name.startsWith("__Host-")) { - cookie.secure = true; - cookie.domain = null; - cookie.path = "/"; - } - if (cookie.secure) { - out.push("Secure"); - } - if (cookie.httpOnly) { - out.push("HttpOnly"); - } - if (typeof cookie.maxAge === "number") { - validateCookieMaxAge(cookie.maxAge); - out.push(`Max-Age=${cookie.maxAge}`); - } - if (cookie.domain) { - validateCookieDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); - } - if (cookie.path) { - validateCookiePath(cookie.path); - out.push(`Path=${cookie.path}`); - } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { - out.push(`Expires=${toIMFDate(cookie.expires)}`); - } - if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); - } - for (const part of cookie.unparsed) { - if (!part.includes("=")) { - throw new Error("Invalid unparsed"); - } - const [key, ...value] = part.split("="); - out.push(`${key.trim()}=${value.join("=")}`); - } - return out.join("; "); - } - var kHeadersListNode; - function getHeadersList(headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList]; - } - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === "headers list" - ); - assert(kHeadersListNode, "Headers cannot be parsed"); - } - const headersList = headers[kHeadersListNode]; - assert(headersList); - return headersList; - } - module2.exports = { - isCTLExcludingHtab, - stringify, - getHeadersList - }; - } -}); - -// node_modules/undici/lib/cookies/parse.js -var require_parse2 = __commonJS({ - "node_modules/undici/lib/cookies/parse.js"(exports, module2) { - "use strict"; - var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); - var { isCTLExcludingHtab } = require_util6(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); - function parseSetCookie(header) { - if (isCTLExcludingHtab(header)) { - return null; - } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { - const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); - unparsedAttributes = header.slice(position.position); - } else { - nameValuePair = header; - } - if (!nameValuePair.includes("=")) { - value = nameValuePair; - } else { - const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); - value = nameValuePair.slice(position.position + 1); - } - name = name.trim(); - value = value.trim(); - if (name.length + value.length > maxNameValuePairSize) { - return null; - } - return { - name, - value, - ...parseUnparsedAttributes(unparsedAttributes) - }; - } - function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { - if (unparsedAttributes.length === 0) { - return cookieAttributeList; - } - assert(unparsedAttributes[0] === ";"); - unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); - unparsedAttributes = unparsedAttributes.slice(cookieAv.length); - } else { - cookieAv = unparsedAttributes; - unparsedAttributes = ""; - } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { - const position = { position: 0 }; - attributeName = collectASequenceOfCodePointsFast( - "=", - cookieAv, - position - ); - attributeValue = cookieAv.slice(position.position + 1); - } else { - attributeName = cookieAv; - } - attributeName = attributeName.trim(); - attributeValue = attributeValue.trim(); - if (attributeValue.length > maxAttributeValueSize) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { - const expiryTime = new Date(attributeValue); - cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { - const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - if (!/^\d+$/.test(attributeValue)) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const deltaSeconds = Number(attributeValue); - cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { - let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { - cookieDomain = cookieDomain.slice(1); - } - cookieDomain = cookieDomain.toLowerCase(); - cookieAttributeList.domain = cookieDomain; - } else if (attributeNameLowercase === "path") { - let cookiePath = ""; - if (attributeValue.length === 0 || attributeValue[0] !== "/") { - cookiePath = "/"; - } else { - cookiePath = attributeValue; - } - cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { - cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { - cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; - const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; - } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; - } else { - cookieAttributeList.unparsed ??= []; - cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); - } - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - module2.exports = { - parseSetCookie, - parseUnparsedAttributes - }; - } -}); - -// node_modules/undici/lib/cookies/index.js -var require_cookies = __commonJS({ - "node_modules/undici/lib/cookies/index.js"(exports, module2) { - "use strict"; - var { parseSetCookie } = require_parse2(); - var { stringify, getHeadersList } = require_util6(); - var { webidl } = require_webidl(); - var { Headers: Headers3 } = require_headers(); - function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); - webidl.brandCheck(headers, Headers3, { strict: false }); - const cookie = headers.get("cookie"); - const out = {}; - if (!cookie) { - return out; - } - for (const piece of cookie.split(";")) { - const [name, ...value] = piece.split("="); - out[name.trim()] = value.join("="); - } - return out; - } - function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); - webidl.brandCheck(headers, Headers3, { strict: false }); - name = webidl.converters.DOMString(name); - attributes = webidl.converters.DeleteCookieAttributes(attributes); - setCookie(headers, { - name, - value: "", - expires: new Date(0), - ...attributes - }); - } - function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); - webidl.brandCheck(headers, Headers3, { strict: false }); - const cookies = getHeadersList(headers).cookies; - if (!cookies) { - return []; - } - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); - } - function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); - webidl.brandCheck(headers, Headers3, { strict: false }); - cookie = webidl.converters.Cookie(cookie); - const str = stringify(cookie); - if (str) { - headers.append("Set-Cookie", stringify(cookie)); - } - } - webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - } - ]); - webidl.converters.Cookie = webidl.dictionaryConverter([ - { - converter: webidl.converters.DOMString, - key: "name" - }, - { - converter: webidl.converters.DOMString, - key: "value" - }, - { - converter: webidl.nullableConverter((value) => { - if (typeof value === "number") { - return webidl.converters["unsigned long long"](value); - } - return new Date(value); - }), - key: "expires", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters["long long"]), - key: "maxAge", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "secure", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "httpOnly", - defaultValue: null - }, - { - converter: webidl.converters.USVString, - key: "sameSite", - allowedValues: ["Strict", "Lax", "None"] - }, - { - converter: webidl.sequenceConverter(webidl.converters.DOMString), - key: "unparsed", - defaultValue: [] - } - ]); - module2.exports = { - getCookies, - deleteCookie, - getSetCookies, - setCookie - }; - } -}); - -// node_modules/undici/lib/websocket/constants.js -var require_constants5 = __commonJS({ - "node_modules/undici/lib/websocket/constants.js"(exports, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - var states = { - CONNECTING: 0, - OPEN: 1, - CLOSING: 2, - CLOSED: 3 - }; - var opcodes = { - CONTINUATION: 0, - TEXT: 1, - BINARY: 2, - CLOSE: 8, - PING: 9, - PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; - var parserStates = { - INFO: 0, - PAYLOADLENGTH_16: 2, - PAYLOADLENGTH_64: 3, - READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); - module2.exports = { - uid, - staticPropertyDescriptors, - states, - opcodes, - maxUnsigned16Bit, - parserStates, - emptyBuffer - }; - } -}); - -// node_modules/undici/lib/websocket/symbols.js -var require_symbols5 = __commonJS({ - "node_modules/undici/lib/websocket/symbols.js"(exports, module2) { - "use strict"; - module2.exports = { - kWebSocketURL: Symbol("url"), - kReadyState: Symbol("ready state"), - kController: Symbol("controller"), - kResponse: Symbol("response"), - kBinaryType: Symbol("binary type"), - kSentClose: Symbol("sent close"), - kReceivedClose: Symbol("received close"), - kByteParser: Symbol("byte parser") - }; - } -}); - -// node_modules/undici/lib/websocket/events.js -var require_events = __commonJS({ - "node_modules/undici/lib/websocket/events.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var { MessagePort } = require("worker_threads"); - var MessageEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get data() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.data; - } - get origin() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.origin; - } - get lastEventId() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.lastEventId; - } - get source() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.source; - } - get ports() { - webidl.brandCheck(this, MessageEvent); - if (!Object.isFrozen(this.#eventInit.ports)) { - Object.freeze(this.#eventInit.ports); - } - return this.#eventInit.ports; - } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { - webidl.brandCheck(this, MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); - return new MessageEvent(type, { - bubbles, - cancelable, - data, - origin, - lastEventId, - source, - ports - }); - } - }; - var CloseEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.CloseEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get wasClean() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.wasClean; - } - get code() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.code; - } - get reason() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.reason; - } - }; - var ErrorEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); - super(type, eventInitDict); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); - this.#eventInit = eventInitDict; - } - get message() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.message; - } - get filename() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.filename; - } - get lineno() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.lineno; - } - get colno() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.colno; - } - get error() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.error; - } - }; - Object.defineProperties(MessageEvent.prototype, { - [Symbol.toStringTag]: { - value: "MessageEvent", - configurable: true - }, - data: kEnumerableProperty, - origin: kEnumerableProperty, - lastEventId: kEnumerableProperty, - source: kEnumerableProperty, - ports: kEnumerableProperty, - initMessageEvent: kEnumerableProperty - }); - Object.defineProperties(CloseEvent.prototype, { - [Symbol.toStringTag]: { - value: "CloseEvent", - configurable: true - }, - reason: kEnumerableProperty, - code: kEnumerableProperty, - wasClean: kEnumerableProperty - }); - Object.defineProperties(ErrorEvent.prototype, { - [Symbol.toStringTag]: { - value: "ErrorEvent", - configurable: true - }, - message: kEnumerableProperty, - filename: kEnumerableProperty, - lineno: kEnumerableProperty, - colno: kEnumerableProperty, - error: kEnumerableProperty - }); - webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter( - webidl.converters.MessagePort - ); - var eventInit = [ - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.MessageEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "data", - converter: webidl.converters.any, - defaultValue: null - }, - { - key: "origin", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lastEventId", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "source", - converter: webidl.nullableConverter(webidl.converters.MessagePort), - defaultValue: null - }, - { - key: "ports", - converter: webidl.converters["sequence<MessagePort>"], - get defaultValue() { - return []; - } - } - ]); - webidl.converters.CloseEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "wasClean", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "code", - converter: webidl.converters["unsigned short"], - defaultValue: 0 - }, - { - key: "reason", - converter: webidl.converters.USVString, - defaultValue: "" - } - ]); - webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "message", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "filename", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lineno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "colno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "error", - converter: webidl.converters.any - } - ]); - module2.exports = { - MessageEvent, - CloseEvent, - ErrorEvent - }; - } -}); - -// node_modules/undici/lib/websocket/util.js -var require_util7 = __commonJS({ - "node_modules/undici/lib/websocket/util.js"(exports, module2) { - "use strict"; - var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); - var { states, opcodes } = require_constants5(); - var { MessageEvent, ErrorEvent } = require_events(); - function isEstablished(ws) { - return ws[kReadyState] === states.OPEN; - } - function isClosing(ws) { - return ws[kReadyState] === states.CLOSING; - } - function isClosed(ws) { - return ws[kReadyState] === states.CLOSED; - } - function fireEvent(e3, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e3, eventInitDict); - target.dispatchEvent(event); - } - function websocketMessageReceived(ws, type, data) { - if (ws[kReadyState] !== states.OPEN) { - return; - } - let dataForEvent; - if (type === opcodes.TEXT) { - try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); - } catch { - failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); - return; - } - } else if (type === opcodes.BINARY) { - if (ws[kBinaryType] === "blob") { - dataForEvent = new Blob([data]); - } else { - dataForEvent = new Uint8Array(data).buffer; - } - } - fireEvent("message", ws, MessageEvent, { - origin: ws[kWebSocketURL].origin, - data: dataForEvent - }); - } - function isValidSubprotocol(protocol) { - if (protocol.length === 0) { - return false; - } - for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || code === 9) { - return false; - } - } - return true; - } - function isValidStatusCode(code) { - if (code >= 1e3 && code < 1015) { - return code !== 1004 && code !== 1005 && code !== 1006; - } - return code >= 3e3 && code <= 4999; - } - function failWebsocketConnection(ws, reason) { - const { [kController]: controller, [kResponse]: response } = ws; - controller.abort(); - if (response?.socket && !response.socket.destroyed) { - response.socket.destroy(); - } - if (reason) { - fireEvent("error", ws, ErrorEvent, { - error: new Error(reason) - }); - } - } - module2.exports = { - isEstablished, - isClosing, - isClosed, - fireEvent, - isValidSubprotocol, - isValidStatusCode, - failWebsocketConnection, - websocketMessageReceived - }; - } -}); - -// node_modules/undici/lib/websocket/connection.js -var require_connection = __commonJS({ - "node_modules/undici/lib/websocket/connection.js"(exports, module2) { - "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants5(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose - } = require_symbols5(); - var { fireEvent, failWebsocketConnection } = require_util7(); - var { CloseEvent } = require_events(); - var { makeRequest } = require_request2(); - var { fetching } = require_fetch(); - var { Headers: Headers3 } = require_headers(); - var { getGlobalDispatcher } = require_global2(); - var { kHeadersList } = require_symbols(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) { - const requestURL = url2; - requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:"; - const request = makeRequest({ - urlList: [requestURL], - serviceWorkers: "none", - referrer: "no-referrer", - mode: "websocket", - credentials: "include", - cache: "no-store", - redirect: "error" - }); - if (options.headers) { - const headersList = new Headers3(options.headers)[kHeadersList]; - request.headersList = headersList; - } - const keyValue = crypto2.randomBytes(16).toString("base64"); - request.headersList.append("sec-websocket-key", keyValue); - request.headersList.append("sec-websocket-version", "13"); - for (const protocol of protocols) { - request.headersList.append("sec-websocket-protocol", protocol); - } - const permessageDeflate = ""; - const controller = fetching({ - request, - useParallelQueue: true, - dispatcher: options.dispatcher ?? getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws, "Received network error or non-101 status code."); - return; - } - if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Server did not respond with sent protocols."); - return; - } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { - failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); - return; - } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { - failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); - return; - } - const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64"); - if (secWSAccept !== digest) { - failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); - return; - } - const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); - if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; - } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; - } - response.socket.on("data", onSocketData); - response.socket.on("close", onSocketClose); - response.socket.on("error", onSocketError); - if (channels.open.hasSubscribers) { - channels.open.publish({ - address: response.socket.address(), - protocol: secProtocol, - extensions: secExtension - }); - } - onEstablish(response); - } - }); - return controller; - } - function onSocketData(chunk) { - if (!this.ws[kByteParser].write(chunk)) { - this.pause(); - } - } - function onSocketClose() { - const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; - let code = 1005; - let reason = ""; - const result = ws[kByteParser].closingInfo; - if (result) { - code = result.code ?? 1005; - reason = result.reason; - } else if (!ws[kSentClose]) { - code = 1006; - } - ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { - wasClean, - code, - reason - }); - if (channels.close.hasSubscribers) { - channels.close.publish({ - websocket: ws, - code, - reason - }); - } - } - function onSocketError(error) { - const { ws } = this; - ws[kReadyState] = states.CLOSING; - if (channels.socketError.hasSubscribers) { - channels.socketError.publish(error); - } - this.destroy(); - } - module2.exports = { - establishWebSocketConnection - }; - } -}); - -// node_modules/undici/lib/websocket/frame.js -var require_frame = __commonJS({ - "node_modules/undici/lib/websocket/frame.js"(exports, module2) { - "use strict"; - var { maxUnsigned16Bit } = require_constants5(); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - var WebsocketFrameSend = class { - constructor(data) { - this.frameData = data; - this.maskKey = crypto2.randomBytes(4); - } - createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; - if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; - } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; - if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); - } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); - } - buffer[1] |= 128; - for (let i3 = 0; i3 < bodyLength; i3++) { - buffer[offset + i3] = this.frameData[i3] ^ this.maskKey[i3 % 4]; - } - return buffer; - } - }; - module2.exports = { - WebsocketFrameSend - }; - } -}); - -// node_modules/undici/lib/websocket/receiver.js -var require_receiver = __commonJS({ - "node_modules/undici/lib/websocket/receiver.js"(exports, module2) { - "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants5(); - var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); - var { WebsocketFrameSend } = require_frame(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); - var ByteParser = class extends Writable { - #buffers = []; - #byteOffset = 0; - #state = parserStates.INFO; - #info = {}; - #fragments = []; - constructor(ws) { - super(); - this.ws = ws; - } - _write(chunk, _3, callback) { - this.#buffers.push(chunk); - this.#byteOffset += chunk.length; - this.run(callback); - } - run(callback) { - while (true) { - if (this.#state === parserStates.INFO) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); - return; - } - const payloadLength = buffer[1] & 127; - if (payloadLength <= 125) { - this.#info.payloadLength = payloadLength; - this.#state = parserStates.READ_DATA; - } else if (payloadLength === 126) { - this.#state = parserStates.PAYLOADLENGTH_16; - } else if (payloadLength === 127) { - this.#state = parserStates.PAYLOADLENGTH_64; - } - if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; - } else if (this.#info.opcode === opcodes.CLOSE) { - if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; - } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); - if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); - this.ws[kResponse].socket.write( - closeFrame.createFrame(opcodes.CLOSE), - (err) => { - if (!err) { - this.ws[kSentClose] = true; - } - } - ); - } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; - } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); - if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); - if (channels.ping.hasSubscribers) { - channels.ping.publish({ - payload: body - }); - } - } - this.#state = parserStates.INFO; - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); - if (channels.pong.hasSubscribers) { - channels.pong.publish({ - payload: body - }); - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } - } else if (this.#state === parserStates.PAYLOADLENGTH_16) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.payloadLength = buffer.readUInt16BE(0); - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.PAYLOADLENGTH_64) { - if (this.#byteOffset < 8) { - return callback(); - } - const buffer = this.consume(8); - const upper = buffer.readUInt32BE(0); - if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); - return; - } - const lower = buffer.readUInt32BE(4); - this.#info.payloadLength = (upper << 8) + lower; - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.READ_DATA) { - if (this.#byteOffset < this.#info.payloadLength) { - return callback(); - } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; - } - this.#state = parserStates.INFO; - } - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - break; - } - } - } - consume(n2) { - if (n2 > this.#byteOffset) { - return null; - } else if (n2 === 0) { - return emptyBuffer; - } - if (this.#buffers[0].length === n2) { - this.#byteOffset -= this.#buffers[0].length; - return this.#buffers.shift(); - } - const buffer = Buffer.allocUnsafe(n2); - let offset = 0; - while (offset !== n2) { - const next = this.#buffers[0]; - const { length } = next; - if (length + offset === n2) { - buffer.set(this.#buffers.shift(), offset); - break; - } else if (length + offset > n2) { - buffer.set(next.subarray(0, n2 - offset), offset); - this.#buffers[0] = next.subarray(n2 - offset); - break; - } else { - buffer.set(this.#buffers.shift(), offset); - offset += next.length; - } - } - this.#byteOffset -= n2; - return buffer; - } - parseCloseBody(onlyCode, data) { - let code; - if (data.length >= 2) { - code = data.readUInt16BE(0); - } - if (onlyCode) { - if (!isValidStatusCode(code)) { - return null; - } - return { code }; - } - let reason = data.subarray(2); - if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { - reason = reason.subarray(3); - } - if (code !== void 0 && !isValidStatusCode(code)) { - return null; - } - try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); - } catch { - return null; - } - return { code, reason }; - } - get closingInfo() { - return this.#info.closeInfo; - } - }; - module2.exports = { - ByteParser - }; - } -}); - -// node_modules/undici/lib/websocket/websocket.js -var require_websocket = __commonJS({ - "node_modules/undici/lib/websocket/websocket.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { DOMException: DOMException3 } = require_constants2(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); - var { - kWebSocketURL, - kReadyState, - kController, - kBinaryType, - kResponse, - kSentClose, - kByteParser - } = require_symbols5(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); - var { establishWebSocketConnection } = require_connection(); - var { WebsocketFrameSend } = require_frame(); - var { ByteParser } = require_receiver(); - var { kEnumerableProperty, isBlobLike: isBlobLike2 } = require_util(); - var { getGlobalDispatcher } = require_global2(); - var { types } = require("util"); - var experimentalWarned = false; - var WebSocket = class extends EventTarget { - #events = { - open: null, - error: null, - close: null, - message: null - }; - #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; - constructor(url2, protocols = []) { - super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); - if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols); - url2 = webidl.converters.USVString(url2); - protocols = options.protocols; - const baseURL = getGlobalOrigin(); - let urlRecord; - try { - urlRecord = new URL(url2, baseURL); - } catch (e3) { - throw new DOMException3(e3, "SyntaxError"); - } - if (urlRecord.protocol === "http:") { - urlRecord.protocol = "ws:"; - } else if (urlRecord.protocol === "https:") { - urlRecord.protocol = "wss:"; - } - if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { - throw new DOMException3( - `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); - } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException3("Got fragment", "SyntaxError"); - } - if (typeof protocols === "string") { - protocols = [protocols]; - } - if (protocols.length !== new Set(protocols.map((p3) => p3.toLowerCase())).size) { - throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - if (protocols.length > 0 && !protocols.every((p3) => isValidSubprotocol(p3))) { - throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - this[kWebSocketURL] = new URL(urlRecord.href); - this[kController] = establishWebSocketConnection( - urlRecord, - protocols, - this, - (response) => this.#onConnectionEstablished(response), - options - ); - this[kReadyState] = WebSocket.CONNECTING; - this[kBinaryType] = "blob"; - } - close(code = void 0, reason = void 0) { - webidl.brandCheck(this, WebSocket); - if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); - } - if (reason !== void 0) { - reason = webidl.converters.USVString(reason); - } - if (code !== void 0) { - if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException3("invalid code", "InvalidAccessError"); - } - } - let reasonByteLength = 0; - if (reason !== void 0) { - reasonByteLength = Buffer.byteLength(reason); - if (reasonByteLength > 123) { - throw new DOMException3( - `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); - } - } - if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) { - } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = WebSocket.CLOSING; - } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); - if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); - } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); - } else { - frame.frameData = emptyBuffer; - } - const socket = this[kResponse].socket; - socket.write(frame.createFrame(opcodes.CLOSE), (err) => { - if (!err) { - this[kSentClose] = true; - } - }); - this[kReadyState] = states.CLOSING; - } else { - this[kReadyState] = WebSocket.CLOSING; - } - } - send(data) { - webidl.brandCheck(this, WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); - if (this[kReadyState] === WebSocket.CONNECTING) { - throw new DOMException3("Sent before connected.", "InvalidStateError"); - } - if (!isEstablished(this) || isClosing(this)) { - return; - } - const socket = this[kResponse].socket; - if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); - } else if (isBlobLike2(data)) { - const frame = new WebsocketFrameSend(); - data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); - } - } - get readyState() { - webidl.brandCheck(this, WebSocket); - return this[kReadyState]; - } - get bufferedAmount() { - webidl.brandCheck(this, WebSocket); - return this.#bufferedAmount; - } - get url() { - webidl.brandCheck(this, WebSocket); - return URLSerializer(this[kWebSocketURL]); - } - get extensions() { - webidl.brandCheck(this, WebSocket); - return this.#extensions; - } - get protocol() { - webidl.brandCheck(this, WebSocket); - return this.#protocol; - } - get onopen() { - webidl.brandCheck(this, WebSocket); - return this.#events.open; - } - set onopen(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.open) { - this.removeEventListener("open", this.#events.open); - } - if (typeof fn === "function") { - this.#events.open = fn; - this.addEventListener("open", fn); - } else { - this.#events.open = null; - } - } - get onerror() { - webidl.brandCheck(this, WebSocket); - return this.#events.error; - } - set onerror(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.error) { - this.removeEventListener("error", this.#events.error); - } - if (typeof fn === "function") { - this.#events.error = fn; - this.addEventListener("error", fn); - } else { - this.#events.error = null; - } - } - get onclose() { - webidl.brandCheck(this, WebSocket); - return this.#events.close; - } - set onclose(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.close) { - this.removeEventListener("close", this.#events.close); - } - if (typeof fn === "function") { - this.#events.close = fn; - this.addEventListener("close", fn); - } else { - this.#events.close = null; - } - } - get onmessage() { - webidl.brandCheck(this, WebSocket); - return this.#events.message; - } - set onmessage(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.message) { - this.removeEventListener("message", this.#events.message); - } - if (typeof fn === "function") { - this.#events.message = fn; - this.addEventListener("message", fn); - } else { - this.#events.message = null; - } - } - get binaryType() { - webidl.brandCheck(this, WebSocket); - return this[kBinaryType]; - } - set binaryType(type) { - webidl.brandCheck(this, WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; - } else { - this[kBinaryType] = type; - } - } - #onConnectionEstablished(response) { - this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); - response.socket.ws = this; - this[kByteParser] = parser; - this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); - if (extensions !== null) { - this.#extensions = extensions; - } - const protocol = response.headersList.get("sec-websocket-protocol"); - if (protocol !== null) { - this.#protocol = protocol; - } - fireEvent("open", this); - } - }; - WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; - WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; - WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; - WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; - Object.defineProperties(WebSocket.prototype, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors, - url: kEnumerableProperty, - readyState: kEnumerableProperty, - bufferedAmount: kEnumerableProperty, - onopen: kEnumerableProperty, - onerror: kEnumerableProperty, - onclose: kEnumerableProperty, - close: kEnumerableProperty, - onmessage: kEnumerableProperty, - binaryType: kEnumerableProperty, - send: kEnumerableProperty, - extensions: kEnumerableProperty, - protocol: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "WebSocket", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(WebSocket, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors - }); - webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter( - webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence<DOMString>"] = function(V4) { - if (webidl.util.Type(V4) === "Object" && Symbol.iterator in V4) { - return webidl.converters["sequence<DOMString>"](V4); - } - return webidl.converters.DOMString(V4); - }; - webidl.converters.WebSocketInit = webidl.dictionaryConverter([ - { - key: "protocols", - converter: webidl.converters["DOMString or sequence<DOMString>"], - get defaultValue() { - return []; - } - }, - { - key: "dispatcher", - converter: (V4) => V4, - get defaultValue() { - return getGlobalDispatcher(); - } - }, - { - key: "headers", - converter: webidl.nullableConverter(webidl.converters.HeadersInit) - } - ]); - webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V4) { - if (webidl.util.Type(V4) === "Object" && !(Symbol.iterator in V4)) { - return webidl.converters.WebSocketInit(V4); - } - return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V4) }; - }; - webidl.converters.WebSocketSendData = function(V4) { - if (webidl.util.Type(V4) === "Object") { - if (isBlobLike2(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { - return webidl.converters.BufferSource(V4); - } - } - return webidl.converters.USVString(V4); - }; - module2.exports = { - WebSocket - }; - } -}); - -// node_modules/undici/index.js -var require_undici = __commonJS({ - "node_modules/undici/index.js"(exports, module2) { - "use strict"; - var Client = require_client(); - var Dispatcher = require_dispatcher(); - var errors = require_errors(); - var Pool = require_pool(); - var BalancedPool = require_balanced_pool(); - var Agent = require_agent(); - var util2 = require_util(); - var { InvalidArgumentError } = errors; - var api2 = require_api(); - var buildConnector = require_connect(); - var MockClient = require_mock_client(); - var MockAgent = require_mock_agent(); - var MockPool = require_mock_pool(); - var mockErrors = require_mock_errors(); - var ProxyAgent = require_proxy_agent(); - var RetryHandler = require_RetryHandler(); - var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; - try { - require("crypto"); - hasCrypto = true; - } catch { - hasCrypto = false; - } - Object.assign(Dispatcher.prototype, api2); - module2.exports.Dispatcher = Dispatcher; - module2.exports.Client = Client; - module2.exports.Pool = Pool; - module2.exports.BalancedPool = BalancedPool; - module2.exports.Agent = Agent; - module2.exports.ProxyAgent = ProxyAgent; - module2.exports.RetryHandler = RetryHandler; - module2.exports.DecoratorHandler = DecoratorHandler; - module2.exports.RedirectHandler = RedirectHandler; - module2.exports.createRedirectInterceptor = createRedirectInterceptor; - module2.exports.buildConnector = buildConnector; - module2.exports.errors = errors; - function makeDispatcher(fn) { - return (url2, opts, handler) => { - if (typeof opts === "function") { - handler = opts; - opts = null; - } - if (!url2 || typeof url2 !== "string" && typeof url2 !== "object" && !(url2 instanceof URL)) { - throw new InvalidArgumentError("invalid url"); - } - if (opts != null && typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (opts && opts.path != null) { - if (typeof opts.path !== "string") { - throw new InvalidArgumentError("invalid opts.path"); - } - let path2 = opts.path; - if (!opts.path.startsWith("/")) { - path2 = `/${path2}`; - } - url2 = new URL(util2.parseOrigin(url2).origin + path2); - } else { - if (!opts) { - opts = typeof url2 === "object" ? url2 : {}; - } - url2 = util2.parseURL(url2); - } - const { agent, dispatcher = getGlobalDispatcher() } = opts; - if (agent) { - throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); - } - return fn.call(dispatcher, { - ...opts, - origin: url2.origin, - path: url2.search ? `${url2.pathname}${url2.search}` : url2.pathname, - method: opts.method || (opts.body ? "PUT" : "GET") - }, handler); - }; - } - module2.exports.setGlobalDispatcher = setGlobalDispatcher; - module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util2.nodeMajor > 16 || util2.nodeMajor === 16 && util2.nodeMinor >= 8) { - let fetchImpl = null; - module2.exports.fetch = async function fetch2(resource) { - if (!fetchImpl) { - fetchImpl = require_fetch().fetch; - } - try { - return await fetchImpl(...arguments); - } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; - } - }; - module2.exports.Headers = require_headers().Headers; - module2.exports.Response = require_response().Response; - module2.exports.Request = require_request2().Request; - module2.exports.FormData = require_formdata().FormData; - module2.exports.File = require_file().File; - module2.exports.FileReader = require_filereader().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage(); - const { kConstruct } = require_symbols4(); - module2.exports.caches = new CacheStorage(kConstruct); - } - if (util2.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; - } - if (util2.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket(); - module2.exports.WebSocket = WebSocket; - } - module2.exports.request = makeDispatcher(api2.request); - module2.exports.stream = makeDispatcher(api2.stream); - module2.exports.pipeline = makeDispatcher(api2.pipeline); - module2.exports.connect = makeDispatcher(api2.connect); - module2.exports.upgrade = makeDispatcher(api2.upgrade); - module2.exports.MockClient = MockClient; - module2.exports.MockPool = MockPool; - module2.exports.MockAgent = MockAgent; - module2.exports.mockErrors = mockErrors; - } -}); - // node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ "node_modules/@actions/http-client/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - var desc = Object.getOwnPropertyDescriptor(m4, k4); - if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m4[k4]; - } }; - } - Object.defineProperty(o3, k22, desc); - } : function(o3, m4, k4, k22) { + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; + } }); + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -17511,7 +1063,6 @@ var require_lib = __commonJS({ var https2 = __importStar(require("https")); var pm = __importStar(require_proxy()); var tunnel = __importStar(require_tunnel2()); - var undici_1 = require_undici(); var HttpCodes; (function(HttpCodes2) { HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; @@ -17541,16 +1092,16 @@ var require_lib = __commonJS({ HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes || (exports.HttpCodes = HttpCodes = {})); - var Headers3; - (function(Headers4) { - Headers4["Accept"] = "accept"; - Headers4["ContentType"] = "content-type"; - })(Headers3 || (exports.Headers = Headers3 = {})); + })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); + var Headers; + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers = exports.Headers || (exports.Headers = {})); var MediaTypes; (function(MediaTypes2) { MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes || (exports.MediaTypes = MediaTypes = {})); + })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); return proxyUrl ? proxyUrl.href : ""; @@ -17597,19 +1148,6 @@ var require_lib = __commonJS({ })); }); } - readBodyBuffer() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - const chunks = []; - this.message.on("data", (chunk) => { - chunks.push(chunk); - }); - this.message.on("end", () => { - resolve(Buffer.concat(chunks)); - }); - })); - }); - } }; exports.HttpClientResponse = HttpClientResponse; function isHttps2(requestUrl) { @@ -17697,7 +1235,7 @@ var require_lib = __commonJS({ } getJson(requestUrl, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); const res = yield this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -17705,8 +1243,8 @@ var require_lib = __commonJS({ postJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); const res = yield this.post(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -17714,8 +1252,8 @@ var require_lib = __commonJS({ putJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); const res = yield this.put(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -17723,8 +1261,8 @@ var require_lib = __commonJS({ patchJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); const res = yield this.patch(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -17858,15 +1396,6 @@ var require_lib = __commonJS({ const parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } - getAgentDispatcher(serverUrl) { - const parsedUrl = new URL(serverUrl); - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (!useProxy) { - return; - } - return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); - } _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; @@ -17910,7 +1439,7 @@ var require_lib = __commonJS({ if (this._keepAlive && useProxy) { agent = this._proxyAgent; } - if (!useProxy) { + if (this._keepAlive && !useProxy) { agent = this._agent; } if (agent) { @@ -17939,11 +1468,14 @@ var require_lib = __commonJS({ agent = tunnelAgent(agentOptions); this._proxyAgent = agent; } - if (!agent) { + if (this._keepAlive && !agent) { const options = { keepAlive: this._keepAlive, maxSockets }; agent = usingSsl ? new https2.Agent(options) : new http2.Agent(options); this._agent = agent; } + if (!agent) { + agent = usingSsl ? https2.globalAgent : http2.globalAgent; + } if (usingSsl && this._ignoreSslError) { agent.options = Object.assign(agent.options || {}, { rejectUnauthorized: false @@ -17951,26 +1483,6 @@ var require_lib = __commonJS({ } return agent; } - _getProxyAgentDispatcher(parsedUrl, proxyUrl) { - let proxyAgent; - if (this._keepAlive) { - proxyAgent = this._proxyAgentDispatcher; - } - if (proxyAgent) { - return proxyAgent; - } - const usingSsl = parsedUrl.protocol === "https:"; - proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { - token: `${proxyUrl.username}:${proxyUrl.password}` - })); - this._proxyAgentDispatcher = proxyAgent; - if (usingSsl && this._ignoreSslError) { - proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { - rejectUnauthorized: false - }); - } - return proxyAgent; - } _performExponentialBackoff(retryNumber) { return __awaiter(this, void 0, void 0, function* () { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); @@ -17992,9 +1504,9 @@ var require_lib = __commonJS({ } function dateTimeDeserializer(key, value) { if (typeof value === "string") { - const a3 = new Date(value); - if (!isNaN(a3.valueOf())) { - return a3; + const a2 = new Date(value); + if (!isNaN(a2.valueOf())) { + return a2; } } return value; @@ -18034,7 +1546,7 @@ var require_lib = __commonJS({ } }; exports.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c2, k4) => (c2[k4.toLowerCase()] = obj[k4], c2), {}); + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k3) => (c[k3.toLowerCase()] = obj[k3], c), {}); } }); @@ -18042,25 +1554,25 @@ var require_lib = __commonJS({ var require_auth = __commonJS({ "node_modules/@actions/http-client/lib/auth.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -18139,25 +1651,25 @@ var require_auth = __commonJS({ var require_oidc_utils = __commonJS({ "node_modules/@actions/core/lib/oidc-utils.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -18194,7 +1706,7 @@ var require_oidc_utils = __commonJS({ return runtimeUrl; } static getCall(id_token_url) { - var _a2; + var _a; return __awaiter(this, void 0, void 0, function* () { const httpclient = OidcClient.createHttpClient(); const res = yield httpclient.getJson(id_token_url).catch((error) => { @@ -18202,9 +1714,9 @@ var require_oidc_utils = __commonJS({ Error Code : ${error.statusCode} - Error Message: ${error.message}`); + Error Message: ${error.result.message}`); }); - const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value; + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; if (!id_token) { throw new Error("Response json body do not have ID Token field"); } @@ -18237,25 +1749,25 @@ var require_oidc_utils = __commonJS({ var require_summary = __commonJS({ "node_modules/@actions/core/lib/summary.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -18286,7 +1798,7 @@ var require_summary = __commonJS({ } try { yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a2) { + } catch (_a) { throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); } this._filePath = pathFromEnv; @@ -18402,30 +1914,30 @@ var require_summary = __commonJS({ var require_path_utils = __commonJS({ "node_modules/@actions/core/lib/path-utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; @@ -18452,53 +1964,53 @@ var require_path_utils = __commonJS({ var require_core = __commonJS({ "node_modules/@actions/core/lib/core.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -18597,10 +2109,10 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); return process.env["RUNNER_DEBUG"] === "1"; } exports.isDebug = isDebug; - function debug2(message) { + function debug(message) { command_1.issueCommand("debug", {}, message); } - exports.debug = debug2; + exports.debug = debug; function error(message, properties = {}) { command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } @@ -18681,53 +2193,53 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); var require_io_util = __commonJS({ "node_modules/@actions/io/lib/io-util.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -18736,15 +2248,15 @@ var require_io_util = __commonJS({ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var _a2; + var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; - var fs3 = __importStar(require("fs")); + var fs2 = __importStar(require("fs")); var path2 = __importStar(require("path")); - _a2 = fs3.promises, exports.chmod = _a2.chmod, exports.copyFile = _a2.copyFile, exports.lstat = _a2.lstat, exports.mkdir = _a2.mkdir, exports.open = _a2.open, exports.readdir = _a2.readdir, exports.readlink = _a2.readlink, exports.rename = _a2.rename, exports.rm = _a2.rm, exports.rmdir = _a2.rmdir, exports.stat = _a2.stat, exports.symlink = _a2.symlink, exports.unlink = _a2.unlink; + _a = fs2.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; exports.IS_WINDOWS = process.platform === "win32"; exports.UV_FS_O_EXLOCK = 268435456; - exports.READONLY = fs3.constants.O_RDONLY; + exports.READONLY = fs2.constants.O_RDONLY; function exists(fsPath) { return __awaiter(this, void 0, void 0, function* () { try { @@ -18766,15 +2278,15 @@ var require_io_util = __commonJS({ }); } exports.isDirectory = isDirectory; - function isRooted(p3) { - p3 = normalizeSeparators(p3); - if (!p3) { + function isRooted(p2) { + p2 = normalizeSeparators(p2); + if (!p2) { throw new Error('isRooted() parameter "p" cannot be empty'); } if (exports.IS_WINDOWS) { - return p3.startsWith("\\") || /^[A-Z]:/i.test(p3); + return p2.startsWith("\\") || /^[A-Z]:/i.test(p2); } - return p3.startsWith("/"); + return p2.startsWith("/"); } exports.isRooted = isRooted; function tryGetExecutablePath(filePath, extensions) { @@ -18836,20 +2348,20 @@ var require_io_util = __commonJS({ }); } exports.tryGetExecutablePath = tryGetExecutablePath; - function normalizeSeparators(p3) { - p3 = p3 || ""; + function normalizeSeparators(p2) { + p2 = p2 || ""; if (exports.IS_WINDOWS) { - p3 = p3.replace(/\//g, "\\"); - return p3.replace(/\\\\+/g, "\\"); + p2 = p2.replace(/\//g, "\\"); + return p2.replace(/\\\\+/g, "\\"); } - return p3.replace(/\/\/+/g, "/"); + return p2.replace(/\/\/+/g, "/"); } function isUnixExecutable(stats) { return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); } function getCmdPath() { - var _a3; - return (_a3 = process.env["COMSPEC"]) !== null && _a3 !== void 0 ? _a3 : `cmd.exe`; + var _a2; + return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; } exports.getCmdPath = getCmdPath; } @@ -18859,53 +2371,53 @@ var require_io_util = __commonJS({ var require_io = __commonJS({ "node_modules/@actions/io/lib/io.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -19043,9 +2555,9 @@ var require_io = __commonJS({ } const directories = []; if (process.env.PATH) { - for (const p3 of process.env.PATH.split(path2.delimiter)) { - if (p3) { - directories.push(p3); + for (const p2 of process.env.PATH.split(path2.delimiter)) { + if (p2) { + directories.push(p2); } } } @@ -19092,8 +2604,8 @@ var require_io = __commonJS({ try { yield ioUtil.lstat(destFile); yield ioUtil.unlink(destFile); - } catch (e3) { - if (e3.code === "EPERM") { + } catch (e2) { + if (e2.code === "EPERM") { yield ioUtil.chmod(destFile, "0666"); yield ioUtil.unlink(destFile); } @@ -19112,53 +2624,53 @@ var require_io = __commonJS({ var require_toolrunner = __commonJS({ "node_modules/@actions/exec/lib/toolrunner.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -19199,39 +2711,39 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { cmd += toolPath; - for (const a3 of args) { - cmd += ` ${a3}`; + for (const a2 of args) { + cmd += ` ${a2}`; } } else if (options.windowsVerbatimArguments) { cmd += `"${toolPath}"`; - for (const a3 of args) { - cmd += ` ${a3}`; + for (const a2 of args) { + cmd += ` ${a2}`; } } else { cmd += this._windowsQuoteCmdArg(toolPath); - for (const a3 of args) { - cmd += ` ${this._windowsQuoteCmdArg(a3)}`; + for (const a2 of args) { + cmd += ` ${this._windowsQuoteCmdArg(a2)}`; } } } else { cmd += toolPath; - for (const a3 of args) { - cmd += ` ${a3}`; + for (const a2 of args) { + cmd += ` ${a2}`; } } return cmd; } _processLineBuffer(data, strBuffer, onLine) { try { - let s2 = strBuffer + data.toString(); - let n2 = s2.indexOf(os2.EOL); - while (n2 > -1) { - const line = s2.substring(0, n2); + let s = strBuffer + data.toString(); + let n = s.indexOf(os2.EOL); + while (n > -1) { + const line = s.substring(0, n); onLine(line); - s2 = s2.substring(n2 + os2.EOL.length); - n2 = s2.indexOf(os2.EOL); + s = s.substring(n + os2.EOL.length); + n = s.indexOf(os2.EOL); } - return s2; + return s; } catch (err) { this._debug(`error processing line. Failed with error ${err}`); return ""; @@ -19249,9 +2761,9 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a3 of this.args) { + for (const a2 of this.args) { argline += " "; - argline += options.windowsVerbatimArguments ? a3 : this._windowsQuoteCmdArg(a3); + argline += options.windowsVerbatimArguments ? a2 : this._windowsQuoteCmdArg(a2); } argline += '"'; return [argline]; @@ -19309,11 +2821,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i3 = arg.length; i3 > 0; i3--) { - reverse += arg[i3 - 1]; - if (quoteHit && arg[i3 - 1] === "\\") { + for (let i2 = arg.length; i2 > 0; i2--) { + reverse += arg[i2 - 1]; + if (quoteHit && arg[i2 - 1] === "\\") { reverse += "\\"; - } else if (arg[i3 - 1] === '"') { + } else if (arg[i2 - 1] === '"') { quoteHit = true; reverse += '"'; } else { @@ -19335,11 +2847,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i3 = arg.length; i3 > 0; i3--) { - reverse += arg[i3 - 1]; - if (quoteHit && arg[i3 - 1] === "\\") { + for (let i2 = arg.length; i2 > 0; i2--) { + reverse += arg[i2 - 1]; + if (quoteHit && arg[i2 - 1] === "\\") { reverse += "\\"; - } else if (arg[i3 - 1] === '"') { + } else if (arg[i2 - 1] === '"') { quoteHit = true; reverse += "\\"; } else { @@ -19424,8 +2936,8 @@ var require_toolrunner = __commonJS({ this.options.listeners.stderr(data); } if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s2 = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s2.write(data); + const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s.write(data); } errbuffer = this._processLineBuffer(data, errbuffer, (line) => { if (this.options.listeners && this.options.listeners.errline) { @@ -19483,39 +2995,39 @@ var require_toolrunner = __commonJS({ let inQuotes = false; let escaped = false; let arg = ""; - function append2(c2) { - if (escaped && c2 !== '"') { + function append2(c) { + if (escaped && c !== '"') { arg += "\\"; } - arg += c2; + arg += c; escaped = false; } - for (let i3 = 0; i3 < argString.length; i3++) { - const c2 = argString.charAt(i3); - if (c2 === '"') { + for (let i2 = 0; i2 < argString.length; i2++) { + const c = argString.charAt(i2); + if (c === '"') { if (!escaped) { inQuotes = !inQuotes; } else { - append2(c2); + append2(c); } continue; } - if (c2 === "\\" && escaped) { - append2(c2); + if (c === "\\" && escaped) { + append2(c); continue; } - if (c2 === "\\" && inQuotes) { + if (c === "\\" && inQuotes) { escaped = true; continue; } - if (c2 === " " && !inQuotes) { + if (c === " " && !inQuotes) { if (arg.length > 0) { args.push(arg); arg = ""; } continue; } - append2(c2); + append2(c); } if (arg.length > 0) { args.push(arg.trim()); @@ -19592,53 +3104,53 @@ var require_toolrunner = __commonJS({ var require_exec = __commonJS({ "node_modules/@actions/exec/lib/exec.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -19650,28 +3162,28 @@ var require_exec = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getExecOutput = exports.exec = void 0; var string_decoder_1 = require("string_decoder"); - var tr2 = __importStar(require_toolrunner()); + var tr = __importStar(require_toolrunner()); function exec2(commandLine, args, options) { return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr2.argStringToArray(commandLine); + const commandArgs = tr.argStringToArray(commandLine); if (commandArgs.length === 0) { throw new Error(`Parameter 'commandLine' cannot be null or empty.`); } const toolPath = commandArgs[0]; args = commandArgs.slice(1).concat(args || []); - const runner = new tr2.ToolRunner(toolPath, args, options); + const runner = new tr.ToolRunner(toolPath, args, options); return runner.exec(); }); } exports.exec = exec2; function getExecOutput(commandLine, args, options) { - var _a2, _b; + var _a, _b; return __awaiter(this, void 0, void 0, function* () { let stdout = ""; let stderr = ""; const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a2 === void 0 ? void 0 : _a2.stdout; + const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; const stdErrListener = (data) => { stderr += stderrDecoder.write(data); @@ -19710,7 +3222,7 @@ var require_context = __commonJS({ var os_1 = require("os"); var Context = class { constructor() { - var _a2, _b, _c; + var _a, _b, _c; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { @@ -19729,7 +3241,7 @@ var require_context = __commonJS({ this.job = process.env.GITHUB_JOB; this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a2 = process.env.GITHUB_API_URL) !== null && _a2 !== void 0 ? _a2 : `https://api.github.com`; + this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; } @@ -19756,33 +3268,33 @@ var require_context = __commonJS({ }); // node_modules/@actions/github/lib/internal/utils.js -var require_utils3 = __commonJS({ +var require_utils2 = __commonJS({ "node_modules/@actions/github/lib/internal/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; @@ -19820,7 +3332,7 @@ var require_dist_node = __commonJS({ if (typeof navigator === "object" && "userAgent" in navigator) { return navigator.userAgent; } - if (typeof process === "object" && process.version !== void 0) { + if (typeof process === "object" && "version" in process) { return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } return "<environment undetectable>"; @@ -19861,17 +3373,17 @@ var require_register = __commonJS({ var require_add = __commonJS({ "node_modules/before-after-hook/lib/add.js"(exports, module2) { module2.exports = addHook; - function addHook(state, kind2, name, hook) { + function addHook(state, kind, name, hook) { var orig = hook; if (!state.registry[name]) { state.registry[name] = []; } - if (kind2 === "before") { + if (kind === "before") { hook = function(method, options) { return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); }; } - if (kind2 === "after") { + if (kind === "after") { hook = function(method, options) { var result; return Promise.resolve().then(method.bind(null, options)).then(function(result_) { @@ -19882,7 +3394,7 @@ var require_add = __commonJS({ }); }; } - if (kind2 === "error") { + if (kind === "error") { hook = function(method, options) { return Promise.resolve().then(method.bind(null, options)).catch(function(error) { return orig(error, options); @@ -19931,9 +3443,9 @@ var require_before_after_hook = __commonJS({ ); hook.api = { remove: removeHookRef }; hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function(kind2) { - var args = name ? [state, kind2, name] : [state, kind2]; - hook[kind2] = hook.api[kind2] = bindable(addHook, null).apply(null, args); + ["before", "error", "after", "wrap"].forEach(function(kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); }); } function HookSingular() { @@ -19977,14 +3489,14 @@ var require_is_plain_object = __commonJS({ "node_modules/is-plain-object/dist/is-plain-object.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - function isObject2(o3) { - return Object.prototype.toString.call(o3) === "[object Object]"; + function isObject2(o2) { + return Object.prototype.toString.call(o2) === "[object Object]"; } - function isPlainObject4(o3) { + function isPlainObject2(o2) { var ctor, prot; - if (isObject2(o3) === false) + if (isObject2(o2) === false) return false; - ctor = o3.constructor; + ctor = o2.constructor; if (ctor === void 0) return true; prot = ctor.prototype; @@ -19995,16 +3507,16 @@ var require_is_plain_object = __commonJS({ } return true; } - exports.isPlainObject = isPlainObject4; + exports.isPlainObject = isPlainObject2; } }); -// node_modules/@octokit/endpoint/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js var require_dist_node2 = __commonJS({ - "node_modules/@octokit/endpoint/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var isPlainObject4 = require_is_plain_object(); + var isPlainObject2 = require_is_plain_object(); var universalUserAgent = require_dist_node(); function lowercaseKeys(object) { if (!object) { @@ -20018,7 +3530,7 @@ var require_dist_node2 = __commonJS({ function mergeDeep(defaults2, options) { const result = Object.assign({}, defaults2); Object.keys(options).forEach((key) => { - if (isPlainObject4.isPlainObject(options[key])) { + if (isPlainObject2.isPlainObject(options[key])) { if (!(key in defaults2)) Object.assign(result, { [key]: options[key] @@ -20085,7 +3597,7 @@ var require_dist_node2 = __commonJS({ if (!matches) { return []; } - return matches.map(removeNonChars).reduce((a3, b3) => a3.concat(b3), []); + return matches.map(removeNonChars).reduce((a2, b2) => a2.concat(b2), []); } function omit(object, keysToOmit) { return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { @@ -20102,8 +3614,8 @@ var require_dist_node2 = __commonJS({ }).join(""); } function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c2) { - return "%" + c2.charCodeAt(0).toString(16).toUpperCase(); + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); }); } function encodeValue(operator, value, key) { @@ -20136,9 +3648,9 @@ var require_dist_node2 = __commonJS({ result.push(encodeValue(operator, value2, isKeyOperator(operator) ? key : "")); }); } else { - Object.keys(value).forEach(function(k4) { - if (isDefined(value[k4])) { - result.push(encodeValue(operator, value[k4], k4)); + Object.keys(value).forEach(function(k3) { + if (isDefined(value[k3])) { + result.push(encodeValue(operator, value[k3], k3)); } }); } @@ -20149,10 +3661,10 @@ var require_dist_node2 = __commonJS({ tmp.push(encodeValue(operator, value2)); }); } else { - Object.keys(value).forEach(function(k4) { - if (isDefined(value[k4])) { - tmp.push(encodeUnreserved(k4)); - tmp.push(encodeValue(operator, value[k4].toString())); + Object.keys(value).forEach(function(k3) { + if (isDefined(value[k3])) { + tmp.push(encodeUnreserved(k3)); + tmp.push(encodeValue(operator, value[k3].toString())); } }); } @@ -20183,7 +3695,7 @@ var require_dist_node2 = __commonJS({ } function expand(template, context2) { var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_3, expression, literal) { + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_2, expression, literal) { if (expression) { let operator = ""; const values = []; @@ -20279,8 +3791,8 @@ var require_dist_node2 = __commonJS({ parse }); } - var VERSION4 = "6.0.12"; - var userAgent = `octokit-endpoint.js/${VERSION4} ${universalUserAgent.getUserAgent()}`; + var VERSION3 = "6.0.12"; + var userAgent = `octokit-endpoint.js/${VERSION3} ${universalUserAgent.getUserAgent()}`; var DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -20322,10 +3834,10 @@ var require_lib2 = __commonJS({ const upperBound = Math.pow(2, bitLength) - 1; const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function(V4, opts) { + return function(V2, opts) { if (!opts) opts = {}; - let x2 = +V4; + let x2 = +V2; if (opts.enforceRange) { if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite number"); @@ -20375,15 +3887,15 @@ var require_lib2 = __commonJS({ conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions["double"] = function(V4) { - const x2 = +V4; + conversions["double"] = function(V2) { + const x2 = +V2; if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite floating-point value"); } return x2; }; - conversions["unrestricted double"] = function(V4) { - const x2 = +V4; + conversions["unrestricted double"] = function(V2) { + const x2 = +V2; if (isNaN(x2)) { throw new TypeError("Argument is NaN"); } @@ -20391,44 +3903,44 @@ var require_lib2 = __commonJS({ }; conversions["float"] = conversions["double"]; conversions["unrestricted float"] = conversions["unrestricted double"]; - conversions["DOMString"] = function(V4, opts) { + conversions["DOMString"] = function(V2, opts) { if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V4 === null) { + if (opts.treatNullAsEmptyString && V2 === null) { return ""; } - return String(V4); + return String(V2); }; - conversions["ByteString"] = function(V4, opts) { - const x2 = String(V4); - let c2 = void 0; - for (let i3 = 0; (c2 = x2.codePointAt(i3)) !== void 0; ++i3) { - if (c2 > 255) { + conversions["ByteString"] = function(V2, opts) { + const x2 = String(V2); + let c = void 0; + for (let i2 = 0; (c = x2.codePointAt(i2)) !== void 0; ++i2) { + if (c > 255) { throw new TypeError("Argument is not a valid bytestring"); } } return x2; }; - conversions["USVString"] = function(V4) { - const S3 = String(V4); - const n2 = S3.length; + conversions["USVString"] = function(V2) { + const S2 = String(V2); + const n = S2.length; const U5 = []; - for (let i3 = 0; i3 < n2; ++i3) { - const c2 = S3.charCodeAt(i3); - if (c2 < 55296 || c2 > 57343) { - U5.push(String.fromCodePoint(c2)); - } else if (56320 <= c2 && c2 <= 57343) { + for (let i2 = 0; i2 < n; ++i2) { + const c = S2.charCodeAt(i2); + if (c < 55296 || c > 57343) { + U5.push(String.fromCodePoint(c)); + } else if (56320 <= c && c <= 57343) { U5.push(String.fromCodePoint(65533)); } else { - if (i3 === n2 - 1) { + if (i2 === n - 1) { U5.push(String.fromCodePoint(65533)); } else { - const d5 = S3.charCodeAt(i3 + 1); - if (56320 <= d5 && d5 <= 57343) { - const a3 = c2 & 1023; - const b3 = d5 & 1023; - U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a3 + b3)); - ++i3; + const d4 = S2.charCodeAt(i2 + 1); + if (56320 <= d4 && d4 <= 57343) { + const a2 = c & 1023; + const b2 = d4 & 1023; + U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a2 + b2)); + ++i2; } else { U5.push(String.fromCodePoint(65533)); } @@ -20437,32 +3949,32 @@ var require_lib2 = __commonJS({ } return U5.join(""); }; - conversions["Date"] = function(V4, opts) { - if (!(V4 instanceof Date)) { + conversions["Date"] = function(V2, opts) { + if (!(V2 instanceof Date)) { throw new TypeError("Argument is not a Date object"); } - if (isNaN(V4)) { + if (isNaN(V2)) { return void 0; } - return V4; + return V2; }; - conversions["RegExp"] = function(V4, opts) { - if (!(V4 instanceof RegExp)) { - V4 = new RegExp(V4); + conversions["RegExp"] = function(V2, opts) { + if (!(V2 instanceof RegExp)) { + V2 = new RegExp(V2); } - return V4; + return V2; }; } }); // node_modules/whatwg-url/lib/utils.js -var require_utils4 = __commonJS({ +var require_utils3 = __commonJS({ "node_modules/whatwg-url/lib/utils.js"(exports, module2) { "use strict"; module2.exports.mixin = function mixin(target, source) { const keys = Object.getOwnPropertyNames(source); - for (let i3 = 0; i3 < keys.length; ++i3) { - Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); + for (let i2 = 0; i2 < keys.length; ++i2) { + Object.defineProperty(target, keys[i2], Object.getOwnPropertyDescriptor(source, keys[i2])); } }; module2.exports.wrapperSymbol = Symbol("wrapper"); @@ -20494,8 +4006,8 @@ var require_tr46 = __commonJS({ NONTRANSITIONAL: 1 }; function normalize(str) { - return str.split("\0").map(function(s2) { - return s2.normalize("NFC"); + return str.split("\0").map(function(s) { + return s.normalize("NFC"); }).join("\0"); } function findStatus(val) { @@ -20522,8 +4034,8 @@ var require_tr46 = __commonJS({ var hasError = false; var processed = ""; var len = countSymbols(domain_name); - for (var i3 = 0; i3 < len; ++i3) { - var codePoint = domain_name.codePointAt(i3); + for (var i2 = 0; i2 < len; ++i2) { + var codePoint = domain_name.codePointAt(i2); var status = findStatus(codePoint); switch (status[1]) { case "disallowed": @@ -20577,8 +4089,8 @@ var require_tr46 = __commonJS({ error = true; } var len = countSymbols(label); - for (var i3 = 0; i3 < len; ++i3) { - var status = findStatus(label.codePointAt(i3)); + for (var i2 = 0; i2 < len; ++i2) { + var status = findStatus(label.codePointAt(i2)); if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { error = true; break; @@ -20593,12 +4105,12 @@ var require_tr46 = __commonJS({ var result = mapChars(domain_name, useSTD3, processing_option); result.string = normalize(result.string); var labels = result.string.split("."); - for (var i3 = 0; i3 < labels.length; ++i3) { + for (var i2 = 0; i2 < labels.length; ++i2) { try { - var validation = validateLabel(labels[i3]); - labels[i3] = validation.label; + var validation = validateLabel(labels[i2]); + labels[i2] = validation.label; result.error = result.error || validation.error; - } catch (e3) { + } catch (e2) { result.error = true; } } @@ -20610,12 +4122,12 @@ var require_tr46 = __commonJS({ module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { var result = processing(domain_name, useSTD3, processing_option); var labels = result.string.split("."); - labels = labels.map(function(l3) { + labels = labels.map(function(l) { try { - return punycode.toASCII(l3); - } catch (e3) { + return punycode.toASCII(l); + } catch (e2) { result.error = true; - return l3; + return l; } }); if (verifyDnsLength) { @@ -20623,7 +4135,7 @@ var require_tr46 = __commonJS({ if (total.length > 253 || total.length === 0) { result.error = true; } - for (var i3 = 0; i3 < labels.length; ++i3) { + for (var i2 = 0; i2 < labels.length; ++i2) { if (labels.length > 63 || labels.length === 0) { result.error = true; break; @@ -20664,21 +4176,21 @@ var require_url_state_machine = __commonJS({ function countSymbols(str) { return punycode.ucs2.decode(str).length; } - function at2(input, idx) { - const c2 = input[idx]; - return isNaN(c2) ? void 0 : String.fromCodePoint(c2); + function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? void 0 : String.fromCodePoint(c); } - function isASCIIDigit(c2) { - return c2 >= 48 && c2 <= 57; + function isASCIIDigit(c) { + return c >= 48 && c <= 57; } - function isASCIIAlpha(c2) { - return c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122; + function isASCIIAlpha(c) { + return c >= 65 && c <= 90 || c >= 97 && c <= 122; } - function isASCIIAlphanumeric(c2) { - return isASCIIAlpha(c2) || isASCIIDigit(c2); + function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); } - function isASCIIHex(c2) { - return isASCIIDigit(c2) || c2 >= 65 && c2 <= 70 || c2 >= 97 && c2 <= 102; + function isASCIIHex(c) { + return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; } function isSingleDot(buffer) { return buffer === "." || buffer.toLowerCase() === "%2e"; @@ -20711,50 +4223,50 @@ var require_url_state_machine = __commonJS({ function defaultPort(scheme) { return specialSchemes[scheme]; } - function percentEncode(c2) { - let hex = c2.toString(16).toUpperCase(); + function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); if (hex.length === 1) { hex = "0" + hex; } return "%" + hex; } - function utf8PercentEncode(c2) { - const buf = new Buffer(c2); + function utf8PercentEncode(c) { + const buf = new Buffer(c); let str = ""; - for (let i3 = 0; i3 < buf.length; ++i3) { - str += percentEncode(buf[i3]); + for (let i2 = 0; i2 < buf.length; ++i2) { + str += percentEncode(buf[i2]); } return str; } function utf8PercentDecode(str) { const input = new Buffer(str); const output = []; - for (let i3 = 0; i3 < input.length; ++i3) { - if (input[i3] !== 37) { - output.push(input[i3]); - } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { - output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); - i3 += 2; + for (let i2 = 0; i2 < input.length; ++i2) { + if (input[i2] !== 37) { + output.push(input[i2]); + } else if (input[i2] === 37 && isASCIIHex(input[i2 + 1]) && isASCIIHex(input[i2 + 2])) { + output.push(parseInt(input.slice(i2 + 1, i2 + 3).toString(), 16)); + i2 += 2; } else { - output.push(input[i3]); + output.push(input[i2]); } } return new Buffer(output).toString(); } - function isC0ControlPercentEncode(c2) { - return c2 <= 31 || c2 > 126; + function isC0ControlPercentEncode(c) { + return c <= 31 || c > 126; } var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c2) { - return isC0ControlPercentEncode(c2) || extraPathPercentEncodeSet.has(c2); + function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); } var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c2) { - return isPathPercentEncode(c2) || extraUserinfoPercentEncodeSet.has(c2); + function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); } - function percentEncodeChar(c2, encodeSetPredicate) { - const cStr = String.fromCodePoint(c2); - if (encodeSetPredicate(c2)) { + function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + if (encodeSetPredicate(c)) { return utf8PercentEncode(cStr); } return cStr; @@ -20792,14 +4304,14 @@ var require_url_state_machine = __commonJS({ if (part === "") { return input; } - const n2 = parseIPv4Number(part); - if (n2 === failure) { + const n = parseIPv4Number(part); + if (n === failure) { return input; } - numbers.push(n2); + numbers.push(n); } - for (let i3 = 0; i3 < numbers.length - 1; ++i3) { - if (numbers[i3] > 255) { + for (let i2 = 0; i2 < numbers.length - 1; ++i2) { + if (numbers[i2] > 255) { return failure; } } @@ -20808,21 +4320,21 @@ var require_url_state_machine = __commonJS({ } let ipv4 = numbers.pop(); let counter = 0; - for (const n2 of numbers) { - ipv4 += n2 * Math.pow(256, 3 - counter); + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); ++counter; } return ipv4; } function serializeIPv4(address) { let output = ""; - let n2 = address; - for (let i3 = 1; i3 <= 4; ++i3) { - output = String(n2 % 256) + output; - if (i3 !== 4) { + let n = address; + for (let i2 = 1; i2 <= 4; ++i2) { + output = String(n % 256) + output; + if (i2 !== 4) { output = "." + output; } - n2 = Math.floor(n2 / 256); + n = Math.floor(n / 256); } return output; } @@ -20856,7 +4368,7 @@ var require_url_state_machine = __commonJS({ let value = 0; let length = 0; while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at2(input, pointer), 16); + value = value * 16 + parseInt(at(input, pointer), 16); ++pointer; ++length; } @@ -20882,7 +4394,7 @@ var require_url_state_machine = __commonJS({ return failure; } while (isASCIIDigit(input[pointer])) { - const number = parseInt(at2(input, pointer)); + const number = parseInt(at(input, pointer)); if (ipv4Piece === null) { ipv4Piece = number; } else if (ipv4Piece === 0) { @@ -20985,8 +4497,8 @@ var require_url_state_machine = __commonJS({ } let output = ""; const decoded = punycode.ucs2.decode(input); - for (let i3 = 0; i3 < decoded.length; ++i3) { - output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); + for (let i2 = 0; i2 < decoded.length; ++i2) { + output += percentEncodeChar(decoded[i2], isC0ControlPercentEncode); } return output; } @@ -20995,8 +4507,8 @@ var require_url_state_machine = __commonJS({ let maxLen = 1; let currStart = null; let currLen = 0; - for (let i3 = 0; i3 < arr.length; ++i3) { - if (arr[i3] !== 0) { + for (let i2 = 0; i2 < arr.length; ++i2) { + if (arr[i2] !== 0) { if (currLen > maxLen) { maxIdx = currStart; maxLen = currLen; @@ -21005,7 +4517,7 @@ var require_url_state_machine = __commonJS({ currLen = 0; } else { if (currStart === null) { - currStart = i3; + currStart = i2; } ++currLen; } @@ -21092,9 +4604,9 @@ var require_url_state_machine = __commonJS({ this.passwordTokenSeenFlag = false; this.input = punycode.ucs2.decode(this.input); for (; this.pointer <= this.input.length; ++this.pointer) { - const c2 = this.input[this.pointer]; - const cStr = isNaN(c2) ? void 0 : String.fromCodePoint(c2); - const ret = this["parse " + this.state](c2, cStr); + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); + const ret = this["parse " + this.state](c, cStr); if (!ret) { break; } else if (ret === failure) { @@ -21103,8 +4615,8 @@ var require_url_state_machine = __commonJS({ } } } - URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c2, cStr) { - if (isASCIIAlpha(c2)) { + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { this.buffer += cStr.toLowerCase(); this.state = "scheme"; } else if (!this.stateOverride) { @@ -21116,10 +4628,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse scheme"] = function parseScheme(c2, cStr) { - if (isASCIIAlphanumeric(c2) || c2 === 43 || c2 === 45 || c2 === 46) { + URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { this.buffer += cStr.toLowerCase(); - } else if (c2 === 58) { + } else if (c === 58) { if (this.stateOverride) { if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { return false; @@ -21166,10 +4678,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c2) { - if (this.base === null || this.base.cannotBeABaseURL && c2 !== 35) { + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { return failure; - } else if (this.base.cannotBeABaseURL && c2 === 35) { + } else if (this.base.cannotBeABaseURL && c === 35) { this.url.scheme = this.base.scheme; this.url.path = this.base.path.slice(); this.url.query = this.base.query; @@ -21185,8 +4697,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c2) { - if (c2 === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -21196,8 +4708,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c2) { - if (c2 === 47) { + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { this.state = "authority"; } else { this.state = "path"; @@ -21205,18 +4717,18 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative"] = function parseRelative(c2) { + URLStateMachine.prototype["parse relative"] = function parseRelative(c) { this.url.scheme = this.base.scheme; - if (isNaN(c2)) { + if (isNaN(c)) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; this.url.port = this.base.port; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c2 === 47) { + } else if (c === 47) { this.state = "relative slash"; - } else if (c2 === 63) { + } else if (c === 63) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -21224,7 +4736,7 @@ var require_url_state_machine = __commonJS({ this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c2 === 35) { + } else if (c === 35) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -21233,7 +4745,7 @@ var require_url_state_machine = __commonJS({ this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; - } else if (isSpecial(this.url) && c2 === 92) { + } else if (isSpecial(this.url) && c === 92) { this.parseError = true; this.state = "relative slash"; } else { @@ -21247,13 +4759,13 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c2) { - if (isSpecial(this.url) && (c2 === 47 || c2 === 92)) { - if (c2 === 92) { + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { this.parseError = true; } this.state = "special authority ignore slashes"; - } else if (c2 === 47) { + } else if (c === 47) { this.state = "authority"; } else { this.url.username = this.base.username; @@ -21265,8 +4777,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c2) { - if (c2 === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -21276,8 +4788,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c2) { - if (c2 !== 47 && c2 !== 92) { + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { this.state = "authority"; --this.pointer; } else { @@ -21285,8 +4797,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse authority"] = function parseAuthority(c2, cStr) { - if (c2 === 64) { + URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { this.parseError = true; if (this.atFlag) { this.buffer = "%40" + this.buffer; @@ -21307,7 +4819,7 @@ var require_url_state_machine = __commonJS({ } } this.buffer = ""; - } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { if (this.atFlag && this.buffer === "") { this.parseError = true; return failure; @@ -21320,11 +4832,11 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c2, cStr) { + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { if (this.stateOverride && this.url.scheme === "file") { --this.pointer; this.state = "file host"; - } else if (c2 === 58 && !this.arrFlag) { + } else if (c === 58 && !this.arrFlag) { if (this.buffer === "") { this.parseError = true; return failure; @@ -21339,7 +4851,7 @@ var require_url_state_machine = __commonJS({ if (this.stateOverride === "hostname") { return false; } - } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { --this.pointer; if (isSpecial(this.url) && this.buffer === "") { this.parseError = true; @@ -21359,19 +4871,19 @@ var require_url_state_machine = __commonJS({ return false; } } else { - if (c2 === 91) { + if (c === 91) { this.arrFlag = true; - } else if (c2 === 93) { + } else if (c === 93) { this.arrFlag = false; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse port"] = function parsePort(c2, cStr) { - if (isASCIIDigit(c2)) { + URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { this.buffer += cStr; - } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92 || this.stateOverride) { + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { if (this.buffer !== "") { const port = parseInt(this.buffer); if (port > Math.pow(2, 16) - 1) { @@ -21393,31 +4905,31 @@ var require_url_state_machine = __commonJS({ return true; }; var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype["parse file"] = function parseFile(c2) { + URLStateMachine.prototype["parse file"] = function parseFile(c) { this.url.scheme = "file"; - if (c2 === 47 || c2 === 92) { - if (c2 === 92) { + if (c === 47 || c === 92) { + if (c === 92) { this.parseError = true; } this.state = "file slash"; } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c2)) { + if (isNaN(c)) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c2 === 63) { + } else if (c === 63) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c2 === 35) { + } else if (c === 35) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; } else { - if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c2, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); shortenPath(this.url); @@ -21433,9 +4945,9 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c2) { - if (c2 === 47 || c2 === 92) { - if (c2 === 92) { + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { this.parseError = true; } this.state = "file host"; @@ -21452,8 +4964,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file host"] = function parseFileHost(c2, cStr) { - if (isNaN(c2) || c2 === 47 || c2 === 92 || c2 === 63 || c2 === 35) { + URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { --this.pointer; if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { this.parseError = true; @@ -21484,40 +4996,40 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path start"] = function parsePathStart(c2) { + URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { if (isSpecial(this.url)) { - if (c2 === 92) { + if (c === 92) { this.parseError = true; } this.state = "path"; - if (c2 !== 47 && c2 !== 92) { + if (c !== 47 && c !== 92) { --this.pointer; } - } else if (!this.stateOverride && c2 === 63) { + } else if (!this.stateOverride && c === 63) { this.url.query = ""; this.state = "query"; - } else if (!this.stateOverride && c2 === 35) { + } else if (!this.stateOverride && c === 35) { this.url.fragment = ""; this.state = "fragment"; - } else if (c2 !== void 0) { + } else if (c !== void 0) { this.state = "path"; - if (c2 !== 47) { + if (c !== 47) { --this.pointer; } } return true; }; - URLStateMachine.prototype["parse path"] = function parsePath(c2) { - if (isNaN(c2) || c2 === 47 || isSpecial(this.url) && c2 === 92 || !this.stateOverride && (c2 === 63 || c2 === 35)) { - if (isSpecial(this.url) && c2 === 92) { + URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { + if (isSpecial(this.url) && c === 92) { this.parseError = true; } if (isDoubleDot(this.buffer)) { shortenPath(this.url); - if (c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { this.url.path.push(""); } - } else if (isSingleDot(this.buffer) && c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { + } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { this.url.path.push(""); } else if (!isSingleDot(this.buffer)) { if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { @@ -21530,83 +5042,83 @@ var require_url_state_machine = __commonJS({ this.url.path.push(this.buffer); } this.buffer = ""; - if (this.url.scheme === "file" && (c2 === void 0 || c2 === 63 || c2 === 35)) { + if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { while (this.url.path.length > 1 && this.url.path[0] === "") { this.parseError = true; this.url.path.shift(); } } - if (c2 === 63) { + if (c === 63) { this.url.query = ""; this.state = "query"; } - if (c2 === 35) { + if (c === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.buffer += percentEncodeChar(c2, isPathPercentEncode); + this.buffer += percentEncodeChar(c, isPathPercentEncode); } return true; }; - URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c2) { - if (c2 === 63) { + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { this.url.query = ""; this.state = "query"; - } else if (c2 === 35) { + } else if (c === 35) { this.url.fragment = ""; this.state = "fragment"; } else { - if (!isNaN(c2) && c2 !== 37) { + if (!isNaN(c) && c !== 37) { this.parseError = true; } - if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - if (!isNaN(c2)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c2, isC0ControlPercentEncode); + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); } } return true; }; - URLStateMachine.prototype["parse query"] = function parseQuery(c2, cStr) { - if (isNaN(c2) || !this.stateOverride && c2 === 35) { + URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || !this.stateOverride && c === 35) { if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { this.encodingOverride = "utf-8"; } const buffer = new Buffer(this.buffer); - for (let i3 = 0; i3 < buffer.length; ++i3) { - if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { - this.url.query += percentEncode(buffer[i3]); + for (let i2 = 0; i2 < buffer.length; ++i2) { + if (buffer[i2] < 33 || buffer[i2] > 126 || buffer[i2] === 34 || buffer[i2] === 35 || buffer[i2] === 60 || buffer[i2] === 62) { + this.url.query += percentEncode(buffer[i2]); } else { - this.url.query += String.fromCodePoint(buffer[i3]); + this.url.query += String.fromCodePoint(buffer[i2]); } } this.buffer = ""; - if (c2 === 35) { + if (c === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse fragment"] = function parseFragment(c2) { - if (isNaN(c2)) { - } else if (c2 === 0) { + URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { + } else if (c === 0) { this.parseError = true; } else { - if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.url.fragment += percentEncodeChar(c2, isC0ControlPercentEncode); + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); } return true; }; @@ -21657,7 +5169,7 @@ var require_url_state_machine = __commonJS({ case "blob": try { return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); - } catch (e3) { + } catch (e2) { return "null"; } case "ftp": @@ -21690,15 +5202,15 @@ var require_url_state_machine = __commonJS({ module2.exports.setTheUsername = function(url2, username) { url2.username = ""; const decoded = punycode.ucs2.decode(username); - for (let i3 = 0; i3 < decoded.length; ++i3) { - url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + for (let i2 = 0; i2 < decoded.length; ++i2) { + url2.username += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); } }; module2.exports.setThePassword = function(url2, password) { url2.password = ""; const decoded = punycode.ucs2.decode(password); - for (let i3 = 0; i3 < decoded.length; ++i3) { - url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + for (let i2 = 0; i2 < decoded.length; ++i2) { + url2.password += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); } }; module2.exports.serializeHost = serializeHost; @@ -21877,7 +5389,7 @@ var require_URL = __commonJS({ "node_modules/whatwg-url/lib/URL.js"(exports, module2) { "use strict"; var conversions = require_lib2(); - var utils = require_utils4(); + var utils = require_utils3(); var Impl = require_URL_impl(); var impl = utils.implSymbol; function URL2(url2) { @@ -21888,8 +5400,8 @@ var require_URL = __commonJS({ throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); } const args = []; - for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { - args[i3] = arguments[i3]; + for (let i2 = 0; i2 < arguments.length && i2 < 2; ++i2) { + args[i2] = arguments[i2]; } args[0] = conversions["USVString"](args[0]); if (args[1] !== void 0) { @@ -21902,8 +5414,8 @@ var require_URL = __commonJS({ throw new TypeError("Illegal invocation"); } const args = []; - for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { - args[i3] = arguments[i3]; + for (let i2 = 0; i2 < arguments.length && i2 < 0; ++i2) { + args[i2] = arguments[i2]; } return this[impl].toJSON.apply(this[impl], args); }; @@ -21911,9 +5423,9 @@ var require_URL = __commonJS({ get() { return this[impl].href; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].href = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].href = V2; }, enumerable: true, configurable: true @@ -21935,9 +5447,9 @@ var require_URL = __commonJS({ get() { return this[impl].protocol; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].protocol = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].protocol = V2; }, enumerable: true, configurable: true @@ -21946,9 +5458,9 @@ var require_URL = __commonJS({ get() { return this[impl].username; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].username = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].username = V2; }, enumerable: true, configurable: true @@ -21957,9 +5469,9 @@ var require_URL = __commonJS({ get() { return this[impl].password; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].password = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].password = V2; }, enumerable: true, configurable: true @@ -21968,9 +5480,9 @@ var require_URL = __commonJS({ get() { return this[impl].host; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].host = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].host = V2; }, enumerable: true, configurable: true @@ -21979,9 +5491,9 @@ var require_URL = __commonJS({ get() { return this[impl].hostname; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].hostname = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].hostname = V2; }, enumerable: true, configurable: true @@ -21990,9 +5502,9 @@ var require_URL = __commonJS({ get() { return this[impl].port; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].port = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].port = V2; }, enumerable: true, configurable: true @@ -22001,9 +5513,9 @@ var require_URL = __commonJS({ get() { return this[impl].pathname; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].pathname = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].pathname = V2; }, enumerable: true, configurable: true @@ -22012,9 +5524,9 @@ var require_URL = __commonJS({ get() { return this[impl].search; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].search = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].search = V2; }, enumerable: true, configurable: true @@ -22023,9 +5535,9 @@ var require_URL = __commonJS({ get() { return this[impl].hash; }, - set(V4) { - V4 = conversions["USVString"](V4); - this[impl].hash = V4; + set(V2) { + V2 = conversions["USVString"](V2); + this[impl].hash = V2; }, enumerable: true, configurable: true @@ -22079,16 +5591,16 @@ var require_lib3 = __commonJS({ function _interopDefault(ex) { return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; } - var Stream2 = _interopDefault(require("stream")); + var Stream = _interopDefault(require("stream")); var http2 = _interopDefault(require("http")); var Url = _interopDefault(require("url")); var whatwgUrl = _interopDefault(require_public_api()); var https2 = _interopDefault(require("https")); var zlib2 = _interopDefault(require("zlib")); - var Readable3 = Stream2.Readable; + var Readable2 = Stream.Readable; var BUFFER = Symbol("buffer"); var TYPE = Symbol("type"); - var Blob4 = class { + var Blob2 = class { constructor() { this[TYPE] = ""; const blobParts = arguments[0]; @@ -22096,10 +5608,10 @@ var require_lib3 = __commonJS({ const buffers = []; let size = 0; if (blobParts) { - const a3 = blobParts; - const length = Number(a3.length); - for (let i3 = 0; i3 < length; i3++) { - const element = a3[i3]; + const a2 = blobParts; + const length = Number(a2.length); + for (let i2 = 0; i2 < length; i2++) { + const element = a2[i2]; let buffer; if (element instanceof Buffer) { buffer = element; @@ -22107,7 +5619,7 @@ var require_lib3 = __commonJS({ buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); } else if (element instanceof ArrayBuffer) { buffer = Buffer.from(element); - } else if (element instanceof Blob4) { + } else if (element instanceof Blob2) { buffer = element[BUFFER]; } else { buffer = Buffer.from(typeof element === "string" ? element : String(element)); @@ -22137,7 +5649,7 @@ var require_lib3 = __commonJS({ return Promise.resolve(ab); } stream() { - const readable = new Readable3(); + const readable = new Readable2(); readable._read = function() { }; readable.push(this[BUFFER]); @@ -22169,17 +5681,17 @@ var require_lib3 = __commonJS({ const span = Math.max(relativeEnd - relativeStart, 0); const buffer = this[BUFFER]; const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob4([], { type: arguments[2] }); + const blob = new Blob2([], { type: arguments[2] }); blob[BUFFER] = slicedBuffer; return blob; } }; - Object.defineProperties(Blob4.prototype, { + Object.defineProperties(Blob2.prototype, { size: { enumerable: true }, type: { enumerable: true }, slice: { enumerable: true } }); - Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { + Object.defineProperty(Blob2.prototype, Symbol.toStringTag, { value: "Blob", writable: false, enumerable: false, @@ -22200,10 +5712,10 @@ var require_lib3 = __commonJS({ var convert; try { convert = require("encoding").convert; - } catch (e3) { + } catch (e2) { } var INTERNALS = Symbol("Body internals"); - var PassThrough = Stream2.PassThrough; + var PassThrough = Stream.PassThrough; function Body(body) { var _this = this; var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; @@ -22214,7 +5726,7 @@ var require_lib3 = __commonJS({ body = null; } else if (isURLSearchParams2(body)) { body = Buffer.from(body.toString()); - } else if (isBlob3(body)) + } else if (isBlob2(body)) ; else if (Buffer.isBuffer(body)) ; @@ -22222,7 +5734,7 @@ var require_lib3 = __commonJS({ body = Buffer.from(body); } else if (ArrayBuffer.isView(body)) { body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream2) + } else if (body instanceof Stream) ; else { body = Buffer.from(String(body)); @@ -22234,7 +5746,7 @@ var require_lib3 = __commonJS({ }; this.size = size; this.timeout = timeout; - if (body instanceof Stream2) { + if (body instanceof Stream) { body.on("error", function(err) { const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); _this[INTERNALS].error = error; @@ -22254,11 +5766,11 @@ var require_lib3 = __commonJS({ }); }, blob() { - let ct2 = this.headers && this.headers.get("content-type") || ""; + let ct = this.headers && this.headers.get("content-type") || ""; return consumeBody.call(this).then(function(buf) { return Object.assign( - new Blob4([], { - type: ct2.toLowerCase() + new Blob2([], { + type: ct.toLowerCase() }), { [BUFFER]: buf @@ -22320,13 +5832,13 @@ var require_lib3 = __commonJS({ if (body === null) { return Body.Promise.resolve(Buffer.alloc(0)); } - if (isBlob3(body)) { + if (isBlob2(body)) { body = body.stream(); } if (Buffer.isBuffer(body)) { return Body.Promise.resolve(body); } - if (!(body instanceof Stream2)) { + if (!(body instanceof Stream)) { return Body.Promise.resolve(Buffer.alloc(0)); } let accum = []; @@ -22377,11 +5889,11 @@ var require_lib3 = __commonJS({ if (typeof convert !== "function") { throw new Error("The package `encoding` must be installed to use the textConverted() function"); } - const ct2 = headers.get("content-type"); + const ct = headers.get("content-type"); let charset = "utf-8"; let res, str; - if (ct2) { - res = /charset=([^;]*)/i.exec(ct2); + if (ct) { + res = /charset=([^;]*)/i.exec(ct); } str = buffer.slice(0, 1024).toString(); if (!res && str) { @@ -22416,22 +5928,22 @@ var require_lib3 = __commonJS({ } return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; } - function isBlob3(obj) { + function isBlob2(obj) { return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); } function clone(instance) { - let p1, p22; + let p1, p2; let body = instance.body; if (instance.bodyUsed) { throw new Error("cannot clone body after it is used"); } - if (body instanceof Stream2 && typeof body.getBoundary !== "function") { + if (body instanceof Stream && typeof body.getBoundary !== "function") { p1 = new PassThrough(); - p22 = new PassThrough(); + p2 = new PassThrough(); body.pipe(p1); - body.pipe(p22); + body.pipe(p2); instance[INTERNALS].body = p1; - body = p22; + body = p2; } return body; } @@ -22442,7 +5954,7 @@ var require_lib3 = __commonJS({ return "text/plain;charset=UTF-8"; } else if (isURLSearchParams2(body)) { return "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isBlob3(body)) { + } else if (isBlob2(body)) { return body.type || null; } else if (Buffer.isBuffer(body)) { return null; @@ -22452,7 +5964,7 @@ var require_lib3 = __commonJS({ return null; } else if (typeof body.getBoundary === "function") { return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream2) { + } else if (body instanceof Stream) { return null; } else { return "text/plain;charset=UTF-8"; @@ -22462,7 +5974,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { return 0; - } else if (isBlob3(body)) { + } else if (isBlob2(body)) { return body.size; } else if (Buffer.isBuffer(body)) { return body.length; @@ -22479,7 +5991,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { dest.end(); - } else if (isBlob3(body)) { + } else if (isBlob2(body)) { body.stream().pipe(dest); } else if (Buffer.isBuffer(body)) { dest.write(body); @@ -22513,11 +6025,11 @@ var require_lib3 = __commonJS({ return void 0; } var MAP = Symbol("map"); - var Headers3 = class { + var Headers = class { constructor() { let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof Headers3) { + if (init instanceof Headers) { const rawHeaders = init.raw(); const headerNames = Object.keys(rawHeaders); for (const headerName of headerNames) { @@ -22570,13 +6082,13 @@ var require_lib3 = __commonJS({ forEach(callback) { let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; let pairs = getHeaders(this); - let i3 = 0; - while (i3 < pairs.length) { - var _pairs$i = pairs[i3]; + let i2 = 0; + while (i2 < pairs.length) { + var _pairs$i = pairs[i2]; const name = _pairs$i[0], value = _pairs$i[1]; callback.call(thisArg, value, name, this); pairs = getHeaders(this); - i3++; + i2++; } } set(name, value) { @@ -22625,14 +6137,14 @@ var require_lib3 = __commonJS({ return createHeadersIterator(this, "key+value"); } }; - Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; - Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { + Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + Object.defineProperty(Headers.prototype, Symbol.toStringTag, { value: "Headers", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Headers3.prototype, { + Object.defineProperties(Headers.prototype, { get: { enumerable: true }, forEach: { enumerable: true }, set: { enumerable: true }, @@ -22644,22 +6156,22 @@ var require_lib3 = __commonJS({ entries: { enumerable: true } }); function getHeaders(headers) { - let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind2 === "key" ? function(k4) { - return k4.toLowerCase(); - } : kind2 === "value" ? function(k4) { - return headers[MAP][k4].join(", "); - } : function(k4) { - return [k4.toLowerCase(), headers[MAP][k4].join(", ")]; + return keys.map(kind === "key" ? function(k3) { + return k3.toLowerCase(); + } : kind === "value" ? function(k3) { + return headers[MAP][k3].join(", "); + } : function(k3) { + return [k3.toLowerCase(), headers[MAP][k3].join(", ")]; }); } var INTERNAL = Symbol("internal"); - function createHeadersIterator(target, kind2) { + function createHeadersIterator(target, kind) { const iterator = Object.create(HeadersIteratorPrototype); iterator[INTERNAL] = { target, - kind: kind2, + kind, index: 0 }; return iterator; @@ -22670,8 +6182,8 @@ var require_lib3 = __commonJS({ throw new TypeError("Value of `this` is not a HeadersIterator"); } var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; - const values = getHeaders(target, kind2); + const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind); const len = values.length; if (index >= len) { return { @@ -22701,7 +6213,7 @@ var require_lib3 = __commonJS({ return obj; } function createHeadersLenient(obj) { - const headers = new Headers3(); + const headers = new Headers(); for (const name of Object.keys(obj)) { if (invalidTokenRegex.test(name)) { continue; @@ -22725,13 +6237,13 @@ var require_lib3 = __commonJS({ } var INTERNALS$1 = Symbol("Response internals"); var STATUS_CODES = http2.STATUS_CODES; - var Response3 = class { + var Response = class { constructor() { let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; Body.call(this, body, opts); const status = opts.status || 200; - const headers = new Headers3(opts.headers); + const headers = new Headers(opts.headers); if (body != null && !headers.has("Content-Type")) { const contentType = extractContentType(body); if (contentType) { @@ -22765,7 +6277,7 @@ var require_lib3 = __commonJS({ return this[INTERNALS$1].headers; } clone() { - return new Response3(clone(this), { + return new Response(clone(this), { url: this.url, status: this.status, statusText: this.statusText, @@ -22775,8 +6287,8 @@ var require_lib3 = __commonJS({ }); } }; - Body.mixIn(Response3.prototype); - Object.defineProperties(Response3.prototype, { + Body.mixIn(Response.prototype); + Object.defineProperties(Response.prototype, { url: { enumerable: true }, status: { enumerable: true }, ok: { enumerable: true }, @@ -22785,7 +6297,7 @@ var require_lib3 = __commonJS({ headers: { enumerable: true }, clone: { enumerable: true } }); - Object.defineProperty(Response3.prototype, Symbol.toStringTag, { + Object.defineProperty(Response.prototype, Symbol.toStringTag, { value: "Response", writable: false, enumerable: false, @@ -22801,7 +6313,7 @@ var require_lib3 = __commonJS({ } return parse_url(urlStr); } - var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; + var streamDestructionSupported = "destroy" in Stream.Readable.prototype; function isRequest(input) { return typeof input === "object" && typeof input[INTERNALS$2] === "object"; } @@ -22809,7 +6321,7 @@ var require_lib3 = __commonJS({ const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); return !!(proto2 && proto2.constructor.name === "AbortSignal"); } - var Request3 = class { + var Request = class { constructor(input) { let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; let parsedURL; @@ -22833,7 +6345,7 @@ var require_lib3 = __commonJS({ timeout: init.timeout || input.timeout || 0, size: init.size || input.size || 0 }); - const headers = new Headers3(init.headers || input.headers || {}); + const headers = new Headers(init.headers || input.headers || {}); if (inputBody != null && !headers.has("Content-Type")) { const contentType = extractContentType(inputBody); if (contentType) { @@ -22874,17 +6386,17 @@ var require_lib3 = __commonJS({ return this[INTERNALS$2].signal; } clone() { - return new Request3(this); + return new Request(this); } }; - Body.mixIn(Request3.prototype); - Object.defineProperty(Request3.prototype, Symbol.toStringTag, { + Body.mixIn(Request.prototype); + Object.defineProperty(Request.prototype, Symbol.toStringTag, { value: "Request", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Request3.prototype, { + Object.defineProperties(Request.prototype, { method: { enumerable: true }, url: { enumerable: true }, headers: { enumerable: true }, @@ -22894,7 +6406,7 @@ var require_lib3 = __commonJS({ }); function getNodeRequestOptions(request) { const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers3(request[INTERNALS$2].headers); + const headers = new Headers(request[INTERNALS$2].headers); if (!headers.has("Accept")) { headers.set("Accept", "*/*"); } @@ -22904,7 +6416,7 @@ var require_lib3 = __commonJS({ if (!/^https?:$/.test(parsedURL.protocol)) { throw new TypeError("Only HTTP(S) protocols are supported"); } - if (request.signal && request.body instanceof Stream2.Readable && !streamDestructionSupported) { + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); } let contentLengthValue = null; @@ -22930,6 +6442,9 @@ var require_lib3 = __commonJS({ if (typeof agent === "function") { agent = agent(parsedURL); } + if (!headers.has("Connection") && !agent) { + headers.set("Connection", "close"); + } return Object.assign({}, parsedURL, { method: request.method, headers: exportNodeCompatibleHeaders(headers), @@ -22946,7 +6461,7 @@ var require_lib3 = __commonJS({ AbortError.prototype.constructor = AbortError; AbortError.prototype.name = "AbortError"; var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream2.PassThrough; + var PassThrough$1 = Stream.PassThrough; var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { const orig = new URL$1(original).hostname; const dest = new URL$1(destination).hostname; @@ -22957,13 +6472,13 @@ var require_lib3 = __commonJS({ const dest = new URL$1(destination).protocol; return orig === dest; }; - function fetch2(url2, opts) { - if (!fetch2.Promise) { + function fetch(url2, opts) { + if (!fetch.Promise) { throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); } - Body.Promise = fetch2.Promise; - return new fetch2.Promise(function(resolve, reject) { - const request = new Request3(url2, opts); + Body.Promise = fetch.Promise; + return new fetch.Promise(function(resolve, reject) { + const request = new Request(url2, opts); const options = getNodeRequestOptions(request); const send = (options.protocol === "https:" ? https2 : http2).request; const signal = request.signal; @@ -22971,7 +6486,7 @@ var require_lib3 = __commonJS({ const abort = function abort2() { let error = new AbortError("The user aborted a request."); reject(error); - if (request.body && request.body instanceof Stream2.Readable) { + if (request.body && request.body instanceof Stream.Readable) { destroyStream(request.body, error); } if (!response || !response.body) @@ -23021,9 +6536,9 @@ var require_lib3 = __commonJS({ } }); if (parseInt(process.version.substring(1)) < 14) { - req.on("socket", function(s2) { - s2.addListener("close", function(hadError) { - const hasDataListener = s2.listenerCount("data") > 0; + req.on("socket", function(s) { + s.addListener("close", function(hadError) { + const hasDataListener = s.listenerCount("data") > 0; if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -23035,7 +6550,7 @@ var require_lib3 = __commonJS({ req.on("response", function(res) { clearTimeout(reqTimeout); const headers = createHeadersLenient(res.headers); - if (fetch2.isRedirect(res.statusCode)) { + if (fetch.isRedirect(res.statusCode)) { const location = headers.get("Location"); let locationURL = null; try { @@ -23071,7 +6586,7 @@ var require_lib3 = __commonJS({ return; } const requestOpts = { - headers: new Headers3(request.headers), + headers: new Headers(request.headers), follow: request.follow, counter: request.counter + 1, agent: request.agent, @@ -23097,7 +6612,7 @@ var require_lib3 = __commonJS({ requestOpts.body = void 0; requestOpts.headers.delete("content-length"); } - resolve(fetch2(new Request3(locationURL, requestOpts))); + resolve(fetch(new Request(locationURL, requestOpts))); finalize(); return; } @@ -23118,7 +6633,7 @@ var require_lib3 = __commonJS({ }; const codings = headers.get("Content-Encoding"); if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); return; } @@ -23128,7 +6643,7 @@ var require_lib3 = __commonJS({ }; if (codings == "gzip" || codings == "x-gzip") { body = body.pipe(zlib2.createGunzip(zlibOptions2)); - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); return; } @@ -23140,12 +6655,12 @@ var require_lib3 = __commonJS({ } else { body = body.pipe(zlib2.createInflateRaw()); } - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); }); raw.on("end", function() { if (!response) { - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); } }); @@ -23153,11 +6668,11 @@ var require_lib3 = __commonJS({ } if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") { body = body.pipe(zlib2.createBrotliDecompress()); - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); return; } - response = new Response3(body, response_options); + response = new Response(body, response_options); resolve(response); }); writeToStream(req, request); @@ -23165,14 +6680,14 @@ var require_lib3 = __commonJS({ } function fixResponseChunkedTransferBadEnding(request, errorCallback) { let socket; - request.on("socket", function(s2) { - socket = s2; + request.on("socket", function(s) { + socket = s; }); request.on("response", function(response) { const headers = response.headers; if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { response.once("close", function(hadError) { - const hasDataListener = socket && socket.listenerCount("data") > 0; + const hasDataListener = socket.listenerCount("data") > 0; if (hasDataListener && !hadError) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -23190,18 +6705,17 @@ var require_lib3 = __commonJS({ stream4.end(); } } - fetch2.isRedirect = function(code) { + fetch.isRedirect = function(code) { return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; }; - fetch2.Promise = global.Promise; - module2.exports = exports = fetch2; + fetch.Promise = global.Promise; + module2.exports = exports = fetch; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports; - exports.Headers = Headers3; - exports.Request = Request3; - exports.Response = Response3; + exports.Headers = Headers; + exports.Request = Request; + exports.Response = Response; exports.FetchError = FetchError; - exports.AbortError = AbortError; } }); @@ -23232,20 +6746,20 @@ var require_wrappy = __commonJS({ return wrappy(fn)(cb); if (typeof fn !== "function") throw new TypeError("need wrapper function"); - Object.keys(fn).forEach(function(k4) { - wrapper[k4] = fn[k4]; + Object.keys(fn).forEach(function(k3) { + wrapper[k3] = fn[k3]; }); return wrapper; function wrapper() { var args = new Array(arguments.length); - for (var i3 = 0; i3 < args.length; i3++) { - args[i3] = arguments[i3]; + for (var i2 = 0; i2 < args.length; i2++) { + args[i2] = arguments[i2]; } var ret = fn.apply(this, args); var cb2 = args[args.length - 1]; if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k4) { - ret[k4] = cb2[k4]; + Object.keys(cb2).forEach(function(k3) { + ret[k3] = cb2[k3]; }); } return ret; @@ -23275,33 +6789,33 @@ var require_once = __commonJS({ }); }); function once(fn) { - var f4 = function() { - if (f4.called) - return f4.value; - f4.called = true; - return f4.value = fn.apply(this, arguments); + var f3 = function() { + if (f3.called) + return f3.value; + f3.called = true; + return f3.value = fn.apply(this, arguments); }; - f4.called = false; - return f4; + f3.called = false; + return f3; } function onceStrict(fn) { - var f4 = function() { - if (f4.called) - throw new Error(f4.onceError); - f4.called = true; - return f4.value = fn.apply(this, arguments); + var f3 = function() { + if (f3.called) + throw new Error(f3.onceError); + f3.called = true; + return f3.value = fn.apply(this, arguments); }; var name = fn.name || "Function wrapped with `once`"; - f4.onceError = name + " shouldn't be called more than once"; - f4.called = false; - return f4; + f3.onceError = name + " shouldn't be called more than once"; + f3.called = false; + return f3; } } }); -// node_modules/@octokit/request-error/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js var require_dist_node4 = __commonJS({ - "node_modules/@octokit/request-error/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -23353,9 +6867,9 @@ var require_dist_node4 = __commonJS({ } }); -// node_modules/@octokit/request/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js var require_dist_node5 = __commonJS({ - "node_modules/@octokit/request/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -23363,23 +6877,23 @@ var require_dist_node5 = __commonJS({ } var endpoint = require_dist_node2(); var universalUserAgent = require_dist_node(); - var isPlainObject4 = require_is_plain_object(); + var isPlainObject2 = require_is_plain_object(); var nodeFetch = _interopDefault(require_lib3()); var requestError = require_dist_node4(); - var VERSION4 = "5.6.3"; + var VERSION3 = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject4.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + if (isPlainObject2.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } let headers = {}; let status; let url2; - const fetch2 = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch2(requestOptions.url, Object.assign( + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign( { method: requestOptions.method, body: requestOptions.body, @@ -23499,24 +7013,24 @@ var require_dist_node5 = __commonJS({ } var request = withDefaults(endpoint.endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION4} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION3} ${universalUserAgent.getUserAgent()}` } }); exports.request = request; } }); -// node_modules/@octokit/graphql/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js var require_dist_node6 = __commonJS({ - "node_modules/@octokit/graphql/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var request = require_dist_node5(); var universalUserAgent = require_dist_node(); - var VERSION4 = "4.8.0"; + var VERSION3 = "4.8.0"; function _buildMessageForResponseErrors(data) { return `Request failed due to following response errors: -` + data.errors.map((e3) => ` - ${e3.message}`).join("\n"); +` + data.errors.map((e2) => ` - ${e2.message}`).join("\n"); } var GraphqlResponseError = class extends Error { constructor(request2, headers, response) { @@ -23587,7 +7101,7 @@ var require_dist_node6 = __commonJS({ } var graphql$1 = withDefaults(request.request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION4} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION3} ${universalUserAgent.getUserAgent()}` }, method: "POST", url: "/graphql" @@ -23604,9 +7118,9 @@ var require_dist_node6 = __commonJS({ } }); -// node_modules/@octokit/auth-token/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js var require_dist_node7 = __commonJS({ - "node_modules/@octokit/auth-token/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; @@ -23650,9 +7164,9 @@ var require_dist_node7 = __commonJS({ } }); -// node_modules/@octokit/core/dist-node/index.js +// node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js var require_dist_node8 = __commonJS({ - "node_modules/@octokit/core/dist-node/index.js"(exports) { + "node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var universalUserAgent = require_dist_node(); @@ -23665,9 +7179,9 @@ var require_dist_node8 = __commonJS({ return {}; var target = {}; var sourceKeys = Object.keys(source); - var key, i3; - for (i3 = 0; i3 < sourceKeys.length; i3++) { - key = sourceKeys[i3]; + var key, i2; + for (i2 = 0; i2 < sourceKeys.length; i2++) { + key = sourceKeys[i2]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; @@ -23678,11 +7192,11 @@ var require_dist_node8 = __commonJS({ if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i3; + var key, i2; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i3 = 0; i3 < sourceSymbolKeys.length; i3++) { - key = sourceSymbolKeys[i3]; + for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) { + key = sourceSymbolKeys[i2]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) @@ -23692,7 +7206,7 @@ var require_dist_node8 = __commonJS({ } return target; } - var VERSION4 = "3.6.0"; + var VERSION3 = "3.6.0"; var _excluded = ["authStrategy"]; var Octokit = class { constructor(options = {}) { @@ -23708,7 +7222,7 @@ var require_dist_node8 = __commonJS({ format: "" } }; - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION4} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION3} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -23773,14 +7287,14 @@ var require_dist_node8 = __commonJS({ return OctokitWithDefaults; } static plugin(...newPlugins) { - var _a2; + var _a; const currentPlugins = this.plugins; - const NewOctokit = (_a2 = class extends this { - }, _a2.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a2); + const NewOctokit = (_a = class extends this { + }, _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a); return NewOctokit; } }; - Octokit.VERSION = VERSION4; + Octokit.VERSION = VERSION3; Octokit.plugins = []; exports.Octokit = Octokit; } @@ -23805,9 +7319,9 @@ var require_dist_node9 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i3 = 1; i3 < arguments.length; i3++) { - var source = arguments[i3] != null ? arguments[i3] : {}; - if (i3 % 2) { + for (var i2 = 1; i2 < arguments.length; i2++) { + var source = arguments[i2] != null ? arguments[i2] : {}; + if (i2 % 2) { ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }); @@ -24782,7 +8296,7 @@ var require_dist_node9 = __commonJS({ updateAuthenticated: ["PATCH /user"] } }; - var VERSION4 = "5.16.2"; + var VERSION3 = "5.16.2"; function endpointsToMethods(octokit2, endpointsMap) { const newMethods = {}; for (const [scope, endpoints] of Object.entries(endpointsMap)) { @@ -24847,14 +8361,14 @@ var require_dist_node9 = __commonJS({ rest: api2 }; } - restEndpointMethods.VERSION = VERSION4; + restEndpointMethods.VERSION = VERSION3; function legacyRestEndpointMethods(octokit2) { const api2 = endpointsToMethods(octokit2, Endpoints); return _objectSpread2(_objectSpread2({}, api2), {}, { rest: api2 }); } - legacyRestEndpointMethods.VERSION = VERSION4; + legacyRestEndpointMethods.VERSION = VERSION3; exports.legacyRestEndpointMethods = legacyRestEndpointMethods; exports.restEndpointMethods = restEndpointMethods; } @@ -24865,7 +8379,7 @@ var require_dist_node10 = __commonJS({ "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var VERSION4 = "2.21.3"; + var VERSION3 = "2.21.3"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -24877,9 +8391,9 @@ var require_dist_node10 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i3 = 1; i3 < arguments.length; i3++) { - var source = null != arguments[i3] ? arguments[i3] : {}; - i3 % 2 ? ownKeys(Object(source), true).forEach(function(key) { + for (var i2 = 1; i2 < arguments.length; i2++) { + var source = null != arguments[i2] ? arguments[i2] : {}; + i2 % 2 ? ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); @@ -25008,7 +8522,7 @@ var require_dist_node10 = __commonJS({ }) }; } - paginateRest.VERSION = VERSION4; + paginateRest.VERSION = VERSION3; exports.composePaginateRest = composePaginateRest; exports.isPaginatingEndpoint = isPaginatingEndpoint; exports.paginateRest = paginateRest; @@ -25017,33 +8531,33 @@ var require_dist_node10 = __commonJS({ }); // node_modules/@actions/github/lib/utils.js -var require_utils5 = __commonJS({ +var require_utils4 = __commonJS({ "node_modules/@actions/github/lib/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; @@ -25051,7 +8565,7 @@ var require_utils5 = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; var Context = __importStar(require_context()); - var Utils = __importStar(require_utils3()); + var Utils = __importStar(require_utils2()); var core_1 = require_dist_node8(); var plugin_rest_endpoint_methods_1 = require_dist_node9(); var plugin_paginate_rest_1 = require_dist_node10(); @@ -25080,30 +8594,30 @@ var require_utils5 = __commonJS({ var require_github = __commonJS({ "node_modules/@actions/github/lib/github.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { - Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); - } : function(o3, v2) { - o3["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { + Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); + } : function(o2, v2) { + o2["default"] = v2; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k4 in mod) - if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) - __createBinding(result, mod, k4); + for (var k3 in mod) + if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) + __createBinding(result, mod, k3); } __setModuleDefault(result, mod); return result; @@ -25111,7 +8625,7 @@ var require_github = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokit = exports.context = void 0; var Context = __importStar(require_context()); - var utils_1 = require_utils5(); + var utils_1 = require_utils4(); exports.context = new Context.Context(); function getOctokit(token, options, ...additionalPlugins) { const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); @@ -25171,8 +8685,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i3 = 0; i3 < count; i3++) - clear += this.line + (i3 < count - 1 ? cursor.up() : ""); + for (let i2 = 0; i2 < count; i2++) + clear += this.line + (i2 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -25200,7 +8714,7 @@ var require_picocolors = __commonJS({ }; var createColors = (enabled = isColorSupported) => ({ isColorSupported: enabled, - reset: enabled ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, + reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, @@ -25238,8 +8752,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i3 = 0; i3 < args.length; i3++) { - args[i3] = arguments[i3]; + for (var i2 = 0; i2 < args.length; i2++) { + args[i2] = arguments[i2]; } return fn.apply(thisArg, args); }; @@ -25248,7 +8762,7 @@ var require_bind = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/utils.js -var require_utils6 = __commonJS({ +var require_utils5 = __commonJS({ "node_modules/openai/node_modules/axios/lib/utils.js"(exports, module2) { "use strict"; var bind2 = require_bind(); @@ -25265,7 +8779,7 @@ var require_utils6 = __commonJS({ function isArrayBuffer2(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData3(val) { + function isFormData2(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -25286,7 +8800,7 @@ var require_utils6 = __commonJS({ function isObject2(val) { return val !== null && typeof val === "object"; } - function isPlainObject4(val) { + function isPlainObject2(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -25296,17 +8810,17 @@ var require_utils6 = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile3(val) { + function isFile2(val) { return toString3.call(val) === "[object File]"; } - function isBlob3(val) { + function isBlob2(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction4(val) { + function isFunction2(val) { return toString3.call(val) === "[object Function]"; } function isStream2(val) { - return isObject2(val) && isFunction4(val.pipe); + return isObject2(val) && isFunction2(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -25328,8 +8842,8 @@ var require_utils6 = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { - fn.call(null, obj[i3], i3, obj); + for (var i2 = 0, l = obj.length; i2 < l; i2++) { + fn.call(null, obj[i2], i2, obj); } } else { for (var key in obj) { @@ -25342,9 +8856,9 @@ var require_utils6 = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject4(result[key]) && isPlainObject4(val)) { + if (isPlainObject2(result[key]) && isPlainObject2(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject4(val)) { + } else if (isPlainObject2(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -25352,20 +8866,20 @@ var require_utils6 = __commonJS({ result[key] = val; } } - for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { - forEach2(arguments[i3], assignValue); + for (var i2 = 0, l = arguments.length; i2 < l; i2++) { + forEach2(arguments[i2], assignValue); } return result; } - function extend2(a3, b3, thisArg) { - forEach2(b3, function assignValue(val, key) { + function extend2(a2, b2, thisArg) { + forEach2(b2, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a3[key] = bind2(val, thisArg); + a2[key] = bind2(val, thisArg); } else { - a3[key] = val; + a2[key] = val; } }); - return a3; + return a2; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -25377,17 +8891,17 @@ var require_utils6 = __commonJS({ isArray: isArray2, isArrayBuffer: isArrayBuffer2, isBuffer: isBuffer2, - isFormData: isFormData3, + isFormData: isFormData2, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, isObject: isObject2, - isPlainObject: isPlainObject4, + isPlainObject: isPlainObject2, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile3, - isBlob: isBlob3, - isFunction: isFunction4, + isFile: isFile2, + isBlob: isBlob2, + isFunction: isFunction2, isStream: isStream2, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, @@ -25404,7 +8918,7 @@ var require_utils6 = __commonJS({ var require_buildURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/buildURL.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } @@ -25455,7 +8969,7 @@ var require_buildURL = __commonJS({ var require_InterceptorManager = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/InterceptorManager.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); function InterceptorManager2() { this.handlers = []; } @@ -25474,9 +8988,9 @@ var require_InterceptorManager = __commonJS({ } }; InterceptorManager2.prototype.forEach = function forEach2(fn) { - utils.forEach(this.handlers, function forEachHandler(h3) { - if (h3 !== null) { - fn(h3); + utils.forEach(this.handlers, function forEachHandler(h2) { + if (h2 !== null) { + fn(h2); } }); }; @@ -25488,7 +9002,7 @@ var require_InterceptorManager = __commonJS({ var require_normalizeHeaderName = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/normalizeHeaderName.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); module2.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { @@ -25504,8 +9018,8 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config8, code, request, response) { - error.config = config8; + module2.exports = function enhanceError(error, config7, code, request, response) { + error.config = config7; if (code) { error.code = code; } @@ -25549,9 +9063,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config8, code, request, response) { + module2.exports = function createError(message, config7, code, request, response) { var error = new Error(message); - return enhanceError(error, config8, code, request, response); + return enhanceError(error, config7, code, request, response); }; } }); @@ -25579,11 +9093,11 @@ var require_settle = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/helpers/cookies.js -var require_cookies2 = __commonJS({ +var require_cookies = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; - var utils = require_utils6(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { + var utils = require_utils5(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { return { write: function write(name, value, expires, path2, domain, secure) { var cookie = []; @@ -25610,7 +9124,7 @@ var require_cookies2 = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv2() { + }() : function nonStandardBrowserEnv3() { return { write: function write() { }, @@ -25628,7 +9142,7 @@ var require_cookies2 = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL3(url2) { + module2.exports = function isAbsoluteURL2(url2) { return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); }; } @@ -25648,10 +9162,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL3 = require_isAbsoluteURL(); + var isAbsoluteURL2 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL3(requestedURL)) { + if (baseURL && !isAbsoluteURL2(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -25663,7 +9177,7 @@ var require_buildFullPath = __commonJS({ var require_parseHeaders = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/parseHeaders.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var ignoreDuplicateOf2 = [ "age", "authorization", @@ -25687,14 +9201,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i3; + var i2; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i3 = line.indexOf(":"); - key = utils.trim(line.substr(0, i3)).toLowerCase(); - val = utils.trim(line.substr(i3 + 1)); + i2 = line.indexOf(":"); + key = utils.trim(line.substr(0, i2)).toLowerCase(); + val = utils.trim(line.substr(i2 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -25715,8 +9229,8 @@ var require_parseHeaders = __commonJS({ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; - var utils = require_utils6(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { + var utils = require_utils5(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; @@ -25743,7 +9257,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv2() { + }() : function nonStandardBrowserEnv3() { return function isURLSameOrigin() { return true; }; @@ -25770,9 +9284,9 @@ var require_Cancel = __commonJS({ var require_xhr = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/xhr.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var settle2 = require_settle(); - var cookies = require_cookies2(); + var cookies = require_cookies(); var buildURL2 = require_buildURL(); var buildFullPath2 = require_buildFullPath(); var parseHeaders = require_parseHeaders(); @@ -25780,32 +9294,32 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config8) { + module2.exports = function xhrAdapter(config7) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config8.data; - var requestHeaders = config8.headers; - var responseType = config8.responseType; + var requestData = config7.data; + var requestHeaders = config7.headers; + var responseType = config7.responseType; var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config7.cancelToken) { + config7.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config7.signal) { + config7.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } var request = new XMLHttpRequest(); - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + if (config7.auth) { + var username = config7.auth.username || ""; + var password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL2(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + var fullPath = buildFullPath2(config7.baseURL, config7.url); + request.open(config7.method.toUpperCase(), buildURL2(fullPath, config7.params, config7.paramsSerializer), true); + request.timeout = config7.timeout; function onloadend() { if (!request) { return; @@ -25817,7 +9331,7 @@ var require_xhr = __commonJS({ status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config8, + config: config7, request }; settle2(function _resolve(value) { @@ -25846,31 +9360,31 @@ var require_xhr = __commonJS({ if (!request) { return; } - reject(createError("Request aborted", config8, "ECONNABORTED", request)); + reject(createError("Request aborted", config7, "ECONNABORTED", request)); request = null; }; request.onerror = function handleError() { - reject(createError("Network Error", config8, null, request)); + reject(createError("Network Error", config7, null, request)); request = null; }; request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config8.transitional || transitionalDefaults; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + var timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config7.transitional || transitionalDefaults; + if (config7.timeoutErrorMessage) { + timeoutErrorMessage = config7.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config8, + config7, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", request )); request = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config8.withCredentials || isURLSameOrigin(fullPath)) && config8.xsrfCookieName ? cookies.read(config8.xsrfCookieName) : void 0; + var xsrfValue = (config7.withCredentials || isURLSameOrigin(fullPath)) && config7.xsrfCookieName ? cookies.read(config7.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config8.xsrfHeaderName] = xsrfValue; + requestHeaders[config7.xsrfHeaderName] = xsrfValue; } } if ("setRequestHeader" in request) { @@ -25882,19 +9396,19 @@ var require_xhr = __commonJS({ } }); } - if (!utils.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils.isUndefined(config7.withCredentials)) { + request.withCredentials = !!config7.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request.responseType = config7.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", config8.onDownloadProgress); + if (typeof config7.onDownloadProgress === "function") { + request.addEventListener("progress", config7.onDownloadProgress); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config8.onUploadProgress); + if (typeof config7.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", config7.onUploadProgress); } - if (config8.cancelToken || config8.signal) { + if (config7.cancelToken || config7.signal) { onCanceled = function(cancel) { if (!request) { return; @@ -25903,9 +9417,9 @@ var require_xhr = __commonJS({ request.abort(); request = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config7.cancelToken && config7.cancelToken.subscribe(onCanceled); + if (config7.signal) { + config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); } } if (!requestData) { @@ -25920,12 +9434,12 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s2 = 1e3; - var m4 = s2 * 60; - var h3 = m4 * 60; - var d5 = h3 * 24; - var w4 = d5 * 7; - var y4 = d5 * 365.25; + var s = 1e3; + var m3 = s * 60; + var h2 = m3 * 60; + var d4 = h2 * 24; + var w3 = d4 * 7; + var y4 = d4 * 365.25; module2.exports = function(val, options) { options = options || {}; var type = typeof val; @@ -25949,7 +9463,7 @@ var require_ms = __commonJS({ if (!match) { return; } - var n2 = parseFloat(match[1]); + var n = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": @@ -25957,78 +9471,78 @@ var require_ms = __commonJS({ case "yrs": case "yr": case "y": - return n2 * y4; + return n * y4; case "weeks": case "week": case "w": - return n2 * w4; + return n * w3; case "days": case "day": case "d": - return n2 * d5; + return n * d4; case "hours": case "hour": case "hrs": case "hr": case "h": - return n2 * h3; + return n * h2; case "minutes": case "minute": case "mins": case "min": case "m": - return n2 * m4; + return n * m3; case "seconds": case "second": case "secs": case "sec": case "s": - return n2 * s2; + return n * s; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n2; + return n; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d5) { - return Math.round(ms / d5) + "d"; + if (msAbs >= d4) { + return Math.round(ms / d4) + "d"; } - if (msAbs >= h3) { - return Math.round(ms / h3) + "h"; + if (msAbs >= h2) { + return Math.round(ms / h2) + "h"; } - if (msAbs >= m4) { - return Math.round(ms / m4) + "m"; + if (msAbs >= m3) { + return Math.round(ms / m3) + "m"; } - if (msAbs >= s2) { - return Math.round(ms / s2) + "s"; + if (msAbs >= s) { + return Math.round(ms / s) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d5) { - return plural(ms, msAbs, d5, "day"); + if (msAbs >= d4) { + return plural(ms, msAbs, d4, "day"); } - if (msAbs >= h3) { - return plural(ms, msAbs, h3, "hour"); + if (msAbs >= h2) { + return plural(ms, msAbs, h2, "hour"); } - if (msAbs >= m4) { - return plural(ms, msAbs, m4, "minute"); + if (msAbs >= m3) { + return plural(ms, msAbs, m3, "minute"); } - if (msAbs >= s2) { - return plural(ms, msAbs, s2, "second"); + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n2, name) { - var isPlural = msAbs >= n2 * 1.5; - return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); } } }); @@ -26053,8 +9567,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i3 = 0; i3 < namespace.length; i3++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i3); + for (let i2 = 0; i2 < namespace.length; i2++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i2); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -26065,11 +9579,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug2(...args) { - if (!debug2.enabled) { + function debug(...args) { + if (!debug.enabled) { return; } - const self2 = debug2; + const self2 = debug; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -26099,12 +9613,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug2.namespace = namespace; - debug2.useColors = createDebug.useColors(); - debug2.color = createDebug.selectColor(namespace); - debug2.extend = extend2; - debug2.destroy = createDebug.destroy; - Object.defineProperty(debug2, "enabled", { + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend2; + debug.destroy = createDebug.destroy; + Object.defineProperty(debug, "enabled", { enumerable: true, configurable: false, get: () => { @@ -26122,9 +9636,9 @@ var require_common = __commonJS({ } }); if (typeof createDebug.init === "function") { - createDebug.init(debug2); + createDebug.init(debug); } - return debug2; + return debug; } function extend2(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); @@ -26136,14 +9650,14 @@ var require_common = __commonJS({ createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i3; + let i2; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i3 = 0; i3 < len; i3++) { - if (!split[i3]) { + for (i2 = 0; i2 < len; i2++) { + if (!split[i2]) { continue; } - namespaces = split[i3].replace(/\*/g, ".*?"); + namespaces = split[i2].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -26163,15 +9677,15 @@ var require_common = __commonJS({ if (name[name.length - 1] === "*") { return true; } - let i3; + let i2; let len; - for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { - if (createDebug.skips[i3].test(name)) { + for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { + if (createDebug.skips[i2].test(name)) { return false; } } - for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { - if (createDebug.names[i3].test(name)) { + for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { + if (createDebug.names[i2].test(name)) { return true; } } @@ -26305,8 +9819,8 @@ var require_browser = __commonJS({ if (!this.useColors) { return; } - const c2 = "color: " + this.color; - args.splice(1, 0, c2, "color: inherit"); + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); let index = 0; let lastC = 0; args[0].replace(/%[a-zA-Z%]/g, (match) => { @@ -26318,7 +9832,7 @@ var require_browser = __commonJS({ lastC = index; } }); - args.splice(lastC, 0, c2); + args.splice(lastC, 0, c); } exports.log = console.debug || console.log || (() => { }); @@ -26333,15 +9847,15 @@ var require_browser = __commonJS({ } } function load() { - let r3; + let r2; try { - r3 = exports.storage.getItem("debug"); + r2 = exports.storage.getItem("debug"); } catch (error) { } - if (!r3 && typeof process !== "undefined" && "env" in process) { - r3 = process.env.DEBUG; + if (!r2 && typeof process !== "undefined" && "env" in process) { + r2 = process.env.DEBUG; } - return r3; + return r2; } function localstorage() { try { @@ -26580,8 +10094,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_3, k4) => { - return k4.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k3) => { + return k3.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -26602,8 +10116,8 @@ var require_node = __commonJS({ function formatArgs(args) { const { namespace: name, useColors: useColors2 } = this; if (useColors2) { - const c2 = this.color; - const colorCode = "\x1B[3" + (c2 < 8 ? c2 : "8;5;" + c2); + const c = this.color; + const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); const prefix = ` ${colorCode};1m${name} \x1B[0m`; args[0] = prefix + args[0].split("\n").join("\n" + prefix); args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); @@ -26630,11 +10144,11 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug2) { - debug2.inspectOpts = {}; + function init(debug) { + debug.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i3 = 0; i3 < keys.length; i3++) { - debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; + for (let i2 = 0; i2 < keys.length; i2++) { + debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; } } module2.exports = require_common()(exports); @@ -26664,19 +10178,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug2; + var debug; module2.exports = function() { - if (!debug2) { + if (!debug) { try { - debug2 = require_src2()("follow-redirects"); + debug = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug2 !== "function") { - debug2 = function() { + if (typeof debug !== "function") { + debug = function() { }; } } - debug2.apply(null, arguments); + debug.apply(null, arguments); }; } }); @@ -26690,26 +10204,7 @@ var require_follow_redirects = __commonJS({ var https2 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug2 = require_debug(); - var useNativeURL = false; - try { - assert(new URL2()); - } catch (error) { - useNativeURL = error.code === "ERR_INVALID_URL"; - } - var preservedUrlFields = [ - "auth", - "host", - "hostname", - "href", - "path", - "pathname", - "port", - "protocol", - "query", - "search", - "hash" - ]; + var debug = require_debug(); var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -26728,8 +10223,7 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded", - RedirectionError + "Maximum number of redirects exceeded" ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -26739,7 +10233,6 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); - var destroy = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -26755,25 +10248,15 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - try { - self2._processResponse(response); - } catch (cause) { - self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); - } + self2._processResponse(response); }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - destroyRequest(this._currentRequest); - this._currentRequest.abort(); + abortRequest(this._currentRequest); this.emit("abort"); }; - RedirectableRequest.prototype.destroy = function(error) { - destroyRequest(this._currentRequest, error); - destroy.call(this, error); - return this; - }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -26781,7 +10264,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction4(encoding)) { + if (isFunction2(encoding)) { callback = encoding; encoding = null; } @@ -26801,10 +10284,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction4(data)) { + if (isFunction2(data)) { callback = data; data = encoding = null; - } else if (isFunction4(encoding)) { + } else if (isFunction2(encoding)) { callback = encoding; encoding = null; } @@ -26854,7 +10337,6 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); - self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -26874,7 +10356,6 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); - this.on("close", clearTimer); return this; }; [ @@ -26883,8 +10364,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a3, b3) { - return this._currentRequest[method](a3, b3); + RedirectableRequest.prototype[method] = function(a2, b2) { + return this._currentRequest[method](a2, b2); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -26918,7 +10399,8 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - throw new TypeError("Unsupported protocol " + protocol); + this.emit("error", new TypeError("Unsupported protocol " + protocol)); + return; } if (this._options.agents) { var scheme = protocol.slice(0, -1); @@ -26931,15 +10413,15 @@ var require_follow_redirects = __commonJS({ } this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; if (this._isRedirect) { - var i3 = 0; + var i2 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { if (request === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i3 < buffers.length) { - var buffer = buffers[i3++]; + } else if (i2 < buffers.length) { + var buffer = buffers[i2++]; if (!request.finished) { request.write(buffer.data, buffer.encoding, writeNext); } @@ -26967,10 +10449,11 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - destroyRequest(this._currentRequest); + abortRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - throw new TooManyRedirectsError(); + this.emit("error", new TooManyRedirectsError()); + return; } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -26986,17 +10469,24 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = parseUrl(this._currentUrl); + var currentUrlParts = url2.parse(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl = resolveUrl(location, currentUrl); - debug2("redirecting to", redirectUrl.href); - this._isRedirect = true; - spreadUrlObject(redirectUrl, this._options); - if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { - removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + var redirectUrl; + try { + redirectUrl = url2.resolve(currentUrl, location); + } catch (cause) { + this.emit("error", new RedirectionError({ cause })); + return; } - if (isFunction4(beforeRedirect)) { + debug("redirecting to", redirectUrl); + this._isRedirect = true; + var redirectUrlParts = url2.parse(redirectUrl); + Object.assign(this._options, redirectUrlParts); + if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { + removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + } + if (isFunction2(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -27006,10 +10496,19 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - beforeRedirect(this._options, responseDetails, requestDetails); + try { + beforeRedirect(this._options, responseDetails, requestDetails); + } catch (err) { + this.emit("error", err); + return; + } this._sanitizeOptions(this._options); } - this._performRequest(); + try { + this._performRequest(); + } catch (cause) { + this.emit("error", new RedirectionError({ cause })); + } }; function wrap(protocols) { var exports2 = { @@ -27022,16 +10521,25 @@ var require_follow_redirects = __commonJS({ var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); function request(input, options, callback) { - if (isURL(input)) { - input = spreadUrlObject(input); - } else if (isString2(input)) { - input = spreadUrlObject(parseUrl(input)); + if (isString2(input)) { + var parsed; + try { + parsed = urlToOptions(new URL2(input)); + } catch (err) { + parsed = url2.parse(input); + } + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } + input = parsed; + } else if (URL2 && input instanceof URL2) { + input = urlToOptions(input); } else { callback = options; - options = validateUrl(input); + options = input; input = { protocol }; } - if (isFunction4(options)) { + if (isFunction2(options)) { callback = options; options = null; } @@ -27044,7 +10552,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug2("options", options); + debug("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -27061,43 +10569,20 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function parseUrl(input) { - var parsed; - if (useNativeURL) { - parsed = new URL2(input); - } else { - parsed = validateUrl(url2.parse(input)); - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } + function urlToOptions(urlObject) { + var options = { + protocol: urlObject.protocol, + hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, + hash: urlObject.hash, + search: urlObject.search, + pathname: urlObject.pathname, + path: urlObject.pathname + urlObject.search, + href: urlObject.href + }; + if (urlObject.port !== "") { + options.port = Number(urlObject.port); } - return parsed; - } - function resolveUrl(relative, base) { - return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); - } - function validateUrl(input) { - if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { - throw new InvalidUrlError({ input: input.href || input }); - } - if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { - throw new InvalidUrlError({ input: input.href || input }); - } - return input; - } - function spreadUrlObject(urlObject, target) { - var spread3 = target || {}; - for (var key of preservedUrlFields) { - spread3[key] = urlObject[key]; - } - if (spread3.hostname.startsWith("[")) { - spread3.hostname = spread3.hostname.slice(1, -1); - } - if (spread3.port !== "") { - spread3.port = Number(spread3.port); - } - spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; - return spread3; + return options; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -27117,24 +10602,16 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - Object.defineProperties(CustomError.prototype, { - constructor: { - value: CustomError, - enumerable: false - }, - name: { - value: "Error [" + code + "]", - enumerable: false - } - }); + CustomError.prototype.constructor = CustomError; + CustomError.prototype.name = "Error [" + code + "]"; return CustomError; } - function destroyRequest(request, error) { + function abortRequest(request) { for (var event of events) { request.removeListener(event, eventHandlers[event]); } request.on("error", noop2); - request.destroy(error); + request.abort(); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -27144,15 +10621,12 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction4(value) { + function isFunction2(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } - function isURL(value) { - return URL2 && value instanceof URL2; - } module2.exports = wrap({ http: http2, https: https2 }); module2.exports.wrap = wrap; } @@ -27171,7 +10645,7 @@ var require_data = __commonJS({ var require_http = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/http.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var settle2 = require_settle(); var buildFullPath2 = require_buildFullPath(); var buildURL2 = require_buildURL(); @@ -27181,7 +10655,7 @@ var require_http = __commonJS({ var httpsFollow2 = require_follow_redirects().https; var url2 = require("url"); var zlib2 = require("zlib"); - var VERSION4 = require_data().version; + var VERSION3 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -27201,15 +10675,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config8) { + module2.exports = function httpAdapter2(config7) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config7.cancelToken) { + config7.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config7.signal) { + config7.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -27222,8 +10696,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config8.data; - var headers = config8.headers; + var data = config7.data; + var headers = config7.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -27233,7 +10707,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION4; + headers["User-Agent"] = "axios/" + VERSION3; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -27244,23 +10718,23 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config8 + config7 )); } - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config8)); + if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config7)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password || ""; + if (config7.auth) { + var username = config7.auth.username || ""; + var password = config7.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config8.baseURL, config8.url); + var fullPath = buildFullPath2(config7.baseURL, config7.url); var parsed = url2.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { @@ -27273,31 +10747,31 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; + var agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; try { - buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config7; + customErr.url = config7.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""), - method: config8.method.toUpperCase(), + path: buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""), + method: config7.method.toUpperCase(), headers, agent, - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config7.httpAgent, https: config7.httpsAgent }, auth }; - if (config8.socketPath) { - options.socketPath = config8.socketPath; + if (config7.socketPath) { + options.socketPath = config7.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config8.proxy; + var proxy = config7.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; @@ -27306,8 +10780,8 @@ var require_http = __commonJS({ var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s2) { - return s2.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s) { + return s.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -27344,28 +10818,28 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { + if (config7.transport) { + transport = config7.transport; + } else if (config7.maxRedirects === 0) { transport = isHttpsProxy ? https2 : http2; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config7.maxRedirects) { + options.maxRedirects = config7.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config7.maxBodyLength > -1) { + options.maxBodyLength = config7.maxBodyLength; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config7.insecureHTTPParser) { + options.insecureHTTPParser = config7.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config8.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config7.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": @@ -27379,10 +10853,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config8, + config: config7, request: lastRequest }; - if (config8.responseType === "stream") { + if (config7.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -27391,12 +10865,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config8.maxContentLength + " exceeded", - config8, + "maxContentLength size of " + config7.maxContentLength + " exceeded", + config7, null, lastRequest )); @@ -27407,25 +10881,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config8, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config7, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config8, null, lastRequest)); + reject(enhanceError(err, config7, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config8.responseType !== "arraybuffer") { - responseData = responseData.toString(config8.responseEncoding); - if (!config8.responseEncoding || config8.responseEncoding === "utf8") { + if (config7.responseType !== "arraybuffer") { + responseData = responseData.toString(config7.responseEncoding); + if (!config7.responseEncoding || config7.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config8, err.code, response.request, response)); + reject(enhanceError(err, config7, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -27434,17 +10908,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config7, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - var timeout = parseInt(config8.timeout, 10); + if (config7.timeout) { + var timeout = parseInt(config7.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config8, + config7, "ERR_PARSE_TIMEOUT", req )); @@ -27453,35 +10927,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + if (config7.timeoutErrorMessage) { + timeoutErrorMessage = config7.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config8.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config7.timeout + "ms exceeded"; } - var transitional2 = config8.transitional || transitionalDefaults; + var transitional2 = config7.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config8, + config7, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config8.cancelToken || config8.signal) { + if (config7.cancelToken || config7.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config7.cancelToken && config7.cancelToken.subscribe(onCanceled); + if (config7.signal) { + config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config7, null, req)); }).pipe(req); } else { req.end(data); @@ -27495,11 +10969,11 @@ var require_http = __commonJS({ var require_defaults = __commonJS({ "node_modules/openai/node_modules/axios/lib/defaults/index.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE = { + var DEFAULT_CONTENT_TYPE2 = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -27521,9 +10995,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e3) { - if (e3.name !== "SyntaxError") { - throw e3; + } catch (e2) { + if (e2.name !== "SyntaxError") { + throw e2; } } } @@ -27559,12 +11033,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e3) { + } catch (e2) { if (strictJSONParsing) { - if (e3.name === "SyntaxError") { - throw enhanceError(e3, this, "E_JSON_PARSE"); + if (e2.name === "SyntaxError") { + throw enhanceError(e2, this, "E_JSON_PARSE"); } - throw e3; + throw e2; } } } @@ -27584,11 +11058,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); }); module2.exports = defaults2; } @@ -27598,7 +11072,7 @@ var require_defaults = __commonJS({ var require_transformData = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/transformData.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var defaults2 = require_defaults(); module2.exports = function transformData2(data, headers, fns) { var context2 = this || defaults2; @@ -27624,58 +11098,58 @@ var require_isCancel = __commonJS({ var require_dispatchRequest = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/dispatchRequest.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var transformData2 = require_transformData(); var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config7) { + if (config7.cancelToken) { + config7.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { + if (config7.signal && config7.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config8) { - throwIfCancellationRequested2(config8); - config8.headers = config8.headers || {}; - config8.data = transformData2.call( - config8, - config8.data, - config8.headers, - config8.transformRequest + module2.exports = function dispatchRequest2(config7) { + throwIfCancellationRequested2(config7); + config7.headers = config7.headers || {}; + config7.data = transformData2.call( + config7, + config7.data, + config7.headers, + config7.transformRequest ); - config8.headers = utils.merge( - config8.headers.common || {}, - config8.headers[config8.method] || {}, - config8.headers + config7.headers = utils.merge( + config7.headers.common || {}, + config7.headers[config7.method] || {}, + config7.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config8.headers[method]; + delete config7.headers[method]; } ); - var adapter = config8.adapter || defaults2.adapter; - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config8); + var adapter = config7.adapter || defaults2.adapter; + return adapter(config7).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config7); response.data = transformData2.call( - config8, + config7, response.data, response.headers, - config8.transformResponse + config7.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config8); + throwIfCancellationRequested2(config7); if (reason && reason.response) { reason.response.data = transformData2.call( - config8, + config7, reason.response.data, reason.response.headers, - config8.transformResponse + config7.transformResponse ); } } @@ -27689,10 +11163,10 @@ var require_dispatchRequest = __commonJS({ var require_mergeConfig = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/mergeConfig.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config8 = {}; + var config7 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -27760,9 +11234,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); }); - return config8; + return config7; }; } }); @@ -27771,17 +11245,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION4 = require_data().version; + var VERSION3 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i3) { + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -27804,9 +11278,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i3 = keys.length; - while (i3-- > 0) { - var opt = keys[i3]; + var i2 = keys.length; + while (i2-- > 0) { + var opt = keys[i2]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -27832,7 +11306,7 @@ var require_validator = __commonJS({ var require_Axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/Axios.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var buildURL2 = require_buildURL(); var InterceptorManager2 = require_InterceptorManager(); var dispatchRequest2 = require_dispatchRequest(); @@ -27846,22 +11320,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config8) { + Axios3.prototype.request = function request(configOrUrl, config7) { if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; + config7 = config7 || {}; + config7.url = configOrUrl; } else { - config8 = configOrUrl || {}; + config7 = configOrUrl || {}; } - config8 = mergeConfig3(this.defaults, config8); - if (config8.method) { - config8.method = config8.method.toLowerCase(); + config7 = mergeConfig3(this.defaults, config7); + if (config7.method) { + config7.method = config7.method.toLowerCase(); } else if (this.defaults.method) { - config8.method = this.defaults.method.toLowerCase(); + config7.method = this.defaults.method.toLowerCase(); } else { - config8.method = "get"; + config7.method = "get"; } - var transitional2 = config8.transitional; + var transitional2 = config7.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -27872,7 +11346,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -27887,13 +11361,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config8); + promise = Promise.resolve(config7); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config8; + var newConfig = config7; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -27914,22 +11388,22 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config8) { - config8 = mergeConfig3(this.defaults, config8); - return buildURL2(config8.url, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config7) { + config7 = mergeConfig3(this.defaults, config7); + return buildURL2(config7.url, config7.params, config7.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios3.prototype[method] = function(url2, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { + Axios3.prototype[method] = function(url2, config7) { + return this.request(mergeConfig3(config7 || {}, { method, url: url2, - data: (config8 || {}).data + data: (config7 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { - Axios3.prototype[method] = function(url2, data, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { + Axios3.prototype[method] = function(url2, data, config7) { + return this.request(mergeConfig3(config7 || {}, { method, url: url2, data @@ -27957,10 +11431,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i3; - var l3 = token._listeners.length; - for (i3 = 0; i3 < l3; i3++) { - token._listeners[i3](cancel); + var i2; + var l = token._listeners.length; + for (i2 = 0; i2 < l; i2++) { + token._listeners[i2](cancel); } token._listeners = null; }); @@ -28010,8 +11484,8 @@ var require_CancelToken = __commonJS({ }; CancelToken3.source = function source() { var cancel; - var token = new CancelToken3(function executor(c2) { - cancel = c2; + var token = new CancelToken3(function executor(c) { + cancel = c; }); return { token, @@ -28038,7 +11512,7 @@ var require_spread = __commonJS({ var require_isAxiosError = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAxiosError.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); module2.exports = function isAxiosError3(payload) { return utils.isObject(payload) && payload.isAxiosError === true; }; @@ -28049,7 +11523,7 @@ var require_isAxiosError = __commonJS({ var require_axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/axios.js"(exports, module2) { "use strict"; - var utils = require_utils6(); + var utils = require_utils5(); var bind2 = require_bind(); var Axios3 = require_Axios(); var mergeConfig3 = require_mergeConfig(); @@ -28127,25 +11601,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -28232,28 +11706,28 @@ var require_common2 = __commonJS({ }); // node_modules/openai/dist/api.js -var require_api2 = __commonJS({ +var require_api = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e3) { - reject(e3); + } catch (e2) { + reject(e2); } } function step(result) { @@ -28270,14 +11744,12 @@ var require_api2 = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant", - Function: "function" + Assistant: "assistant" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant", - Function: "function" + Assistant: "assistant" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -28506,7 +11978,7 @@ var require_api2 = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -28528,8 +12000,8 @@ var require_api2 = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n2 !== void 0) { - localVarFormParams.append("n", n2); + if (n !== void 0) { + localVarFormParams.append("n", n); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -28550,7 +12022,7 @@ var require_api2 = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -28565,8 +12037,8 @@ var require_api2 = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n2 !== void 0) { - localVarFormParams.append("n", n2); + if (n !== void 0) { + localVarFormParams.append("n", n); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -29001,15 +12473,15 @@ var require_api2 = __commonJS({ return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n2, size, responseFormat, user, options) { + createImageVariation(image, n, size, responseFormat, user, options) { return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, @@ -29144,11 +12616,11 @@ var require_api2 = __commonJS({ createImage(createImageRequest, options) { return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); }, - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, - createImageVariation(image, n2, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); }, createModeration(createModerationRequest, options) { return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); @@ -29231,11 +12703,11 @@ var require_api2 = __commonJS({ createImage(createImageRequest, options) { return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } - createImageVariation(image, n2, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); @@ -29295,7 +12767,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.3.0", + version: "3.2.1", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -29330,7 +12802,7 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream2 = require("stream").Stream; + var Stream = require("stream").Stream; var util2 = require("util"); module2.exports = DelayedStream; function DelayedStream() { @@ -29342,7 +12814,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream2); + util2.inherits(DelayedStream, Stream); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -29389,9 +12861,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r3 = Stream2.prototype.pipe.apply(this, arguments); + var r2 = Stream.prototype.pipe.apply(this, arguments); this.resume(); - return r3; + return r2; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -29422,7 +12894,7 @@ var require_delayed_stream = __commonJS({ var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { var util2 = require("util"); - var Stream2 = require("stream").Stream; + var Stream = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -29437,7 +12909,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream2); + util2.inherits(CombinedStream, Stream); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -29469,7 +12941,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream2.prototype.pipe.call(this, dest, options); + Stream.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -38196,8 +21668,8 @@ var require_mime_types = __commonJS({ return; } extensions[type] = exts; - for (var i3 = 0; i3 < exts.length; i3++) { - var extension2 = exts[i3]; + for (var i2 = 0; i2 < exts.length; i2++) { + var extension2 = exts[i2]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -38312,8 +21784,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a3, b3) { - return sortMethod(list[a3], list[b3]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b2) { + return sortMethod(list[a2], list[b2]); }); } return initState; @@ -38390,11 +21862,11 @@ var require_serialOrdered = __commonJS({ }); return terminator.bind(state, callback); } - function ascending(a3, b3) { - return a3 < b3 ? -1 : a3 > b3 ? 1 : 0; + function ascending(a2, b2) { + return a2 < b2 ? -1 : a2 > b2 ? 1 : 0; } - function descending(a3, b3) { - return -1 * ascending(a3, b3); + function descending(a2, b2) { + return -1 * ascending(a2, b2); } } }); @@ -38442,16 +21914,16 @@ var require_form_data = __commonJS({ var http2 = require("http"); var https2 = require("https"); var parseUrl = require("url").parse; - var fs3 = require("fs"); - var Stream2 = require("stream").Stream; + var fs2 = require("fs"); + var Stream = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData5; - util2.inherits(FormData5, CombinedStream); - function FormData5(options) { - if (!(this instanceof FormData5)) { - return new FormData5(options); + module2.exports = FormData3; + util2.inherits(FormData3, CombinedStream); + function FormData3(options) { + if (!(this instanceof FormData3)) { + return new FormData3(options); } this._overheadLength = 0; this._valueLength = 0; @@ -38462,9 +21934,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData5.LINE_BREAK = "\r\n"; - FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData5.prototype.append = function(field, value, options) { + FormData3.LINE_BREAK = "\r\n"; + FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData3.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -38484,7 +21956,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData5.prototype._trackLength = function(header, value, options) { + FormData3.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -38494,20 +21966,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { + this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData5.prototype._lengthRetriever = function(value, callback) { + FormData3.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs3.stat(value.path, function(err, stat) { + fs2.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -38529,7 +22001,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData5.prototype._multiPartHeader = function(field, value, options) { + FormData3.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -38555,12 +22027,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; + return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; }; - FormData5.prototype._getContentDisposition = function(value, options) { + FormData3.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path2.normalize(options.filepath).replace(/\\/g, "/"); @@ -38574,7 +22046,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData5.prototype._getContentType = function(value, options) { + FormData3.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -38589,13 +22061,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData5.DEFAULT_CONTENT_TYPE; + contentType = FormData3.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData5.prototype._multiPartFooter = function() { + FormData3.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData5.LINE_BREAK; + var footer = FormData3.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -38603,10 +22075,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData5.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; + FormData3.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; }; - FormData5.prototype.getHeaders = function(userHeaders) { + FormData3.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -38618,40 +22090,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData5.prototype.setBoundary = function(boundary) { + FormData3.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData5.prototype.getBoundary = function() { + FormData3.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData5.prototype.getBuffer = function() { + FormData3.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { - if (typeof this._streams[i3] !== "function") { - if (Buffer.isBuffer(this._streams[i3])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); + for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { + if (typeof this._streams[i2] !== "function") { + if (Buffer.isBuffer(this._streams[i2])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); } - if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); + if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData5.prototype._generateBoundary = function() { + FormData3.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i3 = 0; i3 < 24; i3++) { + for (var i2 = 0; i2 < 24; i2++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData5.prototype.getLengthSync = function() { + FormData3.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -38661,14 +22133,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData5.prototype.hasKnownLength = function() { + FormData3.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData5.prototype.getLength = function(cb) { + FormData3.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -38688,7 +22160,7 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData5.prototype.submit = function(params, cb) { + FormData3.prototype.submit = function(params, cb) { var request, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); @@ -38733,14 +22205,14 @@ var require_form_data = __commonJS({ }.bind(this)); return request; }; - FormData5.prototype._error = function(err) { + FormData3.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData5.prototype.toString = function() { + FormData3.prototype.toString = function() { return "[object FormData]"; }; } @@ -38787,24 +22259,24 @@ var require_configuration = __commonJS({ var require_dist2 = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - Object.defineProperty(o3, k22, { enumerable: true, get: function() { - return m4[k4]; + k22 = k3; + Object.defineProperty(o2, k22, { enumerable: true, get: function() { + return m3[k3]; } }); - } : function(o3, m4, k4, k22) { + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p3 in m4) - if (p3 !== "default" && !exports2.hasOwnProperty(p3)) - __createBinding(exports2, m4, p3); + var __exportStar = exports && exports.__exportStar || function(m3, exports2) { + for (var p2 in m3) + if (p2 !== "default" && !exports2.hasOwnProperty(p2)) + __createBinding(exports2, m3, p2); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_api2(), exports); + __exportStar(require_api(), exports); __exportStar(require_configuration(), exports); } }); @@ -38814,14 +22286,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.4.5", + version: "16.0.3", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - types: "./lib/main.d.ts", require: "./lib/main.js", + types: "./lib/main.d.ts", default: "./lib/main.js" }, "./config": "./config.js", @@ -38838,7 +22310,6 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", - "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -38846,7 +22317,6 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, - funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -38859,34 +22329,30 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@definitelytyped/dtslint": "^0.0.133", - "@types/node": "^18.11.3", + "@types/node": "^17.0.9", decache: "^4.6.1", - sinon: "^14.0.1", - standard: "^17.0.0", + dtslint: "^3.7.0", + sinon: "^12.0.1", + standard: "^16.0.4", "standard-markdown": "^7.1.0", - "standard-version": "^9.5.0", - tap: "^16.3.0", + "standard-version": "^9.3.2", + tap: "^15.1.6", tar: "^6.1.11", - typescript: "^4.8.4" + typescript: "^4.5.4" }, engines: { node: ">=12" - }, - browser: { - fs: false } }; } }); // node_modules/dotenv/lib/main.js -var require_main2 = __commonJS({ +var require_main = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs3 = require("fs"); + var fs2 = require("fs"); var path2 = require("path"); var os2 = require("os"); - var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -38909,240 +22375,57 @@ var require_main2 = __commonJS({ } return obj; } - function _parseVault(options) { - const vaultPath = _vaultPath(options); - const result = DotenvModule.configDotenv({ path: vaultPath }); - if (!result.parsed) { - const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); - err.code = "MISSING_DATA"; - throw err; - } - const keys = _dotenvKey(options).split(","); - const length = keys.length; - let decrypted; - for (let i3 = 0; i3 < length; i3++) { - try { - const key = keys[i3].trim(); - const attrs = _instructions(result, key); - decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); - break; - } catch (error) { - if (i3 + 1 >= length) { - throw error; - } - } - } - return DotenvModule.parse(decrypted); - } function _log(message) { - console.log(`[dotenv@${version}][INFO] ${message}`); - } - function _warn(message) { - console.log(`[dotenv@${version}][WARN] ${message}`); - } - function _debug(message) { console.log(`[dotenv@${version}][DEBUG] ${message}`); } - function _dotenvKey(options) { - if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { - return options.DOTENV_KEY; - } - if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { - return process.env.DOTENV_KEY; - } - return ""; - } - function _instructions(result, dotenvKey) { - let uri; - try { - uri = new URL(dotenvKey); - } catch (error) { - if (error.code === "ERR_INVALID_URL") { - const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - throw error; - } - const key = uri.password; - if (!key) { - const err = new Error("INVALID_DOTENV_KEY: Missing key part"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - const environment = uri.searchParams.get("environment"); - if (!environment) { - const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } - const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; - const ciphertext = result.parsed[environmentKey]; - if (!ciphertext) { - const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); - err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; - throw err; - } - return { ciphertext, key }; - } - function _vaultPath(options) { - let possibleVaultPath = null; - if (options && options.path && options.path.length > 0) { - if (Array.isArray(options.path)) { - for (const filepath of options.path) { - if (fs3.existsSync(filepath)) { - possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; - } - } - } else { - possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; - } - } else { - possibleVaultPath = path2.resolve(process.cwd(), ".env.vault"); - } - if (fs3.existsSync(possibleVaultPath)) { - return possibleVaultPath; - } - return null; - } function _resolveHome(envPath) { return envPath[0] === "~" ? path2.join(os2.homedir(), envPath.slice(1)) : envPath; } - function _configVault(options) { - _log("Loading env from encrypted .env.vault"); - const parsed = DotenvModule._parseVault(options); - let processEnv = process.env; - if (options && options.processEnv != null) { - processEnv = options.processEnv; - } - DotenvModule.populate(processEnv, parsed, options); - return { parsed }; - } - function configDotenv(options) { - const dotenvPath = path2.resolve(process.cwd(), ".env"); + function config7(options) { + let dotenvPath = path2.resolve(process.cwd(), ".env"); let encoding = "utf8"; - const debug2 = Boolean(options && options.debug); - if (options && options.encoding) { - encoding = options.encoding; - } else { - if (debug2) { - _debug("No encoding is specified. UTF-8 is used by default"); - } - } - let optionPaths = [dotenvPath]; - if (options && options.path) { - if (!Array.isArray(options.path)) { - optionPaths = [_resolveHome(options.path)]; - } else { - optionPaths = []; - for (const filepath of options.path) { - optionPaths.push(_resolveHome(filepath)); - } - } - } - let lastError; - const parsedAll = {}; - for (const path3 of optionPaths) { - try { - const parsed = DotenvModule.parse(fs3.readFileSync(path3, { encoding })); - DotenvModule.populate(parsedAll, parsed, options); - } catch (e3) { - if (debug2) { - _debug(`Failed to load ${path3} ${e3.message}`); - } - lastError = e3; - } - } - let processEnv = process.env; - if (options && options.processEnv != null) { - processEnv = options.processEnv; - } - DotenvModule.populate(processEnv, parsedAll, options); - if (lastError) { - return { parsed: parsedAll, error: lastError }; - } else { - return { parsed: parsedAll }; - } - } - function config8(options) { - if (_dotenvKey(options).length === 0) { - return DotenvModule.configDotenv(options); - } - const vaultPath = _vaultPath(options); - if (!vaultPath) { - _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); - return DotenvModule.configDotenv(options); - } - return DotenvModule._configVault(options); - } - function decrypt(encrypted, keyStr) { - const key = Buffer.from(keyStr.slice(-64), "hex"); - let ciphertext = Buffer.from(encrypted, "base64"); - const nonce = ciphertext.subarray(0, 12); - const authTag = ciphertext.subarray(-16); - ciphertext = ciphertext.subarray(12, -16); - try { - const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); - aesgcm.setAuthTag(authTag); - return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; - } catch (error) { - const isRange = error instanceof RangeError; - const invalidKeyLength = error.message === "Invalid key length"; - const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; - if (isRange || invalidKeyLength) { - const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); - err.code = "INVALID_DOTENV_KEY"; - throw err; - } else if (decryptionFailed) { - const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); - err.code = "DECRYPTION_FAILED"; - throw err; - } else { - throw error; - } - } - } - function populate(processEnv, parsed, options = {}) { - const debug2 = Boolean(options && options.debug); + const debug = Boolean(options && options.debug); const override = Boolean(options && options.override); - if (typeof parsed !== "object") { - const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); - err.code = "OBJECT_REQUIRED"; - throw err; + if (options) { + if (options.path != null) { + dotenvPath = _resolveHome(options.path); + } + if (options.encoding != null) { + encoding = options.encoding; + } } - for (const key of Object.keys(parsed)) { - if (Object.prototype.hasOwnProperty.call(processEnv, key)) { - if (override === true) { - processEnv[key] = parsed[key]; - } - if (debug2) { + try { + const parsed = DotenvModule.parse(fs2.readFileSync(dotenvPath, { encoding })); + Object.keys(parsed).forEach(function(key) { + if (!Object.prototype.hasOwnProperty.call(process.env, key)) { + process.env[key] = parsed[key]; + } else { if (override === true) { - _debug(`"${key}" is already defined and WAS overwritten`); - } else { - _debug(`"${key}" is already defined and was NOT overwritten`); + process.env[key] = parsed[key]; + } + if (debug) { + if (override === true) { + _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); + } else { + _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); + } } } - } else { - processEnv[key] = parsed[key]; + }); + return { parsed }; + } catch (e2) { + if (debug) { + _log(`Failed to load ${dotenvPath} ${e2.message}`); } + return { error: e2 }; } } var DotenvModule = { - configDotenv, - _configVault, - _parseVault, - config: config8, - decrypt, - parse, - populate + config: config7, + parse }; - module2.exports.configDotenv = DotenvModule.configDotenv; - module2.exports._configVault = DotenvModule._configVault; - module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; - module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; - module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -39165,26 +22448,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k4 of Object.keys(obj)) { - const val = obj[k4]; + for (const k3 of Object.keys(obj)) { + const val = obj[k3]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k4 + "[]") + separator + safe(item) + eol; + out += safe(k3 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k4); + children.push(k3); } else { - out += safe(k4) + separator + safe(val) + eol; + out += safe(k3) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k4 of children) { - const nk = dotSplit(k4).join("\\."); + for (const k3 of children) { + const nk = dotSplit(k3).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k4], { + const child = encode3(obj[k3], { section, whitespace }); @@ -39198,25 +22481,25 @@ var require_ini = __commonJS({ var dotSplit = (str) => str.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map((part) => part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "")); var decode = (str) => { const out = /* @__PURE__ */ Object.create(null); - let p3 = out; + let p2 = out; let section = null; - const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re2); + const match = line.match(re); if (!match) { continue; } if (match[1] !== void 0) { section = unsafe(match[1]); if (section === "__proto__") { - p3 = /* @__PURE__ */ Object.create(null); + p2 = /* @__PURE__ */ Object.create(null); continue; } - p3 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); + p2 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); continue; } const keyRaw = unsafe(match[2]); @@ -39228,41 +22511,41 @@ var require_ini = __commonJS({ const valueRaw = match[3] ? unsafe(match[4]) : true; const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw; if (isArray2) { - if (!hasOwnProperty2.call(p3, key)) { - p3[key] = []; - } else if (!Array.isArray(p3[key])) { - p3[key] = [p3[key]]; + if (!hasOwnProperty2.call(p2, key)) { + p2[key] = []; + } else if (!Array.isArray(p2[key])) { + p2[key] = [p2[key]]; } } - if (Array.isArray(p3[key])) { - p3[key].push(value); + if (Array.isArray(p2[key])) { + p2[key].push(value); } else { - p3[key] = value; + p2[key] = value; } } const remove = []; - for (const k4 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k4) || typeof out[k4] !== "object" || Array.isArray(out[k4])) { + for (const k3 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k3) || typeof out[k3] !== "object" || Array.isArray(out[k3])) { continue; } - const parts = dotSplit(k4); - p3 = out; - const l3 = parts.pop(); - const nl = l3.replace(/\\\./g, "."); + const parts = dotSplit(k3); + p2 = out; + const l = parts.pop(); + const nl = l.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; } - if (!hasOwnProperty2.call(p3, part) || typeof p3[part] !== "object") { - p3[part] = /* @__PURE__ */ Object.create(null); + if (!hasOwnProperty2.call(p2, part) || typeof p2[part] !== "object") { + p2[part] = /* @__PURE__ */ Object.create(null); } - p3 = p3[part]; + p2 = p2[part]; } - if (p3 === out && nl === l3) { + if (p2 === out && nl === l) { continue; } - p3[nl] = out[k4]; - remove.push(k4); + p2[nl] = out[k3]; + remove.push(k3); } for (const del of remove) { delete out[del]; @@ -39291,21 +22574,21 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { - const c2 = val.charAt(i3); + for (let i2 = 0, l = val.length; i2 < l; i2++) { + const c = val.charAt(i2); if (esc) { - if ("\\;#".indexOf(c2) !== -1) { - unesc += c2; + if ("\\;#".indexOf(c) !== -1) { + unesc += c; } else { - unesc += "\\" + c2; + unesc += "\\" + c; } esc = false; - } else if (";#".indexOf(c2) !== -1) { + } else if (";#".indexOf(c) !== -1) { break; - } else if (c2 === "\\") { + } else if (c === "\\") { esc = true; } else { - unesc += c2; + unesc += c; } } if (esc) { @@ -39367,7 +22650,7 @@ var require_load = __commonJS({ }); // node_modules/@commitlint/types/lib/parse.js -var require_parse3 = __commonJS({ +var require_parse2 = __commonJS({ "node_modules/@commitlint/types/lib/parse.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -39393,12 +22676,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); + })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); + })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); } }); @@ -39406,25 +22689,25 @@ var require_rules = __commonJS({ var require_lib4 = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - var desc = Object.getOwnPropertyDescriptor(m4, k4); - if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + k22 = k3; + var desc = Object.getOwnPropertyDescriptor(m3, k3); + if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m4[k4]; + return m3[k3]; } }; } - Object.defineProperty(o3, k22, desc); - } : function(o3, m4, k4, k22) { + Object.defineProperty(o2, k22, desc); + } : function(o2, m3, k3, k22) { if (k22 === void 0) - k22 = k4; - o3[k22] = m4[k4]; + k22 = k3; + o2[k22] = m3[k3]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p3 in m4) - if (p3 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p3)) - __createBinding(exports2, m4, p3); + var __exportStar = exports && exports.__exportStar || function(m3, exports2) { + for (var p2 in m3) + if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) + __createBinding(exports2, m3, p2); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require_ensure(), exports); @@ -39432,7 +22715,7 @@ var require_lib4 = __commonJS({ __exportStar(require_is_ignored(), exports); __exportStar(require_lint(), exports); __exportStar(require_load(), exports); - __exportStar(require_parse3(), exports); + __exportStar(require_parse2(), exports); __exportStar(require_prompt(), exports); __exportStar(require_rules(), exports); } @@ -39451,8 +22734,8 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s2) { - return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s) { + return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; }; function getProxyForUrl2(url2) { var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; @@ -39555,13 +22838,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length, 1) >>> 0; + const ptr2 = malloc(buf.length); getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len, 1) >>> 0; + let ptr = malloc(len); const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -39574,7 +22857,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + ptr = realloc(ptr, len, len = offset + arg.length * 3); const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -39596,7 +22879,6 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -39615,124 +22897,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { - ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1, 1) >>> 0; + const ptr = malloc(arg.length * 1); getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4, 4) >>> 0; + const ptr = malloc(arg.length * 4); getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f4, args) { + function handleError(f3, args) { try { - return f4.apply(this, args); - } catch (e3) { - wasm.__wbindgen_export_3(addHeapObject(e3)); + return f3.apply(this, args); + } catch (e2) { + wasm.__wbindgen_export_3(addHeapObject(e2)); } } - var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - this.__wbg_ptr = ret >>> 0; - return this; + return Tiktoken2.__wrap(ret); } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.__wbg_ptr); + wasm.tiktoken_name(retptr, this.ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v1; + let v0; if (r0 !== 0) { - v1 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); + v0 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); } - return v1; + return v0; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } + static __wrap(ptr) { + const obj = Object.create(Tiktoken2.prototype); + obj.ptr = ptr; + return obj; + } __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - TiktokenFinalization.unregister(this); + const ptr = this.ptr; + this.ptr = 0; return ptr; } free() { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r22 = getInt32Memory0()[retptr / 4 + 2]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r22); + throw takeObject(r2); } - var v2 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4, 4); - return v2; + var v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v2 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4, 4); - return v2; + var v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r22 = getInt32Memory0()[retptr / 4 + 2]; - if (r22) { + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { throw takeObject(r1); } return takeObject(r0); @@ -39742,48 +23024,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v2 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); - return v2; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1, 1); - return v1; + var v0 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1); + return v0; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.ptr); return takeObject(ret); } }; @@ -39792,7 +23074,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_daa6661e90c04140 = function() { + module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -39803,19 +23085,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("tiktoken: WASM binary has not been propery initialized."); + throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_06816e879d29d4df = function() { + module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -39834,14 +23116,15 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path2 = require("path"); - var fs3 = require("fs"); - var candidates = __dirname.split(path2.sep).reduce((memo, _3, index, array) => { + var fs2 = require("fs"); + var candidates = __dirname.split(path2.sep).reduce((memo, _2, index, array) => { const prefix = array.slice(0, index + 1).join(path2.sep) + path2.sep; if (!prefix.includes("node_modules" + path2.sep)) { memo.unshift( path2.join( prefix, "node_modules", + "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -39854,7 +23137,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs3.readFileSync(candidate); + bytes = fs2.readFileSync(candidate); break; } catch { } @@ -39868,7412 +23151,9 @@ var require_tiktoken = __commonJS({ } }); -// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs -function t() { -} -function r2(e3) { - return "object" == typeof e3 && null !== e3 || "function" == typeof e3; -} -function n(e3, t2) { - try { - Object.defineProperty(e3, "name", { value: t2, configurable: true }); - } catch (e4) { - } -} -function u2(e3) { - return new a2(e3); -} -function c(e3) { - return l2(e3); -} -function d4(e3) { - return s(e3); -} -function f3(e3, t2, r3) { - return i2.call(e3, t2, r3); -} -function b2(e3, t2, r3) { - f3(f3(e3, t2, r3), void 0, o2); -} -function h2(e3, t2) { - b2(e3, t2); -} -function _2(e3, t2) { - b2(e3, void 0, t2); -} -function p2(e3, t2, r3) { - return f3(e3, t2, r3); -} -function m3(e3) { - f3(e3, void 0, o2); -} -function g(e3, t2, r3) { - if ("function" != typeof e3) - throw new TypeError("Argument is not a function"); - return Function.prototype.apply.call(e3, t2, r3); -} -function w3(e3, t2, r3) { - try { - return c(g(e3, t2, r3)); - } catch (e4) { - return d4(e4); - } -} -function E2(e3, t2) { - e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O2(e3) : "closed" === t2._state ? function(e4) { - O2(e4), j3(e4); - }(e3) : B(e3, t2._storedError); -} -function P2(e3, t2) { - return Gt(e3._ownerReadableStream, t2); -} -function W3(e3) { - const t2 = e3._ownerReadableStream; - "readable" === t2._state ? A2(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { - B(e4, t3); - }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C2](), t2._reader = void 0, e3._ownerReadableStream = void 0; -} -function k3(e3) { - return new TypeError("Cannot " + e3 + " a stream using a released reader"); -} -function O2(e3) { - e3._closedPromise = u2((t2, r3) => { - e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; - }); -} -function B(e3, t2) { - O2(e3), A2(e3, t2); -} -function A2(e3, t2) { - void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); -} -function j3(e3) { - void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); -} -function F2(e3, t2) { - if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) - throw new TypeError(`${t2} is not an object.`); - var r3; -} -function I(e3, t2) { - if ("function" != typeof e3) - throw new TypeError(`${t2} is not a function.`); -} -function D3(e3, t2) { - if (!function(e4) { - return "object" == typeof e4 && null !== e4 || "function" == typeof e4; - }(e3)) - throw new TypeError(`${t2} is not an object.`); -} -function $3(e3, t2, r3) { - if (void 0 === e3) - throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); -} -function M3(e3, t2, r3) { - if (void 0 === e3) - throw new TypeError(`${t2} is required in '${r3}'.`); -} -function Y2(e3) { - return Number(e3); -} -function Q2(e3) { - return 0 === e3 ? 0 : e3; -} -function N3(e3, t2) { - const r3 = Number.MAX_SAFE_INTEGER; - let o3 = Number(e3); - if (o3 = Q2(o3), !z2(o3)) - throw new TypeError(`${t2} is not a finite number`); - if (o3 = function(e4) { - return Q2(L3(e4)); - }(o3), o3 < 0 || o3 > r3) - throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); - return z2(o3) && 0 !== o3 ? o3 : 0; -} -function H2(e3) { - if (!r2(e3)) - return false; - if ("function" != typeof e3.getReader) - return false; - try { - return "boolean" == typeof e3.locked; - } catch (e4) { - return false; - } -} -function x(e3) { - if (!r2(e3)) - return false; - if ("function" != typeof e3.getWriter) - return false; - try { - return "boolean" == typeof e3.locked; - } catch (e4) { - return false; - } -} -function V3(e3, t2) { - if (!Vt(e3)) - throw new TypeError(`${t2} is not a ReadableStream.`); -} -function U4(e3, t2) { - e3._reader._readRequests.push(t2); -} -function G3(e3, t2, r3) { - const o3 = e3._reader._readRequests.shift(); - r3 ? o3._closeSteps() : o3._chunkSteps(t2); -} -function X3(e3) { - return e3._reader._readRequests.length; -} -function J3(e3) { - const t2 = e3._reader; - return void 0 !== t2 && !!K2(t2); -} -function K2(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); -} -function Z2(e3, t2) { - const r3 = e3._readRequests; - e3._readRequests = new S2(), r3.forEach((e4) => { - e4._errorSteps(t2); - }); -} -function ee(e3) { - return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); -} -function oe(e3) { - if (!r2(e3)) - return false; - if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) - return false; - try { - return e3._asyncIteratorImpl instanceof te; - } catch (e4) { - return false; - } -} -function ne(e3) { - return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); -} -function ie2(e3, t2, r3, o3, n2) { - new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); -} -function le2(e3) { - const t2 = function(e4, t3, r3) { - if (e4.slice) - return e4.slice(t3, r3); - const o3 = r3 - t3, n2 = new ArrayBuffer(o3); - return ie2(n2, 0, e4, t3, o3), n2; - }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); - return new Uint8Array(t2); -} -function se(e3) { - const t2 = e3._queue.shift(); - return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; -} -function ue2(e3, t2, r3) { - if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) - throw new RangeError("Size must be a finite, non-NaN, non-negative number."); - var o3; - e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; -} -function ce2(e3) { - e3._queue = new S2(), e3._queueTotalSize = 0; -} -function de(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); -} -function fe(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); -} -function be(e3) { - const t2 = function(e4) { - const t3 = e4._controlledReadableByteStream; - if ("readable" !== t3._state) - return false; - if (e4._closeRequested) - return false; - if (!e4._started) - return false; - if (J3(t3) && X3(t3) > 0) - return true; - if (Le(t3) && ze(t3) > 0) - return true; - if (ke(e4) > 0) - return true; - return false; - }(e3); - if (!t2) - return; - if (e3._pulling) - return void (e3._pullAgain = true); - e3._pulling = true; - b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); -} -function he(e3) { - Re(e3), e3._pendingPullIntos = new S2(); -} -function _e(e3, t2) { - let r3 = false; - "closed" === e3._state && (r3 = true); - const o3 = pe(t2); - "default" === t2.readerType ? G3(e3, o3, r3) : function(e4, t3, r4) { - const o4 = e4._reader._readIntoRequests.shift(); - r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); - }(e3, o3, r3); -} -function pe(e3) { - const t2 = e3.bytesFilled, r3 = e3.elementSize; - return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); -} -function me(e3, t2, r3, o3) { - e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; -} -function ye(e3, t2, r3, o3) { - let n2; - try { - n2 = t2.slice(r3, r3 + o3); - } catch (t3) { - throw Pe(e3, t3), t3; - } - me(e3, n2, 0, o3); -} -function ge(e3, t2) { - t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); -} -function we(e3, t2) { - const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a3 = t2.bytesFilled + n2, i3 = a3 - a3 % r3; - let l3 = n2, s2 = false; - i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); - const u3 = e3._queue; - for (; l3 > 0; ) { - const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; - ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; - } - return s2; -} -function Se(e3, t2, r3) { - r3.bytesFilled += t2; -} -function ve(e3) { - 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); -} -function Re(e3) { - null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); -} -function Te(e3) { - for (; e3._pendingPullIntos.length > 0; ) { - if (0 === e3._queueTotalSize) - return; - const t2 = e3._pendingPullIntos.peek(); - we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); - } -} -function qe(e3, t2) { - const r3 = e3._pendingPullIntos.peek(); - Re(e3); - "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { - "none" === t3.readerType && Ce(e4); - const r4 = e4._controlledReadableByteStream; - if (Le(r4)) - for (; ze(r4) > 0; ) - _e(r4, Ce(e4)); - }(e3, r3) : function(e4, t3, r4) { - if (Se(0, t3, r4), "none" === r4.readerType) - return ge(e4, r4), void Te(e4); - if (r4.bytesFilled < r4.elementSize) - return; - Ce(e4); - const o3 = r4.bytesFilled % r4.elementSize; - if (o3 > 0) { - const t4 = r4.byteOffset + r4.bytesFilled; - ye(e4, r4.buffer, t4 - o3, o3); - } - r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); - }(e3, t2, r3), be(e3); -} -function Ce(e3) { - return e3._pendingPullIntos.shift(); -} -function Ee(e3) { - e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; -} -function Pe(e3, t2) { - const r3 = e3._controlledReadableByteStream; - "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); -} -function We(e3, t2) { - const r3 = e3._queue.shift(); - e3._queueTotalSize -= r3.byteLength, ve(e3); - const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); - t2._chunkSteps(o3); -} -function ke(e3) { - const t2 = e3._controlledReadableByteStream._state; - return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; -} -function Oe(e3, t2, r3) { - const o3 = Object.create(ReadableByteStreamController.prototype); - let n2, a3, i3; - n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { - }, a3 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0); - const l3 = t2.autoAllocateChunkSize; - if (0 === l3) - throw new TypeError("autoAllocateChunkSize must be greater than 0"); - !function(e4, t3, r4, o4, n3, a4, i4) { - t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S2(), e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); - }(e3, o3, n2, a3, i3, r3, l3); -} -function Be(e3) { - return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); -} -function Ae(e3) { - return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); -} -function je(e3, t2) { - e3._reader._readIntoRequests.push(t2); -} -function ze(e3) { - return e3._reader._readIntoRequests.length; -} -function Le(e3) { - const t2 = e3._reader; - return void 0 !== t2 && !!Fe(t2); -} -function Fe(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); -} -function Ie(e3, t2) { - const r3 = e3._readIntoRequests; - e3._readIntoRequests = new S2(), r3.forEach((e4) => { - e4._errorSteps(t2); - }); -} -function De(e3) { - return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); -} -function $e(e3, t2) { - const { highWaterMark: r3 } = e3; - if (void 0 === r3) - return t2; - if (ae2(r3) || r3 < 0) - throw new RangeError("Invalid highWaterMark"); - return r3; -} -function Me(e3) { - const { size: t2 } = e3; - return t2 || (() => 1); -} -function Ye(e3, t2) { - F2(e3, t2); - const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; - return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; -} -function Qe(e3, t2) { - return I(e3, t2), (t3) => Y2(e3(t3)); -} -function Ne(e3, t2, r3) { - return I(e3, r3), (r4) => w3(e3, t2, [r4]); -} -function He(e3, t2, r3) { - return I(e3, r3), () => w3(e3, t2, []); -} -function xe(e3, t2, r3) { - return I(e3, r3), (r4) => g(e3, t2, [r4]); -} -function Ve(e3, t2, r3) { - return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); -} -function Ge(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); -} -function Xe(e3) { - return void 0 !== e3._writer; -} -function Je(e3, t2) { - var r3; - if ("closed" === e3._state || "errored" === e3._state) - return c(void 0); - e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); - const o3 = e3._state; - if ("closed" === o3 || "errored" === o3) - return c(void 0); - if (void 0 !== e3._pendingAbortRequest) - return e3._pendingAbortRequest._promise; - let n2 = false; - "erroring" === o3 && (n2 = true, t2 = void 0); - const a3 = u2((r4, o4) => { - e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; - }); - return e3._pendingAbortRequest._promise = a3, n2 || et(e3, t2), a3; -} -function Ke(e3) { - const t2 = e3._state; - if ("closed" === t2 || "errored" === t2) - return d4(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); - const r3 = u2((t3, r4) => { - const o4 = { _resolve: t3, _reject: r4 }; - e3._closeRequest = o4; - }), o3 = e3._writer; - var n2; - return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; -} -function Ze(e3, t2) { - "writable" !== e3._state ? tt(e3) : et(e3, t2); -} -function et(e3, t2) { - const r3 = e3._writableStreamController; - e3._state = "erroring", e3._storedError = t2; - const o3 = e3._writer; - void 0 !== o3 && it(o3, t2), !function(e4) { - if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) - return false; - return true; - }(e3) && r3._started && tt(e3); -} -function tt(e3) { - e3._state = "errored", e3._writableStreamController[R2](); - const t2 = e3._storedError; - if (e3._writeRequests.forEach((e4) => { - e4._reject(t2); - }), e3._writeRequests = new S2(), void 0 === e3._pendingAbortRequest) - return void ot(e3); - const r3 = e3._pendingAbortRequest; - if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) - return r3._reject(t2), void ot(e3); - b2(e3._writableStreamController[v](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); -} -function rt(e3) { - return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; -} -function ot(e3) { - void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); - const t2 = e3._writer; - void 0 !== t2 && St(t2, e3._storedError); -} -function nt(e3, t2) { - const r3 = e3._writer; - void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { - Rt(e4); - }(r3) : Et(r3)), e3._backpressure = t2; -} -function at(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); -} -function it(e3, t2) { - "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { - Tt(e4, t3); - }(e3, t2); -} -function st(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); -} -function ut(e3) { - e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; -} -function ct(e3) { - return e3._strategyHWM - e3._queueTotalSize; -} -function dt(e3) { - const t2 = e3._controlledWritableStream; - if (!e3._started) - return; - if (void 0 !== t2._inFlightWriteRequest) - return; - if ("erroring" === t2._state) - return void tt(t2); - if (0 === e3._queue.length) - return; - const r3 = e3._queue.peek().value; - r3 === lt ? function(e4) { - const t3 = e4._controlledWritableStream; - (function(e5) { - e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; - })(t3), se(e4); - const r4 = e4._closeAlgorithm(); - ut(e4), b2(r4, () => (function(e5) { - e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; - const t4 = e5._writer; - void 0 !== t4 && vt(t4); - }(t3), null), (e5) => (function(e6, t4) { - e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); - }(t3, e5), null)); - }(e3) : function(e4, t3) { - const r4 = e4._controlledWritableStream; - !function(e5) { - e5._inFlightWriteRequest = e5._writeRequests.shift(); - }(r4); - b2(e4._writeAlgorithm(t3), () => { - !function(e5) { - e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; - }(r4); - const t4 = r4._state; - if (se(e4), !rt(r4) && "writable" === t4) { - const t5 = bt(e4); - nt(r4, t5); - } - return dt(e4), null; - }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { - e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); - }(r4, t4), null)); - }(e3, r3); -} -function ft(e3, t2) { - "writable" === e3._controlledWritableStream._state && ht(e3, t2); -} -function bt(e3) { - return ct(e3) <= 0; -} -function ht(e3, t2) { - const r3 = e3._controlledWritableStream; - ut(e3), et(r3, t2); -} -function _t(e3) { - return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); -} -function pt(e3) { - return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); -} -function mt(e3) { - return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); -} -function yt(e3) { - return new TypeError("Cannot " + e3 + " a stream using a released writer"); -} -function gt(e3) { - e3._closedPromise = u2((t2, r3) => { - e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; - }); -} -function wt(e3, t2) { - gt(e3), St(e3, t2); -} -function St(e3, t2) { - void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); -} -function vt(e3) { - void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); -} -function Rt(e3) { - e3._readyPromise = u2((t2, r3) => { - e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; - }), e3._readyPromiseState = "pending"; -} -function Tt(e3, t2) { - Rt(e3), Ct(e3, t2); -} -function qt(e3) { - Rt(e3), Et(e3); -} -function Ct(e3, t2) { - void 0 !== e3._readyPromise_reject && (m3(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); -} -function Et(e3) { - void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); -} -function kt(e3, t2, r3, o3, n2, a3) { - const i3 = e3.getReader(), l3 = t2.getWriter(); - Vt(e3) && (e3._disturbed = true); - let s2, _3, g2, w4 = false, S3 = false, v2 = "readable", R3 = "writable", T3 = false, q3 = false; - const C3 = u2((e4) => { - g2 = e4; - }); - let E3 = Promise.resolve(void 0); - return u2((P3, W4) => { - let k4; - function O3() { - if (w4) - return; - const e4 = u2((e5, t3) => { - !function r4(o4) { - o4 ? e5() : f3(function() { - if (w4) - return c(true); - return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E3 = l3.write(e6.value), m3(E3), false))); - }(), r4, t3); - }(false); - }); - m3(e4); - } - function B2() { - return v2 = "closed", r3 ? L4() : z3(() => (Ge(t2) && (T3 = rt(t2), R3 = t2._state), T3 || "closed" === R3 ? c(void 0) : "erroring" === R3 || "errored" === R3 ? d4(_3) : (T3 = true, l3.close())), false, void 0), null; - } - function A3(e4) { - return w4 || (v2 = "errored", s2 = e4, o3 ? L4(true, e4) : z3(() => l3.abort(e4), true, e4)), null; - } - function j4(e4) { - return S3 || (R3 = "errored", _3 = e4, n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4)), null; - } - if (void 0 !== a3 && (k4 = () => { - const e4 = void 0 !== a3.reason ? a3.reason : new Wt("Aborted", "AbortError"), t3 = []; - o3 || t3.push(() => "writable" === R3 ? l3.abort(e4) : c(void 0)), n2 || t3.push(() => "readable" === v2 ? i3.cancel(e4) : c(void 0)), z3(() => Promise.all(t3.map((e5) => e5())), true, e4); - }, a3.aborted ? k4() : a3.addEventListener("abort", k4)), Vt(e3) && (v2 = e3._state, s2 = e3._storedError), Ge(t2) && (R3 = t2._state, _3 = t2._storedError, T3 = rt(t2)), Vt(e3) && Ge(t2) && (q3 = true, g2()), "errored" === v2) - A3(s2); - else if ("erroring" === R3 || "errored" === R3) - j4(_3); - else if ("closed" === v2) - B2(); - else if (T3 || "closed" === R3) { - const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); - n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4); - } - function z3(e4, t3, r4) { - function o4() { - return "writable" !== R3 || T3 ? n3() : h2(function() { - let e5; - return c(function t4() { - if (e5 !== E3) - return e5 = E3, p2(E3, t4, t4); - }()); - }(), n3), null; - } - function n3() { - return e4 ? b2(e4(), () => F3(t3, r4), (e5) => F3(true, e5)) : F3(t3, r4), null; - } - w4 || (w4 = true, q3 ? o4() : h2(C3, o4)); - } - function L4(e4, t3) { - z3(void 0, e4, t3); - } - function F3(e4, t3) { - return S3 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a3 && a3.removeEventListener("abort", k4), e4 ? W4(t3) : P3(void 0), null; - } - w4 || (b2(i3.closed, B2, A3), b2(l3.closed, function() { - return S3 || (R3 = "closed"), null; - }, j4)), q3 ? O3() : y3(() => { - q3 = true, g2(), O3(); - }); - }); -} -function Ot(e3, t2) { - return function(e4) { - try { - return e4.getReader({ mode: "byob" }).releaseLock(), true; - } catch (e5) { - return false; - } - }(e3) ? function(e4) { - let t3, r3, o3, n2, a3, i3 = e4.getReader(), l3 = false, s2 = false, d5 = false, f4 = false, h3 = false, p3 = false; - const m4 = u2((e5) => { - a3 = e5; - }); - function y4(e5) { - _2(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h3 && p3 || a3(void 0)), null)); - } - function g2() { - l3 && (i3.releaseLock(), i3 = e4.getReader(), y4(i3), l3 = false), b2(i3.read(), (e5) => { - var t4, r4; - if (d5 = false, f4 = false, e5.done) - return h3 || o3.close(), p3 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h3 && p3 || a3(void 0), null; - const l4 = e5.value, u3 = l4; - let c2 = l4; - if (!h3 && !p3) - try { - c2 = le2(l4); - } catch (e6) { - return o3.error(e6), n2.error(e6), a3(i3.cancel(e6)), null; - } - return h3 || o3.enqueue(u3), p3 || n2.enqueue(c2), s2 = false, d5 ? S3() : f4 && v2(), null; - }, () => (s2 = false, null)); - } - function w4(t4, r4) { - l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y4(i3), l3 = true); - const u3 = r4 ? n2 : o3, c2 = r4 ? o3 : n2; - b2(i3.read(t4), (e5) => { - var t5; - d5 = false, f4 = false; - const o4 = r4 ? p3 : h3, n3 = r4 ? h3 : p3; - if (e5.done) { - o4 || u3.close(), n3 || c2.close(); - const r5 = e5.value; - return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c2.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a3(void 0), null; - } - const l4 = e5.value; - if (n3) - o4 || u3.byobRequest.respondWithNewView(l4); - else { - let e6; - try { - e6 = le2(l4); - } catch (e7) { - return u3.error(e7), c2.error(e7), a3(i3.cancel(e7)), null; - } - o4 || u3.byobRequest.respondWithNewView(l4), c2.enqueue(e6); - } - return s2 = false, d5 ? S3() : f4 && v2(), null; - }, () => (s2 = false, null)); - } - function S3() { - if (s2) - return d5 = true, c(void 0); - s2 = true; - const e5 = o3.byobRequest; - return null === e5 ? g2() : w4(e5.view, false), c(void 0); - } - function v2() { - if (s2) - return f4 = true, c(void 0); - s2 = true; - const e5 = n2.byobRequest; - return null === e5 ? g2() : w4(e5.view, true), c(void 0); - } - function R3(e5) { - if (h3 = true, t3 = e5, p3) { - const e6 = [t3, r3], o4 = i3.cancel(e6); - a3(o4); - } - return m4; - } - function T3(e5) { - if (p3 = true, r3 = e5, h3) { - const e6 = [t3, r3], o4 = i3.cancel(e6); - a3(o4); - } - return m4; - } - const q3 = new ReadableStream2({ type: "bytes", start(e5) { - o3 = e5; - }, pull: S3, cancel: R3 }), C3 = new ReadableStream2({ type: "bytes", start(e5) { - n2 = e5; - }, pull: v2, cancel: T3 }); - return y4(i3), [q3, C3]; - }(e3) : function(e4, t3) { - const r3 = e4.getReader(); - let o3, n2, a3, i3, l3, s2 = false, d5 = false, f4 = false, h3 = false; - const p3 = u2((e5) => { - l3 = e5; - }); - function m4() { - return s2 ? (d5 = true, c(void 0)) : (s2 = true, b2(r3.read(), (e5) => { - if (d5 = false, e5.done) - return f4 || a3.close(), h3 || i3.close(), f4 && h3 || l3(void 0), null; - const t4 = e5.value, r4 = t4, o4 = t4; - return f4 || a3.enqueue(r4), h3 || i3.enqueue(o4), s2 = false, d5 && m4(), null; - }, () => (s2 = false, null)), c(void 0)); - } - function y4(e5) { - if (f4 = true, o3 = e5, h3) { - const e6 = [o3, n2], t4 = r3.cancel(e6); - l3(t4); - } - return p3; - } - function g2(e5) { - if (h3 = true, n2 = e5, f4) { - const e6 = [o3, n2], t4 = r3.cancel(e6); - l3(t4); - } - return p3; - } - const w4 = new ReadableStream2({ start(e5) { - a3 = e5; - }, pull: m4, cancel: y4 }), S3 = new ReadableStream2({ start(e5) { - i3 = e5; - }, pull: m4, cancel: g2 }); - return _2(r3.closed, (e5) => (a3.error(e5), i3.error(e5), f4 && h3 || l3(void 0), null)), [w4, S3]; - }(e3); -} -function Bt(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); -} -function At(e3) { - const t2 = function(e4) { - const t3 = e4._controlledReadableStream; - if (!Ft(e4)) - return false; - if (!e4._started) - return false; - if (Ut(t3) && X3(t3) > 0) - return true; - if (Lt(e4) > 0) - return true; - return false; - }(e3); - if (!t2) - return; - if (e3._pulling) - return void (e3._pullAgain = true); - e3._pulling = true; - b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); -} -function jt(e3) { - e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; -} -function zt(e3, t2) { - const r3 = e3._controlledReadableStream; - "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); -} -function Lt(e3) { - const t2 = e3._controlledReadableStream._state; - return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; -} -function Ft(e3) { - return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; -} -function It(e3, t2, r3, o3) { - const n2 = Object.create(ReadableStreamDefaultController.prototype); - let a3, i3, l3; - a3 = void 0 !== t2.start ? () => t2.start(n2) : () => { - }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0), function(e4, t3, r4, o4, n3, a4, i4) { - t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); - }(e3, n2, a3, i3, l3, r3, o3); -} -function Dt(e3) { - return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); -} -function $t(e3, t2, r3) { - return I(e3, r3), (r4) => w3(e3, t2, [r4]); -} -function Mt(e3, t2, r3) { - return I(e3, r3), (r4) => w3(e3, t2, [r4]); -} -function Yt(e3, t2, r3) { - return I(e3, r3), (r4) => g(e3, t2, [r4]); -} -function Qt(e3, t2) { - if ("bytes" !== (e3 = `${e3}`)) - throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); - return e3; -} -function Nt(e3, t2) { - if ("byob" !== (e3 = `${e3}`)) - throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); - return e3; -} -function Ht(e3, t2) { - F2(e3, t2); - const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a3 = null == e3 ? void 0 : e3.signal; - return void 0 !== a3 && function(e4, t3) { - if (!function(e5) { - if ("object" != typeof e5 || null === e5) - return false; - try { - return "boolean" == typeof e5.aborted; - } catch (e6) { - return false; - } - }(e4)) - throw new TypeError(`${t3} is not an AbortSignal.`); - }(a3, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a3 }; -} -function xt(e3, t2) { - F2(e3, t2); - const r3 = null == e3 ? void 0 : e3.readable; - M3(r3, "readable", "ReadableWritablePair"), function(e4, t3) { - if (!H2(e4)) - throw new TypeError(`${t3} is not a ReadableStream.`); - }(r3, `${t2} has member 'readable' that`); - const o3 = null == e3 ? void 0 : e3.writable; - return M3(o3, "writable", "ReadableWritablePair"), function(e4, t3) { - if (!x(e4)) - throw new TypeError(`${t3} is not a WritableStream.`); - }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; -} -function Vt(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream2); -} -function Ut(e3) { - return void 0 !== e3._reader; -} -function Gt(e3, r3) { - if (e3._disturbed = true, "closed" === e3._state) - return c(void 0); - if ("errored" === e3._state) - return d4(e3._storedError); - Xt(e3); - const o3 = e3._reader; - if (void 0 !== o3 && Fe(o3)) { - const e4 = o3._readIntoRequests; - o3._readIntoRequests = new S2(), e4.forEach((e5) => { - e5._closeSteps(void 0); - }); - } - return p2(e3._readableStreamController[T2](r3), t); -} -function Xt(e3) { - e3._state = "closed"; - const t2 = e3._reader; - if (void 0 !== t2 && (j3(t2), K2(t2))) { - const e4 = t2._readRequests; - t2._readRequests = new S2(), e4.forEach((e5) => { - e5._closeSteps(); - }); - } -} -function Jt(e3, t2) { - e3._state = "errored", e3._storedError = t2; - const r3 = e3._reader; - void 0 !== r3 && (A2(r3, t2), K2(r3) ? Z2(r3, t2) : Ie(r3, t2)); -} -function Kt(e3) { - return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); -} -function Zt(e3, t2) { - F2(e3, t2); - const r3 = null == e3 ? void 0 : e3.highWaterMark; - return M3(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; -} -function tr(e3) { - return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); -} -function rr(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); -} -function nr(e3) { - return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); -} -function ar(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); -} -function ir(e3, t2, r3) { - return I(e3, r3), (r4) => w3(e3, t2, [r4]); -} -function lr(e3, t2, r3) { - return I(e3, r3), (r4) => g(e3, t2, [r4]); -} -function sr(e3, t2, r3) { - return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); -} -function ur(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream); -} -function cr(e3, t2) { - Sr(e3, t2), dr(e3, t2); -} -function dr(e3, t2) { - hr(e3._transformStreamController), function(e4, t3) { - e4._writableController.error(t3); - "writable" === e4._writableState && Tr(e4, t3); - }(e3, t2), e3._backpressure && fr(e3, false); -} -function fr(e3, t2) { - void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { - e3._backpressureChangePromise_resolve = t3; - }), e3._backpressure = t2; -} -function br(e3) { - return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); -} -function hr(e3) { - e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; -} -function _r(e3, t2) { - const r3 = e3._controlledTransformStream; - if (!gr(r3)) - throw new TypeError("Readable side is not in a state that permits enqueue"); - try { - !function(e4, t3) { - e4._readablePulling = false; - try { - e4._readableController.enqueue(t3); - } catch (t4) { - throw Sr(e4, t4), t4; - } - }(r3, t2); - } catch (e4) { - throw dr(r3, e4), r3._readableStoredError; - } - const o3 = function(e4) { - return !function(e5) { - if (!gr(e5)) - return false; - if (e5._readablePulling) - return true; - if (vr(e5) > 0) - return true; - return false; - }(e4); - }(r3); - o3 !== r3._backpressure && fr(r3, true); -} -function pr(e3, t2) { - return p2(e3._transformAlgorithm(t2), void 0, (t3) => { - throw cr(e3._controlledTransformStream, t3), t3; - }); -} -function mr(e3) { - return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); -} -function yr(e3) { - return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); -} -function gr(e3) { - return !e3._readableCloseRequested && "readable" === e3._readableState; -} -function wr(e3) { - e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); -} -function Sr(e3, t2) { - "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); -} -function vr(e3) { - return e3._readableController.desiredSize; -} -function Rr(e3, t2) { - "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); -} -function Tr(e3, t2) { - e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { - return e4._writableHasInFlightOperation; - }(e3) && e3._writableStarted && qr(e3); -} -function qr(e3) { - e3._writableState = "errored"; -} -function Cr(e3) { - "erroring" === e3._writableState && qr(e3); -} -var e2, o2, a2, i2, l2, s, y3, S2, v, R2, T2, q2, C2, z2, L3, ReadableStreamDefaultReader, te, re, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream2, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream, TransformStreamDefaultController; -var init_ponyfill = __esm({ - "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { - e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; - o2 = t; - a2 = Promise; - i2 = Promise.prototype.then; - l2 = Promise.resolve.bind(a2); - s = Promise.reject.bind(a2); - y3 = (e3) => { - if ("function" == typeof queueMicrotask) - y3 = queueMicrotask; - else { - const e4 = c(void 0); - y3 = (t2) => f3(e4, t2); - } - return y3(e3); - }; - S2 = class { - constructor() { - this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; - } - get length() { - return this._size; - } - push(e3) { - const t2 = this._back; - let r3 = t2; - 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; - } - shift() { - const e3 = this._front; - let t2 = e3; - const r3 = this._cursor; - let o3 = r3 + 1; - const n2 = e3._elements, a3 = n2[r3]; - return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a3; - } - forEach(e3) { - let t2 = this._cursor, r3 = this._front, o3 = r3._elements; - for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) - e3(o3[t2]), ++t2; - } - peek() { - const e3 = this._front, t2 = this._cursor; - return e3._elements[t2]; - } - }; - v = e2("[[AbortSteps]]"); - R2 = e2("[[ErrorSteps]]"); - T2 = e2("[[CancelSteps]]"); - q2 = e2("[[PullSteps]]"); - C2 = e2("[[ReleaseSteps]]"); - z2 = Number.isFinite || function(e3) { - return "number" == typeof e3 && isFinite(e3); - }; - L3 = Math.trunc || function(e3) { - return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); - }; - ReadableStreamDefaultReader = class { - constructor(e3) { - if ($3(e3, 1, "ReadableStreamDefaultReader"), V3(e3, "First parameter"), Ut(e3)) - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - E2(this, e3), this._readRequests = new S2(); - } - get closed() { - return K2(this) ? this._closedPromise : d4(ee("closed")); - } - cancel(e3) { - return K2(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(ee("cancel")); - } - read() { - if (!K2(this)) - return d4(ee("read")); - if (void 0 === this._ownerReadableStream) - return d4(k3("read from")); - let e3, t2; - const r3 = u2((r4, o3) => { - e3 = r4, t2 = o3; - }); - return function(e4, t3) { - const r4 = e4._ownerReadableStream; - r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q2](t3); - }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; - } - releaseLock() { - if (!K2(this)) - throw ee("releaseLock"); - void 0 !== this._ownerReadableStream && function(e3) { - W3(e3); - const t2 = new TypeError("Reader was released"); - Z2(e3, t2); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); - te = class { - constructor(e3, t2) { - this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; - } - next() { - const e3 = () => this._nextSteps(); - return this._ongoingPromise = this._ongoingPromise ? p2(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; - } - return(e3) { - const t2 = () => this._returnSteps(e3); - return this._ongoingPromise ? p2(this._ongoingPromise, t2, t2) : t2(); - } - _nextSteps() { - if (this._isFinished) - return Promise.resolve({ value: void 0, done: true }); - const e3 = this._reader; - return void 0 === e3 ? d4(k3("iterate")) : f3(e3.read(), (e4) => { - var t2; - return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; - }, (e4) => { - var t2; - throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; - }); - } - _returnSteps(e3) { - if (this._isFinished) - return Promise.resolve({ value: e3, done: true }); - this._isFinished = true; - const t2 = this._reader; - if (void 0 === t2) - return d4(k3("finish iterating")); - if (this._reader = void 0, !this._preventCancel) { - const r3 = t2.cancel(e3); - return t2.releaseLock(), p2(r3, () => ({ value: e3, done: true })); - } - return t2.releaseLock(), c({ value: e3, done: true }); - } - }; - re = { next() { - return oe(this) ? this._asyncIteratorImpl.next() : d4(ne("next")); - }, return(e3) { - return oe(this) ? this._asyncIteratorImpl.return(e3) : d4(ne("return")); - } }; - "symbol" == typeof e2.asyncIterator && Object.defineProperty(re, e2.asyncIterator, { value() { - return this; - }, writable: true, configurable: true }); - ae2 = Number.isNaN || function(e3) { - return e3 != e3; - }; - ReadableStreamBYOBRequest = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get view() { - if (!fe(this)) - throw Be("view"); - return this._view; - } - respond(e3) { - if (!fe(this)) - throw Be("respond"); - if ($3(e3, 1, "respond"), e3 = N3(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) - throw new TypeError("This BYOB request has been invalidated"); - this._view.buffer, function(e4, t2) { - const r3 = e4._pendingPullIntos.peek(); - if ("closed" === e4._controlledReadableByteStream._state) { - if (0 !== t2) - throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); - } else { - if (0 === t2) - throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); - if (r3.bytesFilled + t2 > r3.byteLength) - throw new RangeError("bytesWritten out of range"); - } - r3.buffer = r3.buffer, qe(e4, t2); - }(this._associatedReadableByteStreamController, e3); - } - respondWithNewView(e3) { - if (!fe(this)) - throw Be("respondWithNewView"); - if ($3(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) - throw new TypeError("You can only respond with array buffer views"); - if (void 0 === this._associatedReadableByteStreamController) - throw new TypeError("This BYOB request has been invalidated"); - e3.buffer, function(e4, t2) { - const r3 = e4._pendingPullIntos.peek(); - if ("closed" === e4._controlledReadableByteStream._state) { - if (0 !== t2.byteLength) - throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); - } else if (0 === t2.byteLength) - throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); - if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) - throw new RangeError("The region specified by view does not match byobRequest"); - if (r3.bufferByteLength !== t2.buffer.byteLength) - throw new RangeError("The buffer of view has different capacity than byobRequest"); - if (r3.bytesFilled + t2.byteLength > r3.byteLength) - throw new RangeError("The region specified by view is larger than byobRequest"); - const o3 = t2.byteLength; - r3.buffer = t2.buffer, qe(e4, o3); - }(this._associatedReadableByteStreamController, e3); - } - }; - Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); - ReadableByteStreamController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get byobRequest() { - if (!de(this)) - throw Ae("byobRequest"); - return function(e3) { - if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { - const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); - !function(e4, t3, r4) { - e4._associatedReadableByteStreamController = t3, e4._view = r4; - }(o3, e3, r3), e3._byobRequest = o3; - } - return e3._byobRequest; - }(this); - } - get desiredSize() { - if (!de(this)) - throw Ae("desiredSize"); - return ke(this); - } - close() { - if (!de(this)) - throw Ae("close"); - if (this._closeRequested) - throw new TypeError("The stream has already been closed; do not close it again!"); - const e3 = this._controlledReadableByteStream._state; - if ("readable" !== e3) - throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); - !function(e4) { - const t2 = e4._controlledReadableByteStream; - if (e4._closeRequested || "readable" !== t2._state) - return; - if (e4._queueTotalSize > 0) - return void (e4._closeRequested = true); - if (e4._pendingPullIntos.length > 0) { - if (e4._pendingPullIntos.peek().bytesFilled > 0) { - const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - throw Pe(e4, t3), t3; - } - } - Ee(e4), Xt(t2); - }(this); - } - enqueue(e3) { - if (!de(this)) - throw Ae("enqueue"); - if ($3(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) - throw new TypeError("chunk must be an array buffer view"); - if (0 === e3.byteLength) - throw new TypeError("chunk must have non-zero byteLength"); - if (0 === e3.buffer.byteLength) - throw new TypeError("chunk's buffer must have non-zero byteLength"); - if (this._closeRequested) - throw new TypeError("stream is closed or draining"); - const t2 = this._controlledReadableByteStream._state; - if ("readable" !== t2) - throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); - !function(e4, t3) { - const r3 = e4._controlledReadableByteStream; - if (e4._closeRequested || "readable" !== r3._state) - return; - const o3 = t3.buffer, n2 = t3.byteOffset, a3 = t3.byteLength, i3 = o3; - if (e4._pendingPullIntos.length > 0) { - const t4 = e4._pendingPullIntos.peek(); - t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); - } - if (J3(r3)) - if (function(e5) { - const t4 = e5._controlledReadableByteStream._reader; - for (; t4._readRequests.length > 0; ) { - if (0 === e5._queueTotalSize) - return; - We(e5, t4._readRequests.shift()); - } - }(e4), 0 === X3(r3)) - me(e4, i3, n2, a3); - else { - e4._pendingPullIntos.length > 0 && Ce(e4); - G3(r3, new Uint8Array(i3, n2, a3), false); - } - else - Le(r3) ? (me(e4, i3, n2, a3), Te(e4)) : me(e4, i3, n2, a3); - be(e4); - }(this, e3); - } - error(e3) { - if (!de(this)) - throw Ae("error"); - Pe(this, e3); - } - [T2](e3) { - he(this), ce2(this); - const t2 = this._cancelAlgorithm(e3); - return Ee(this), t2; - } - [q2](e3) { - const t2 = this._controlledReadableByteStream; - if (this._queueTotalSize > 0) - return void We(this, e3); - const r3 = this._autoAllocateChunkSize; - if (void 0 !== r3) { - let t3; - try { - t3 = new ArrayBuffer(r3); - } catch (t4) { - return void e3._errorSteps(t4); - } - const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; - this._pendingPullIntos.push(o3); - } - U4(t2, e3), be(this); - } - [C2]() { - if (this._pendingPullIntos.length > 0) { - const e3 = this._pendingPullIntos.peek(); - e3.readerType = "none", this._pendingPullIntos = new S2(), this._pendingPullIntos.push(e3); - } - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); - ReadableStreamBYOBReader = class { - constructor(e3) { - if ($3(e3, 1, "ReadableStreamBYOBReader"), V3(e3, "First parameter"), Ut(e3)) - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - if (!de(e3._readableStreamController)) - throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); - E2(this, e3), this._readIntoRequests = new S2(); - } - get closed() { - return Fe(this) ? this._closedPromise : d4(De("closed")); - } - cancel(e3) { - return Fe(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(De("cancel")); - } - read(e3) { - if (!Fe(this)) - return d4(De("read")); - if (!ArrayBuffer.isView(e3)) - return d4(new TypeError("view must be an array buffer view")); - if (0 === e3.byteLength) - return d4(new TypeError("view must have non-zero byteLength")); - if (0 === e3.buffer.byteLength) - return d4(new TypeError("view's buffer must have non-zero byteLength")); - if (e3.buffer, void 0 === this._ownerReadableStream) - return d4(k3("read from")); - let t2, r3; - const o3 = u2((e4, o4) => { - t2 = e4, r3 = o4; - }); - return function(e4, t3, r4) { - const o4 = e4._ownerReadableStream; - o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { - const o5 = e5._controlledReadableByteStream; - let n2 = 1; - t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); - const a3 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a3, readerType: "byob" }; - if (e5._pendingPullIntos.length > 0) - return e5._pendingPullIntos.push(l3), void je(o5, r5); - if ("closed" !== o5._state) { - if (e5._queueTotalSize > 0) { - if (we(e5, l3)) { - const t5 = pe(l3); - return ve(e5), void r5._chunkSteps(t5); - } - if (e5._closeRequested) { - const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - return Pe(e5, t5), void r5._errorSteps(t5); - } - } - e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); - } else { - const e6 = new a3(l3.buffer, l3.byteOffset, 0); - r5._closeSteps(e6); - } - }(o4._readableStreamController, t3, r4); - }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; - } - releaseLock() { - if (!Fe(this)) - throw De("releaseLock"); - void 0 !== this._ownerReadableStream && function(e3) { - W3(e3); - const t2 = new TypeError("Reader was released"); - Ie(e3, t2); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); - Ue = "function" == typeof AbortController; - WritableStream = class { - constructor(e3 = {}, t2 = {}) { - void 0 === e3 ? e3 = null : D3(e3, "First parameter"); - const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { - F2(e4, t3); - const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; - return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a4 }; - }(e3, "First parameter"); - var n2; - (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S2(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; - if (void 0 !== o3.type) - throw new RangeError("Invalid type is specified"); - const a3 = Me(r3); - !function(e4, t3, r4, o4) { - const n3 = Object.create(WritableStreamDefaultController.prototype); - let a4, i3, l3, s2; - a4 = void 0 !== t3.start ? () => t3.start(n3) : () => { - }; - i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c(void 0); - l3 = void 0 !== t3.close ? () => t3.close() : () => c(void 0); - s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c(void 0); - !function(e5, t4, r5, o5, n4, a5, i4, l4) { - t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { - if (Ue) - return new AbortController(); - }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a5; - const s3 = bt(t4); - nt(e5, s3); - const u3 = r5(); - b2(c(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); - }(e4, n3, a4, i3, l3, s2, r4, o4); - }(this, o3, $e(r3, 1), a3); - } - get locked() { - if (!Ge(this)) - throw _t("locked"); - return Xe(this); - } - abort(e3) { - return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d4(_t("abort")); - } - close() { - return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d4(_t("close")); - } - getWriter() { - if (!Ge(this)) - throw _t("getWriter"); - return new WritableStreamDefaultWriter(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); - WritableStreamDefaultWriter = class { - constructor(e3) { - if ($3(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { - if (!Ge(e4)) - throw new TypeError(`${t3} is not a WritableStream.`); - }(e3, "First parameter"), Xe(e3)) - throw new TypeError("This stream has already been locked for exclusive writing by another writer"); - this._ownerWritableStream = e3, e3._writer = this; - const t2 = e3._state; - if ("writable" === t2) - !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); - else if ("erroring" === t2) - Tt(this, e3._storedError), gt(this); - else if ("closed" === t2) - qt(this), gt(r3 = this), vt(r3); - else { - const t3 = e3._storedError; - Tt(this, t3), wt(this, t3); - } - var r3; - } - get closed() { - return at(this) ? this._closedPromise : d4(mt("closed")); - } - get desiredSize() { - if (!at(this)) - throw mt("desiredSize"); - if (void 0 === this._ownerWritableStream) - throw yt("desiredSize"); - return function(e3) { - const t2 = e3._ownerWritableStream, r3 = t2._state; - if ("errored" === r3 || "erroring" === r3) - return null; - if ("closed" === r3) - return 0; - return ct(t2._writableStreamController); - }(this); - } - get ready() { - return at(this) ? this._readyPromise : d4(mt("ready")); - } - abort(e3) { - return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("abort")) : function(e4, t2) { - return Je(e4._ownerWritableStream, t2); - }(this, e3) : d4(mt("abort")); - } - close() { - if (!at(this)) - return d4(mt("close")); - const e3 = this._ownerWritableStream; - return void 0 === e3 ? d4(yt("close")) : rt(e3) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); - } - releaseLock() { - if (!at(this)) - throw mt("releaseLock"); - void 0 !== this._ownerWritableStream && function(e3) { - const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); - it(e3, r3), function(e4, t3) { - "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { - wt(e5, t4); - }(e4, t3); - }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; - }(this); - } - write(e3) { - return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("write to")) : function(e4, t2) { - const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { - try { - return e5._strategySizeAlgorithm(t3); - } catch (t4) { - return ft(e5, t4), 1; - } - }(o3, t2); - if (r3 !== e4._ownerWritableStream) - return d4(yt("write to")); - const a3 = r3._state; - if ("errored" === a3) - return d4(r3._storedError); - if (rt(r3) || "closed" === a3) - return d4(new TypeError("The stream is closing or closed and cannot be written to")); - if ("erroring" === a3) - return d4(r3._storedError); - const i3 = function(e5) { - return u2((t3, r4) => { - const o4 = { _resolve: t3, _reject: r4 }; - e5._writeRequests.push(o4); - }); - }(r3); - return function(e5, t3, r4) { - try { - ue2(e5, t3, r4); - } catch (t4) { - return void ft(e5, t4); - } - const o4 = e5._controlledWritableStream; - if (!rt(o4) && "writable" === o4._state) { - nt(o4, bt(e5)); - } - dt(e5); - }(o3, t2, n2), i3; - }(this, e3) : d4(mt("write")); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); - lt = {}; - WritableStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get abortReason() { - if (!st(this)) - throw pt("abortReason"); - return this._abortReason; - } - get signal() { - if (!st(this)) - throw pt("signal"); - if (void 0 === this._abortController) - throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); - return this._abortController.signal; - } - error(e3) { - if (!st(this)) - throw pt("error"); - "writable" === this._controlledWritableStream._state && ht(this, e3); - } - [v](e3) { - const t2 = this._abortAlgorithm(e3); - return ut(this), t2; - } - [R2]() { - ce2(this); - } - }; - Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); - Pt = "undefined" != typeof DOMException ? DOMException : void 0; - Wt = function(e3) { - if ("function" != typeof e3 && "object" != typeof e3) - return false; - try { - return new e3(), true; - } catch (e4) { - return false; - } - }(Pt) ? Pt : function() { - const e3 = function(e4, t2) { - this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); - }; - return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; - }(); - ReadableStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!Bt(this)) - throw Dt("desiredSize"); - return Lt(this); - } - close() { - if (!Bt(this)) - throw Dt("close"); - if (!Ft(this)) - throw new TypeError("The stream is not in a state that permits close"); - !function(e3) { - if (!Ft(e3)) - return; - const t2 = e3._controlledReadableStream; - e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); - }(this); - } - enqueue(e3) { - if (!Bt(this)) - throw Dt("enqueue"); - if (!Ft(this)) - throw new TypeError("The stream is not in a state that permits enqueue"); - return function(e4, t2) { - if (!Ft(e4)) - return; - const r3 = e4._controlledReadableStream; - if (Ut(r3) && X3(r3) > 0) - G3(r3, t2, false); - else { - let r4; - try { - r4 = e4._strategySizeAlgorithm(t2); - } catch (t3) { - throw zt(e4, t3), t3; - } - try { - ue2(e4, t2, r4); - } catch (t3) { - throw zt(e4, t3), t3; - } - } - At(e4); - }(this, e3); - } - error(e3) { - if (!Bt(this)) - throw Dt("error"); - zt(this, e3); - } - [T2](e3) { - ce2(this); - const t2 = this._cancelAlgorithm(e3); - return jt(this), t2; - } - [q2](e3) { - const t2 = this._controlledReadableStream; - if (this._queue.length > 0) { - const r3 = se(this); - this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); - } else - U4(t2, e3), At(this); - } - [C2]() { - } - }; - Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); - ReadableStream2 = class { - constructor(e3 = {}, t2 = {}) { - void 0 === e3 ? e3 = null : D3(e3, "First parameter"); - const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { - F2(e4, t3); - const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a3 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; - return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N3(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a3 ? void 0 : Mt(a3, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; - }(e3, "First parameter"); - var n2; - if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { - if (void 0 !== r3.size) - throw new RangeError("The strategy for a byte stream cannot have a size function"); - Oe(this, o3, $e(r3, 0)); - } else { - const e4 = Me(r3); - It(this, o3, $e(r3, 1), e4); - } - } - get locked() { - if (!Vt(this)) - throw Kt("locked"); - return Ut(this); - } - cancel(e3) { - return Vt(this) ? Ut(this) ? d4(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d4(Kt("cancel")); - } - getReader(e3) { - if (!Vt(this)) - throw Kt("getReader"); - return void 0 === function(e4, t2) { - F2(e4, t2); - const r3 = null == e4 ? void 0 : e4.mode; - return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; - }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { - return new ReadableStreamBYOBReader(e4); - }(this); - } - pipeThrough(e3, t2 = {}) { - if (!H2(this)) - throw Kt("pipeThrough"); - $3(e3, 1, "pipeThrough"); - const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); - if (this.locked) - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); - if (r3.writable.locked) - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); - return m3(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; - } - pipeTo(e3, t2 = {}) { - if (!H2(this)) - return d4(Kt("pipeTo")); - if (void 0 === e3) - return d4("Parameter 1 is required in 'pipeTo'."); - if (!x(e3)) - return d4(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); - let r3; - try { - r3 = Ht(t2, "Second parameter"); - } catch (e4) { - return d4(e4); - } - return this.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); - } - tee() { - if (!H2(this)) - throw Kt("tee"); - if (this.locked) - throw new TypeError("Cannot tee a stream that already has a reader"); - return Ot(this); - } - values(e3) { - if (!H2(this)) - throw Kt("values"); - return function(e4, t2) { - const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re); - return n2._asyncIteratorImpl = o3, n2; - }(this, function(e4, t2) { - F2(e4, t2); - const r3 = null == e4 ? void 0 : e4.preventCancel; - return { preventCancel: Boolean(r3) }; - }(e3, "First parameter").preventCancel); - } - }; - Object.defineProperties(ReadableStream2.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream2.prototype.cancel, "cancel"), n(ReadableStream2.prototype.getReader, "getReader"), n(ReadableStream2.prototype.pipeThrough, "pipeThrough"), n(ReadableStream2.prototype.pipeTo, "pipeTo"), n(ReadableStream2.prototype.tee, "tee"), n(ReadableStream2.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream2.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream2.prototype, e2.asyncIterator, { value: ReadableStream2.prototype.values, writable: true, configurable: true }); - er = (e3) => e3.byteLength; - n(er, "size"); - ByteLengthQueuingStrategy = class { - constructor(e3) { - $3(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; - } - get highWaterMark() { - if (!rr(this)) - throw tr("highWaterMark"); - return this._byteLengthQueuingStrategyHighWaterMark; - } - get size() { - if (!rr(this)) - throw tr("size"); - return er; - } - }; - Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); - or = () => 1; - n(or, "size"); - CountQueuingStrategy = class { - constructor(e3) { - $3(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; - } - get highWaterMark() { - if (!ar(this)) - throw nr("highWaterMark"); - return this._countQueuingStrategyHighWaterMark; - } - get size() { - if (!ar(this)) - throw nr("size"); - return or; - } - }; - Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); - TransformStream = class { - constructor(e3 = {}, t2 = {}, r3 = {}) { - void 0 === e3 && (e3 = null); - const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a3 = function(e4, t3) { - F2(e4, t3); - const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; - return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a4 ? void 0 : sr(a4, e4, `${t3} has member 'transform' that`), writableType: i4 }; - }(e3, "First parameter"); - if (void 0 !== a3.readableType) - throw new RangeError("Invalid readableType specified"); - if (void 0 !== a3.writableType) - throw new RangeError("Invalid writableType specified"); - const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); - let b3; - !function(e4, t3, r4, o4, n3, a4) { - function i4() { - return t3; - } - function l4(t4) { - return function(e5, t5) { - const r5 = e5._transformStreamController; - if (e5._backpressure) { - return p2(e5._backpressureChangePromise, () => { - if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) - throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; - return pr(r5, t5); - }); - } - return pr(r5, t5); - }(e4, t4); - } - function s3(t4) { - return function(e5, t5) { - return cr(e5, t5), c(void 0); - }(e4, t4); - } - function u3() { - return function(e5) { - const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); - return hr(t4), p2(r5, () => { - if ("errored" === e5._readableState) - throw e5._readableStoredError; - gr(e5) && wr(e5); - }, (t5) => { - throw cr(e5, t5), e5._readableStoredError; - }); - }(e4); - } - function d5() { - return function(e5) { - return fr(e5, false), e5._backpressureChangePromise; - }(e4); - } - function f5(t4) { - return dr(e4, t4), c(void 0); - } - e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a5, i5) { - return new WritableStream({ start(r6) { - e5._writableController = r6; - try { - const t5 = r6.signal; - void 0 !== t5 && t5.addEventListener("abort", () => { - "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); - }); - } catch (e6) { - } - return p2(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { - throw e5._writableStarted = true, Rr(e5, t5), t5; - }); - }, write: (t5) => (function(e6) { - e6._writableHasInFlightOperation = true; - }(e5), p2(r5(t5), () => (function(e6) { - e6._writableHasInFlightOperation = false; - }(e5), Cr(e5), null), (t6) => { - throw function(e6, t7) { - e6._writableHasInFlightOperation = false, Rr(e6, t7); - }(e5, t6), t6; - })), close: () => (function(e6) { - e6._writableHasInFlightOperation = true; - }(e5), p2(o5(), () => (function(e6) { - e6._writableHasInFlightOperation = false; - "erroring" === e6._writableState && (e6._writableStoredError = void 0); - e6._writableState = "closed"; - }(e5), null), (t5) => { - throw function(e6, t6) { - e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); - }(e5, t5), t5; - })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a5, size: i5 }); - }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a5) { - return new ReadableStream2({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { - Sr(e5, t5); - })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { - Sr(e5, t5); - })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a5 }); - }(e4, i4, d5, f5, n3, a4), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; - }(this, u2((e4) => { - b3 = e4; - }), s2, f4, i3, l3), function(e4, t3) { - const r4 = Object.create(TransformStreamDefaultController.prototype); - let o4, n3; - o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { - try { - return _r(r4, e5), c(void 0); - } catch (e6) { - return d4(e6); - } - }; - n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c(void 0); - !function(e5, t4, r5, o5) { - t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; - }(e4, r4, o4, n3); - }(this, a3), void 0 !== a3.start ? b3(a3.start(this._transformStreamController)) : b3(void 0); - } - get readable() { - if (!ur(this)) - throw yr("readable"); - return this._readable; - } - get writable() { - if (!ur(this)) - throw yr("writable"); - return this._writable; - } - }; - Object.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); - TransformStreamDefaultController = class { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!br(this)) - throw mr("desiredSize"); - return vr(this._controlledTransformStream); - } - enqueue(e3) { - if (!br(this)) - throw mr("enqueue"); - _r(this, e3); - } - error(e3) { - if (!br(this)) - throw mr("error"); - var t2; - t2 = e3, cr(this._controlledTransformStream, t2); - } - terminate() { - if (!br(this)) - throw mr("terminate"); - !function(e3) { - const t2 = e3._controlledTransformStream; - gr(t2) && wr(t2); - const r3 = new TypeError("TransformStream terminated"); - dr(t2, r3); - }(this); - } - }; - Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); - } -}); - -// node_modules/formdata-node/lib/esm/isFunction.js -var isFunction2; -var init_isFunction = __esm({ - "node_modules/formdata-node/lib/esm/isFunction.js"() { - isFunction2 = (value) => typeof value === "function"; - } -}); - -// node_modules/formdata-node/lib/esm/blobHelpers.js -async function* clonePart(part) { - const end = part.byteOffset + part.byteLength; - let position = part.byteOffset; - while (position !== end) { - const size = Math.min(end - position, CHUNK_SIZE); - const chunk = part.buffer.slice(position, position + size); - position += chunk.byteLength; - yield new Uint8Array(chunk); - } -} -async function* consumeNodeBlob(blob) { - let position = 0; - while (position !== blob.size) { - const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); - const buffer = await chunk.arrayBuffer(); - position += buffer.byteLength; - yield new Uint8Array(buffer); - } -} -async function* consumeBlobParts(parts, clone = false) { - for (const part of parts) { - if (ArrayBuffer.isView(part)) { - if (clone) { - yield* clonePart(part); - } else { - yield part; - } - } else if (isFunction2(part.stream)) { - yield* part.stream(); - } else { - yield* consumeNodeBlob(part); - } - } -} -function* sliceBlob(blobParts, blobSize, start = 0, end) { - end !== null && end !== void 0 ? end : end = blobSize; - let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); - let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); - const span = Math.max(relativeEnd - relativeStart, 0); - let added = 0; - for (const part of blobParts) { - if (added >= span) { - break; - } - const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; - if (relativeStart && partSize <= relativeStart) { - relativeStart -= partSize; - relativeEnd -= partSize; - } else { - let chunk; - if (ArrayBuffer.isView(part)) { - chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); - added += chunk.byteLength; - } else { - chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); - added += chunk.size; - } - relativeEnd -= partSize; - relativeStart = 0; - yield chunk; - } - } -} -var CHUNK_SIZE; -var init_blobHelpers = __esm({ - "node_modules/formdata-node/lib/esm/blobHelpers.js"() { - init_isFunction(); - CHUNK_SIZE = 65536; - } -}); - -// node_modules/formdata-node/lib/esm/Blob.js -var __classPrivateFieldGet, __classPrivateFieldSet, _Blob_parts, _Blob_type, _Blob_size, Blob3; -var init_Blob = __esm({ - "node_modules/formdata-node/lib/esm/Blob.js"() { - init_ponyfill(); - init_isFunction(); - init_blobHelpers(); - __classPrivateFieldGet = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - __classPrivateFieldSet = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - Blob3 = class { - constructor(blobParts = [], options = {}) { - _Blob_parts.set(this, []); - _Blob_type.set(this, ""); - _Blob_size.set(this, 0); - options !== null && options !== void 0 ? options : options = {}; - if (typeof blobParts !== "object" || blobParts === null) { - throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); - } - if (!isFunction2(blobParts[Symbol.iterator])) { - throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); - } - if (typeof options !== "object" && !isFunction2(options)) { - throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); - } - const encoder = new TextEncoder(); - for (const raw of blobParts) { - let part; - if (ArrayBuffer.isView(raw)) { - part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); - } else if (raw instanceof ArrayBuffer) { - part = new Uint8Array(raw.slice(0)); - } else if (raw instanceof Blob3) { - part = raw; - } else { - part = encoder.encode(String(raw)); - } - __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); - __classPrivateFieldGet(this, _Blob_parts, "f").push(part); - } - const type = options.type === void 0 ? "" : String(options.type); - __classPrivateFieldSet(this, _Blob_type, /^[\x20-\x7E]*$/.test(type) ? type : "", "f"); - } - static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { - return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); - } - get type() { - return __classPrivateFieldGet(this, _Blob_type, "f"); - } - get size() { - return __classPrivateFieldGet(this, _Blob_size, "f"); - } - slice(start, end, contentType) { - return new Blob3(sliceBlob(__classPrivateFieldGet(this, _Blob_parts, "f"), this.size, start, end), { - type: contentType - }); - } - async text() { - const decoder = new TextDecoder(); - let result = ""; - for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { - result += decoder.decode(chunk, { stream: true }); - } - result += decoder.decode(); - return result; - } - async arrayBuffer() { - const view = new Uint8Array(this.size); - let offset = 0; - for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"))) { - view.set(chunk, offset); - offset += chunk.length; - } - return view.buffer; - } - stream() { - const iterator = consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, "f"), true); - return new ReadableStream2({ - async pull(controller) { - const { value, done } = await iterator.next(); - if (done) { - return queueMicrotask(() => controller.close()); - } - controller.enqueue(value); - }, - async cancel() { - await iterator.return(); - } - }); - } - get [Symbol.toStringTag]() { - return "Blob"; - } - }; - Object.defineProperties(Blob3.prototype, { - type: { enumerable: true }, - size: { enumerable: true }, - slice: { enumerable: true }, - stream: { enumerable: true }, - text: { enumerable: true }, - arrayBuffer: { enumerable: true } - }); - } -}); - -// node_modules/formdata-node/lib/esm/File.js -var __classPrivateFieldSet2, __classPrivateFieldGet2, _File_name, _File_lastModified, File2; -var init_File = __esm({ - "node_modules/formdata-node/lib/esm/File.js"() { - init_Blob(); - __classPrivateFieldSet2 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet2 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - File2 = class extends Blob3 { - constructor(fileBits, name, options = {}) { - super(fileBits, options); - _File_name.set(this, void 0); - _File_lastModified.set(this, 0); - if (arguments.length < 2) { - throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); - } - __classPrivateFieldSet2(this, _File_name, String(name), "f"); - const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); - if (!Number.isNaN(lastModified)) { - __classPrivateFieldSet2(this, _File_lastModified, lastModified, "f"); - } - } - static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { - return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; - } - get name() { - return __classPrivateFieldGet2(this, _File_name, "f"); - } - get lastModified() { - return __classPrivateFieldGet2(this, _File_lastModified, "f"); - } - get webkitRelativePath() { - return ""; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - } -}); - -// node_modules/formdata-node/lib/esm/isFile.js -var isFile2; -var init_isFile = __esm({ - "node_modules/formdata-node/lib/esm/isFile.js"() { - init_File(); - isFile2 = (value) => value instanceof File2; - } -}); - -// node_modules/humanize-ms/index.js -var require_humanize_ms = __commonJS({ - "node_modules/humanize-ms/index.js"(exports, module2) { - "use strict"; - var util2 = require("util"); - var ms = require_ms(); - module2.exports = function(t2) { - if (typeof t2 === "number") - return t2; - var r3 = ms(t2); - if (r3 === void 0) { - var err = new Error(util2.format("humanize-ms(%j) result undefined", t2)); - console.warn(err.stack); - } - return r3; - }; - } -}); - -// node_modules/agentkeepalive/lib/constants.js -var require_constants6 = __commonJS({ - "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { - "use strict"; - module2.exports = { - CURRENT_ID: Symbol("agentkeepalive#currentId"), - CREATE_ID: Symbol("agentkeepalive#createId"), - INIT_SOCKET: Symbol("agentkeepalive#initSocket"), - CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), - SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), - SOCKET_NAME: Symbol("agentkeepalive#socketName"), - SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), - SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") - }; - } -}); - -// node_modules/agentkeepalive/lib/agent.js -var require_agent2 = __commonJS({ - "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { - "use strict"; - var OriginalAgent = require("http").Agent; - var ms = require_humanize_ms(); - var debug2 = require("util").debuglog("agentkeepalive"); - var { - INIT_SOCKET, - CURRENT_ID, - CREATE_ID, - SOCKET_CREATED_TIME, - SOCKET_NAME, - SOCKET_REQUEST_COUNT, - SOCKET_REQUEST_FINISHED_COUNT - } = require_constants6(); - var defaultTimeoutListenerCount = 1; - var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); - if (majorVersion >= 11 && majorVersion <= 12) { - defaultTimeoutListenerCount = 2; - } else if (majorVersion >= 13) { - defaultTimeoutListenerCount = 3; - } - function deprecate2(message) { - console.log("[agentkeepalive:deprecated] %s", message); - } - var Agent = class extends OriginalAgent { - constructor(options) { - options = options || {}; - options.keepAlive = options.keepAlive !== false; - if (options.freeSocketTimeout === void 0) { - options.freeSocketTimeout = 4e3; - } - if (options.keepAliveTimeout) { - deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); - options.freeSocketTimeout = options.keepAliveTimeout; - delete options.keepAliveTimeout; - } - if (options.freeSocketKeepAliveTimeout) { - deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); - options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; - delete options.freeSocketKeepAliveTimeout; - } - if (options.timeout === void 0) { - options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); - } - options.timeout = ms(options.timeout); - options.freeSocketTimeout = ms(options.freeSocketTimeout); - options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; - super(options); - this[CURRENT_ID] = 0; - this.createSocketCount = 0; - this.createSocketCountLastCheck = 0; - this.createSocketErrorCount = 0; - this.createSocketErrorCountLastCheck = 0; - this.closeSocketCount = 0; - this.closeSocketCountLastCheck = 0; - this.errorSocketCount = 0; - this.errorSocketCountLastCheck = 0; - this.requestCount = 0; - this.requestCountLastCheck = 0; - this.timeoutSocketCount = 0; - this.timeoutSocketCountLastCheck = 0; - this.on("free", (socket) => { - const timeout = this.calcSocketTimeout(socket); - if (timeout > 0 && socket.timeout !== timeout) { - socket.setTimeout(timeout); - } - }); - } - get freeSocketKeepAliveTimeout() { - deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); - return this.options.freeSocketTimeout; - } - get timeout() { - deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); - return this.options.timeout; - } - get socketActiveTTL() { - deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); - return this.options.socketActiveTTL; - } - calcSocketTimeout(socket) { - let freeSocketTimeout = this.options.freeSocketTimeout; - const socketActiveTTL = this.options.socketActiveTTL; - if (socketActiveTTL) { - const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; - const diff = socketActiveTTL - aliveTime; - if (diff <= 0) { - return diff; - } - if (freeSocketTimeout && diff < freeSocketTimeout) { - freeSocketTimeout = diff; - } - } - if (freeSocketTimeout) { - const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; - return customFreeSocketTimeout || freeSocketTimeout; - } - } - keepSocketAlive(socket) { - const result = super.keepSocketAlive(socket); - if (!result) - return result; - const customTimeout = this.calcSocketTimeout(socket); - if (typeof customTimeout === "undefined") { - return true; - } - if (customTimeout <= 0) { - debug2( - "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - customTimeout - ); - return false; - } - if (socket.timeout !== customTimeout) { - socket.setTimeout(customTimeout); - } - return true; - } - reuseSocket(...args) { - super.reuseSocket(...args); - const socket = args[0]; - const req = args[1]; - req.reusedSocket = true; - const agentTimeout = this.options.timeout; - if (getSocketTimeout(socket) !== agentTimeout) { - socket.setTimeout(agentTimeout); - debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); - } - socket[SOCKET_REQUEST_COUNT]++; - debug2( - "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - getSocketTimeout(socket) - ); - } - [CREATE_ID]() { - const id = this[CURRENT_ID]++; - if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) - this[CURRENT_ID] = 0; - return id; - } - [INIT_SOCKET](socket, options) { - if (options.timeout) { - const timeout = getSocketTimeout(socket); - if (!timeout) { - socket.setTimeout(options.timeout); - } - } - if (this.options.keepAlive) { - socket.setNoDelay(true); - } - this.createSocketCount++; - if (this.options.socketActiveTTL) { - socket[SOCKET_CREATED_TIME] = Date.now(); - } - socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; - socket[SOCKET_REQUEST_COUNT] = 1; - socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; - installListeners(this, socket, options); - } - createConnection(options, oncreate) { - let called = false; - const onNewCreate = (err, socket) => { - if (called) - return; - called = true; - if (err) { - this.createSocketErrorCount++; - return oncreate(err); - } - this[INIT_SOCKET](socket, options); - oncreate(err, socket); - }; - const newSocket = super.createConnection(options, onNewCreate); - if (newSocket) - onNewCreate(null, newSocket); - return newSocket; - } - get statusChanged() { - const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; - if (changed) { - this.createSocketCountLastCheck = this.createSocketCount; - this.createSocketErrorCountLastCheck = this.createSocketErrorCount; - this.closeSocketCountLastCheck = this.closeSocketCount; - this.errorSocketCountLastCheck = this.errorSocketCount; - this.timeoutSocketCountLastCheck = this.timeoutSocketCount; - this.requestCountLastCheck = this.requestCount; - } - return changed; - } - getCurrentStatus() { - return { - createSocketCount: this.createSocketCount, - createSocketErrorCount: this.createSocketErrorCount, - closeSocketCount: this.closeSocketCount, - errorSocketCount: this.errorSocketCount, - timeoutSocketCount: this.timeoutSocketCount, - requestCount: this.requestCount, - freeSockets: inspect2(this.freeSockets), - sockets: inspect2(this.sockets), - requests: inspect2(this.requests) - }; - } - }; - function getSocketTimeout(socket) { - return socket.timeout || socket._idleTimeout; - } - function installListeners(agent, socket, options) { - debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); - function onFree() { - if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) - return; - socket[SOCKET_REQUEST_FINISHED_COUNT]++; - agent.requestCount++; - debug2( - "%s(requests: %s, finished: %s) free", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - const name = agent.getName(options); - if (socket.writable && agent.requests[name] && agent.requests[name].length) { - socket[SOCKET_REQUEST_COUNT]++; - debug2( - "%s(requests: %s, finished: %s) will be reuse on agent free event", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - } - } - socket.on("free", onFree); - function onClose(isError) { - debug2( - "%s(requests: %s, finished: %s) close, isError: %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - isError - ); - agent.closeSocketCount++; - } - socket.on("close", onClose); - function onTimeout() { - const listenerCount = socket.listeners("timeout").length; - const timeout = getSocketTimeout(socket); - const req = socket._httpMessage; - const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; - debug2( - "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - timeout, - listenerCount, - defaultTimeoutListenerCount, - !!req, - reqTimeoutListenerCount - ); - if (debug2.enabled) { - debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); - } - agent.timeoutSocketCount++; - const name = agent.getName(options); - if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { - socket.destroy(); - agent.removeSocket(socket, options); - debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); - } else { - if (reqTimeoutListenerCount === 0) { - const error = new Error("Socket timeout"); - error.code = "ERR_SOCKET_TIMEOUT"; - error.timeout = timeout; - socket.destroy(error); - agent.removeSocket(socket, options); - debug2("%s destroy with timeout error", socket[SOCKET_NAME]); - } - } - } - socket.on("timeout", onTimeout); - function onError(err) { - const listenerCount = socket.listeners("error").length; - debug2( - "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT], - err, - listenerCount - ); - agent.errorSocketCount++; - if (listenerCount === 1) { - debug2("%s emit uncaught error event", socket[SOCKET_NAME]); - socket.removeListener("error", onError); - socket.emit("error", err); - } - } - socket.on("error", onError); - function onRemove() { - debug2( - "%s(requests: %s, finished: %s) agentRemove", - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], - socket[SOCKET_REQUEST_FINISHED_COUNT] - ); - socket.removeListener("close", onClose); - socket.removeListener("error", onError); - socket.removeListener("free", onFree); - socket.removeListener("timeout", onTimeout); - socket.removeListener("agentRemove", onRemove); - } - socket.on("agentRemove", onRemove); - } - module2.exports = Agent; - function inspect2(obj) { - const res = {}; - for (const key in obj) { - res[key] = obj[key].length; - } - return res; - } - } -}); - -// node_modules/agentkeepalive/lib/https_agent.js -var require_https_agent = __commonJS({ - "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { - "use strict"; - var OriginalHttpsAgent = require("https").Agent; - var HttpAgent = require_agent2(); - var { - INIT_SOCKET, - CREATE_HTTPS_CONNECTION - } = require_constants6(); - var HttpsAgent = class extends HttpAgent { - constructor(options) { - super(options); - this.defaultPort = 443; - this.protocol = "https:"; - this.maxCachedSessions = this.options.maxCachedSessions; - if (this.maxCachedSessions === void 0) { - this.maxCachedSessions = 100; - } - this._sessionCache = { - map: {}, - list: [] - }; - } - createConnection(options, oncreate) { - const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); - this[INIT_SOCKET](socket, options); - return socket; - } - }; - HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; - [ - "getName", - "_getSession", - "_cacheSession", - "_evictSession" - ].forEach(function(method) { - if (typeof OriginalHttpsAgent.prototype[method] === "function") { - HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; - } - }); - module2.exports = HttpsAgent; - } -}); - -// node_modules/agentkeepalive/index.js -var require_agentkeepalive = __commonJS({ - "node_modules/agentkeepalive/index.js"(exports, module2) { - "use strict"; - module2.exports = require_agent2(); - module2.exports.HttpsAgent = require_https_agent(); - module2.exports.constants = require_constants6(); - } -}); - -// node_modules/event-target-shim/dist/event-target-shim.js -var require_event_target_shim = __commonJS({ - "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var privateData = /* @__PURE__ */ new WeakMap(); - var wrappers = /* @__PURE__ */ new WeakMap(); - function pd(event) { - const retv = privateData.get(event); - console.assert( - retv != null, - "'this' is expected an Event object, but got", - event - ); - return retv; - } - function setCancelFlag(data) { - if (data.passiveListener != null) { - if (typeof console !== "undefined" && typeof console.error === "function") { - console.error( - "Unable to preventDefault inside passive event listener invocation.", - data.passiveListener - ); - } - return; - } - if (!data.event.cancelable) { - return; - } - data.canceled = true; - if (typeof data.event.preventDefault === "function") { - data.event.preventDefault(); - } - } - function Event2(eventTarget, event) { - privateData.set(this, { - eventTarget, - event, - eventPhase: 2, - currentTarget: eventTarget, - canceled: false, - stopped: false, - immediateStopped: false, - passiveListener: null, - timeStamp: event.timeStamp || Date.now() - }); - Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); - const keys = Object.keys(event); - for (let i3 = 0; i3 < keys.length; ++i3) { - const key = keys[i3]; - if (!(key in this)) { - Object.defineProperty(this, key, defineRedirectDescriptor(key)); - } - } - } - Event2.prototype = { - get type() { - return pd(this).event.type; - }, - get target() { - return pd(this).eventTarget; - }, - get currentTarget() { - return pd(this).currentTarget; - }, - composedPath() { - const currentTarget = pd(this).currentTarget; - if (currentTarget == null) { - return []; - } - return [currentTarget]; - }, - get NONE() { - return 0; - }, - get CAPTURING_PHASE() { - return 1; - }, - get AT_TARGET() { - return 2; - }, - get BUBBLING_PHASE() { - return 3; - }, - get eventPhase() { - return pd(this).eventPhase; - }, - stopPropagation() { - const data = pd(this); - data.stopped = true; - if (typeof data.event.stopPropagation === "function") { - data.event.stopPropagation(); - } - }, - stopImmediatePropagation() { - const data = pd(this); - data.stopped = true; - data.immediateStopped = true; - if (typeof data.event.stopImmediatePropagation === "function") { - data.event.stopImmediatePropagation(); - } - }, - get bubbles() { - return Boolean(pd(this).event.bubbles); - }, - get cancelable() { - return Boolean(pd(this).event.cancelable); - }, - preventDefault() { - setCancelFlag(pd(this)); - }, - get defaultPrevented() { - return pd(this).canceled; - }, - get composed() { - return Boolean(pd(this).event.composed); - }, - get timeStamp() { - return pd(this).timeStamp; - }, - get srcElement() { - return pd(this).eventTarget; - }, - get cancelBubble() { - return pd(this).stopped; - }, - set cancelBubble(value) { - if (!value) { - return; - } - const data = pd(this); - data.stopped = true; - if (typeof data.event.cancelBubble === "boolean") { - data.event.cancelBubble = true; - } - }, - get returnValue() { - return !pd(this).canceled; - }, - set returnValue(value) { - if (!value) { - setCancelFlag(pd(this)); - } - }, - initEvent() { - } - }; - Object.defineProperty(Event2.prototype, "constructor", { - value: Event2, - configurable: true, - writable: true - }); - if (typeof window !== "undefined" && typeof window.Event !== "undefined") { - Object.setPrototypeOf(Event2.prototype, window.Event.prototype); - wrappers.set(window.Event.prototype, Event2); - } - function defineRedirectDescriptor(key) { - return { - get() { - return pd(this).event[key]; - }, - set(value) { - pd(this).event[key] = value; - }, - configurable: true, - enumerable: true - }; - } - function defineCallDescriptor(key) { - return { - value() { - const event = pd(this).event; - return event[key].apply(event, arguments); - }, - configurable: true, - enumerable: true - }; - } - function defineWrapper(BaseEvent, proto2) { - const keys = Object.keys(proto2); - if (keys.length === 0) { - return BaseEvent; - } - function CustomEvent(eventTarget, event) { - BaseEvent.call(this, eventTarget, event); - } - CustomEvent.prototype = Object.create(BaseEvent.prototype, { - constructor: { value: CustomEvent, configurable: true, writable: true } - }); - for (let i3 = 0; i3 < keys.length; ++i3) { - const key = keys[i3]; - if (!(key in BaseEvent.prototype)) { - const descriptor = Object.getOwnPropertyDescriptor(proto2, key); - const isFunc = typeof descriptor.value === "function"; - Object.defineProperty( - CustomEvent.prototype, - key, - isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) - ); - } - } - return CustomEvent; - } - function getWrapper(proto2) { - if (proto2 == null || proto2 === Object.prototype) { - return Event2; - } - let wrapper = wrappers.get(proto2); - if (wrapper == null) { - wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); - wrappers.set(proto2, wrapper); - } - return wrapper; - } - function wrapEvent(eventTarget, event) { - const Wrapper = getWrapper(Object.getPrototypeOf(event)); - return new Wrapper(eventTarget, event); - } - function isStopped(event) { - return pd(event).immediateStopped; - } - function setEventPhase(event, eventPhase) { - pd(event).eventPhase = eventPhase; - } - function setCurrentTarget(event, currentTarget) { - pd(event).currentTarget = currentTarget; - } - function setPassiveListener(event, passiveListener) { - pd(event).passiveListener = passiveListener; - } - var listenersMap = /* @__PURE__ */ new WeakMap(); - var CAPTURE = 1; - var BUBBLE = 2; - var ATTRIBUTE = 3; - function isObject2(x2) { - return x2 !== null && typeof x2 === "object"; - } - function getListeners(eventTarget) { - const listeners = listenersMap.get(eventTarget); - if (listeners == null) { - throw new TypeError( - "'this' is expected an EventTarget object, but got another value." - ); - } - return listeners; - } - function defineEventAttributeDescriptor(eventName) { - return { - get() { - const listeners = getListeners(this); - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - return node.listener; - } - node = node.next; - } - return null; - }, - set(listener) { - if (typeof listener !== "function" && !isObject2(listener)) { - listener = null; - } - const listeners = getListeners(this); - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - node = node.next; - } - if (listener !== null) { - const newNode = { - listener, - listenerType: ATTRIBUTE, - passive: false, - once: false, - next: null - }; - if (prev === null) { - listeners.set(eventName, newNode); - } else { - prev.next = newNode; - } - } - }, - configurable: true, - enumerable: true - }; - } - function defineEventAttribute(eventTargetPrototype, eventName) { - Object.defineProperty( - eventTargetPrototype, - `on${eventName}`, - defineEventAttributeDescriptor(eventName) - ); - } - function defineCustomEventTarget(eventNames) { - function CustomEventTarget() { - EventTarget2.call(this); - } - CustomEventTarget.prototype = Object.create(EventTarget2.prototype, { - constructor: { - value: CustomEventTarget, - configurable: true, - writable: true - } - }); - for (let i3 = 0; i3 < eventNames.length; ++i3) { - defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); - } - return CustomEventTarget; - } - function EventTarget2() { - if (this instanceof EventTarget2) { - listenersMap.set(this, /* @__PURE__ */ new Map()); - return; - } - if (arguments.length === 1 && Array.isArray(arguments[0])) { - return defineCustomEventTarget(arguments[0]); - } - if (arguments.length > 0) { - const types = new Array(arguments.length); - for (let i3 = 0; i3 < arguments.length; ++i3) { - types[i3] = arguments[i3]; - } - return defineCustomEventTarget(types); - } - throw new TypeError("Cannot call a class as a function"); - } - EventTarget2.prototype = { - addEventListener(eventName, listener, options) { - if (listener == null) { - return; - } - if (typeof listener !== "function" && !isObject2(listener)) { - throw new TypeError("'listener' should be a function or an object."); - } - const listeners = getListeners(this); - const optionsIsObj = isObject2(options); - const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - const newNode = { - listener, - listenerType, - passive: optionsIsObj && Boolean(options.passive), - once: optionsIsObj && Boolean(options.once), - next: null - }; - let node = listeners.get(eventName); - if (node === void 0) { - listeners.set(eventName, newNode); - return; - } - let prev = null; - while (node != null) { - if (node.listener === listener && node.listenerType === listenerType) { - return; - } - prev = node; - node = node.next; - } - prev.next = newNode; - }, - removeEventListener(eventName, listener, options) { - if (listener == null) { - return; - } - const listeners = getListeners(this); - const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if (node.listener === listener && node.listenerType === listenerType) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - return; - } - prev = node; - node = node.next; - } - }, - dispatchEvent(event) { - if (event == null || typeof event.type !== "string") { - throw new TypeError('"event.type" should be a string.'); - } - const listeners = getListeners(this); - const eventName = event.type; - let node = listeners.get(eventName); - if (node == null) { - return true; - } - const wrappedEvent = wrapEvent(this, event); - let prev = null; - while (node != null) { - if (node.once) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - setPassiveListener( - wrappedEvent, - node.passive ? node.listener : null - ); - if (typeof node.listener === "function") { - try { - node.listener.call(this, wrappedEvent); - } catch (err) { - if (typeof console !== "undefined" && typeof console.error === "function") { - console.error(err); - } - } - } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { - node.listener.handleEvent(wrappedEvent); - } - if (isStopped(wrappedEvent)) { - break; - } - node = node.next; - } - setPassiveListener(wrappedEvent, null); - setEventPhase(wrappedEvent, 0); - setCurrentTarget(wrappedEvent, null); - return !wrappedEvent.defaultPrevented; - } - }; - Object.defineProperty(EventTarget2.prototype, "constructor", { - value: EventTarget2, - configurable: true, - writable: true - }); - if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { - Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype); - } - exports.defineEventAttribute = defineEventAttribute; - exports.EventTarget = EventTarget2; - exports.default = EventTarget2; - module2.exports = EventTarget2; - module2.exports.EventTarget = module2.exports["default"] = EventTarget2; - module2.exports.defineEventAttribute = defineEventAttribute; - } -}); - -// node_modules/abort-controller/dist/abort-controller.js -var require_abort_controller = __commonJS({ - "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var eventTargetShim = require_event_target_shim(); - var AbortSignal2 = class extends eventTargetShim.EventTarget { - constructor() { - super(); - throw new TypeError("AbortSignal cannot be constructed directly"); - } - get aborted() { - const aborted = abortedFlags.get(this); - if (typeof aborted !== "boolean") { - throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); - } - return aborted; - } - }; - eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort"); - function createAbortSignal() { - const signal = Object.create(AbortSignal2.prototype); - eventTargetShim.EventTarget.call(signal); - abortedFlags.set(signal, false); - return signal; - } - function abortSignal(signal) { - if (abortedFlags.get(signal) !== false) { - return; - } - abortedFlags.set(signal, true); - signal.dispatchEvent({ type: "abort" }); - } - var abortedFlags = /* @__PURE__ */ new WeakMap(); - Object.defineProperties(AbortSignal2.prototype, { - aborted: { enumerable: true } - }); - if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortSignal" - }); - } - var AbortController2 = class { - constructor() { - signals.set(this, createAbortSignal()); - } - get signal() { - return getSignal(this); - } - abort() { - abortSignal(getSignal(this)); - } - }; - var signals = /* @__PURE__ */ new WeakMap(); - function getSignal(controller) { - const signal = signals.get(controller); - if (signal == null) { - throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); - } - return signal; - } - Object.defineProperties(AbortController2.prototype, { - signal: { enumerable: true }, - abort: { enumerable: true } - }); - if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortController" - }); - } - exports.AbortController = AbortController2; - exports.AbortSignal = AbortSignal2; - exports.default = AbortController2; - module2.exports = AbortController2; - module2.exports.AbortController = module2.exports["default"] = AbortController2; - module2.exports.AbortSignal = AbortSignal2; - } -}); - -// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js -var require_ponyfill_es2018 = __commonJS({ - "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { - (function(global2, factory) { - typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); - })(exports, function(exports2) { - "use strict"; - function noop2() { - return void 0; - } - function typeIsObject(x2) { - return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; - } - const rethrowAssertionErrorRejection = noop2; - function setFunctionName(fn, name) { - try { - Object.defineProperty(fn, "name", { - value: name, - configurable: true - }); - } catch (_a3) { - } - } - const originalPromise = Promise; - const originalPromiseThen = Promise.prototype.then; - const originalPromiseReject = Promise.reject.bind(originalPromise); - function newPromise(executor) { - return new originalPromise(executor); - } - function promiseResolvedWith(value) { - return newPromise((resolve) => resolve(value)); - } - function promiseRejectedWith(reason) { - return originalPromiseReject(reason); - } - function PerformPromiseThen(promise, onFulfilled, onRejected) { - return originalPromiseThen.call(promise, onFulfilled, onRejected); - } - function uponPromise(promise, onFulfilled, onRejected) { - PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); - } - function uponFulfillment(promise, onFulfilled) { - uponPromise(promise, onFulfilled); - } - function uponRejection(promise, onRejected) { - uponPromise(promise, void 0, onRejected); - } - function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { - return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); - } - function setPromiseIsHandledToTrue(promise) { - PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); - } - let _queueMicrotask = (callback) => { - if (typeof queueMicrotask === "function") { - _queueMicrotask = queueMicrotask; - } else { - const resolvedPromise = promiseResolvedWith(void 0); - _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); - } - return _queueMicrotask(callback); - }; - function reflectCall(F3, V4, args) { - if (typeof F3 !== "function") { - throw new TypeError("Argument is not a function"); - } - return Function.prototype.apply.call(F3, V4, args); - } - function promiseCall(F3, V4, args) { - try { - return promiseResolvedWith(reflectCall(F3, V4, args)); - } catch (value) { - return promiseRejectedWith(value); - } - } - const QUEUE_MAX_ARRAY_SIZE = 16384; - class SimpleQueue { - constructor() { - this._cursor = 0; - this._size = 0; - this._front = { - _elements: [], - _next: void 0 - }; - this._back = this._front; - this._cursor = 0; - this._size = 0; - } - get length() { - return this._size; - } - push(element) { - const oldBack = this._back; - let newBack = oldBack; - if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { - newBack = { - _elements: [], - _next: void 0 - }; - } - oldBack._elements.push(element); - if (newBack !== oldBack) { - this._back = newBack; - oldBack._next = newBack; - } - ++this._size; - } - shift() { - const oldFront = this._front; - let newFront = oldFront; - const oldCursor = this._cursor; - let newCursor = oldCursor + 1; - const elements = oldFront._elements; - const element = elements[oldCursor]; - if (newCursor === QUEUE_MAX_ARRAY_SIZE) { - newFront = oldFront._next; - newCursor = 0; - } - --this._size; - this._cursor = newCursor; - if (oldFront !== newFront) { - this._front = newFront; - } - elements[oldCursor] = void 0; - return element; - } - forEach(callback) { - let i3 = this._cursor; - let node = this._front; - let elements = node._elements; - while (i3 !== elements.length || node._next !== void 0) { - if (i3 === elements.length) { - node = node._next; - elements = node._elements; - i3 = 0; - if (elements.length === 0) { - break; - } - } - callback(elements[i3]); - ++i3; - } - } - peek() { - const front = this._front; - const cursor = this._cursor; - return front._elements[cursor]; - } - } - const AbortSteps = Symbol("[[AbortSteps]]"); - const ErrorSteps = Symbol("[[ErrorSteps]]"); - const CancelSteps = Symbol("[[CancelSteps]]"); - const PullSteps = Symbol("[[PullSteps]]"); - const ReleaseSteps = Symbol("[[ReleaseSteps]]"); - function ReadableStreamReaderGenericInitialize(reader, stream4) { - reader._ownerReadableStream = stream4; - stream4._reader = reader; - if (stream4._state === "readable") { - defaultReaderClosedPromiseInitialize(reader); - } else if (stream4._state === "closed") { - defaultReaderClosedPromiseInitializeAsResolved(reader); - } else { - defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); - } - } - function ReadableStreamReaderGenericCancel(reader, reason) { - const stream4 = reader._ownerReadableStream; - return ReadableStreamCancel(stream4, reason); - } - function ReadableStreamReaderGenericRelease(reader) { - const stream4 = reader._ownerReadableStream; - if (stream4._state === "readable") { - defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); - } else { - defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); - } - stream4._readableStreamController[ReleaseSteps](); - stream4._reader = void 0; - reader._ownerReadableStream = void 0; - } - function readerLockException(name) { - return new TypeError("Cannot " + name + " a stream using a released reader"); - } - function defaultReaderClosedPromiseInitialize(reader) { - reader._closedPromise = newPromise((resolve, reject) => { - reader._closedPromise_resolve = resolve; - reader._closedPromise_reject = reject; - }); - } - function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseReject(reader, reason); - } - function defaultReaderClosedPromiseInitializeAsResolved(reader) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseResolve(reader); - } - function defaultReaderClosedPromiseReject(reader, reason) { - if (reader._closedPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(reader._closedPromise); - reader._closedPromise_reject(reason); - reader._closedPromise_resolve = void 0; - reader._closedPromise_reject = void 0; - } - function defaultReaderClosedPromiseResetToRejected(reader, reason) { - defaultReaderClosedPromiseInitializeAsRejected(reader, reason); - } - function defaultReaderClosedPromiseResolve(reader) { - if (reader._closedPromise_resolve === void 0) { - return; - } - reader._closedPromise_resolve(void 0); - reader._closedPromise_resolve = void 0; - reader._closedPromise_reject = void 0; - } - const NumberIsFinite = Number.isFinite || function(x2) { - return typeof x2 === "number" && isFinite(x2); - }; - const MathTrunc = Math.trunc || function(v2) { - return v2 < 0 ? Math.ceil(v2) : Math.floor(v2); - }; - function isDictionary(x2) { - return typeof x2 === "object" || typeof x2 === "function"; - } - function assertDictionary(obj, context2) { - if (obj !== void 0 && !isDictionary(obj)) { - throw new TypeError(`${context2} is not an object.`); - } - } - function assertFunction(x2, context2) { - if (typeof x2 !== "function") { - throw new TypeError(`${context2} is not a function.`); - } - } - function isObject2(x2) { - return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; - } - function assertObject(x2, context2) { - if (!isObject2(x2)) { - throw new TypeError(`${context2} is not an object.`); - } - } - function assertRequiredArgument(x2, position, context2) { - if (x2 === void 0) { - throw new TypeError(`Parameter ${position} is required in '${context2}'.`); - } - } - function assertRequiredField(x2, field, context2) { - if (x2 === void 0) { - throw new TypeError(`${field} is required in '${context2}'.`); - } - } - function convertUnrestrictedDouble(value) { - return Number(value); - } - function censorNegativeZero(x2) { - return x2 === 0 ? 0 : x2; - } - function integerPart(x2) { - return censorNegativeZero(MathTrunc(x2)); - } - function convertUnsignedLongLongWithEnforceRange(value, context2) { - const lowerBound = 0; - const upperBound = Number.MAX_SAFE_INTEGER; - let x2 = Number(value); - x2 = censorNegativeZero(x2); - if (!NumberIsFinite(x2)) { - throw new TypeError(`${context2} is not a finite number`); - } - x2 = integerPart(x2); - if (x2 < lowerBound || x2 > upperBound) { - throw new TypeError(`${context2} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); - } - if (!NumberIsFinite(x2) || x2 === 0) { - return 0; - } - return x2; - } - function assertReadableStream(x2, context2) { - if (!IsReadableStream(x2)) { - throw new TypeError(`${context2} is not a ReadableStream.`); - } - } - function AcquireReadableStreamDefaultReader(stream4) { - return new ReadableStreamDefaultReader2(stream4); - } - function ReadableStreamAddReadRequest(stream4, readRequest) { - stream4._reader._readRequests.push(readRequest); - } - function ReadableStreamFulfillReadRequest(stream4, chunk, done) { - const reader = stream4._reader; - const readRequest = reader._readRequests.shift(); - if (done) { - readRequest._closeSteps(); - } else { - readRequest._chunkSteps(chunk); - } - } - function ReadableStreamGetNumReadRequests(stream4) { - return stream4._reader._readRequests.length; - } - function ReadableStreamHasDefaultReader(stream4) { - const reader = stream4._reader; - if (reader === void 0) { - return false; - } - if (!IsReadableStreamDefaultReader(reader)) { - return false; - } - return true; - } - class ReadableStreamDefaultReader2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); - assertReadableStream(stream4, "First parameter"); - if (IsReadableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - } - ReadableStreamReaderGenericInitialize(this, stream4); - this._readRequests = new SimpleQueue(); - } - get closed() { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("closed")); - } - return this._closedPromise; - } - cancel(reason = void 0) { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("cancel")); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - read() { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException("read")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("read from")); - } - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readRequest = { - _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), - _closeSteps: () => resolvePromise({ value: void 0, done: true }), - _errorSteps: (e3) => rejectPromise(e3) - }; - ReadableStreamDefaultReaderRead(this, readRequest); - return promise; - } - releaseLock() { - if (!IsReadableStreamDefaultReader(this)) { - throw defaultReaderBrandCheckException("releaseLock"); - } - if (this._ownerReadableStream === void 0) { - return; - } - ReadableStreamDefaultReaderRelease(this); - } - } - Object.defineProperties(ReadableStreamDefaultReader2.prototype, { - cancel: { enumerable: true }, - read: { enumerable: true }, - releaseLock: { enumerable: true }, - closed: { enumerable: true } - }); - setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); - setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); - setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { - value: "ReadableStreamDefaultReader", - configurable: true - }); - } - function IsReadableStreamDefaultReader(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_readRequests")) { - return false; - } - return x2 instanceof ReadableStreamDefaultReader2; - } - function ReadableStreamDefaultReaderRead(reader, readRequest) { - const stream4 = reader._ownerReadableStream; - stream4._disturbed = true; - if (stream4._state === "closed") { - readRequest._closeSteps(); - } else if (stream4._state === "errored") { - readRequest._errorSteps(stream4._storedError); - } else { - stream4._readableStreamController[PullSteps](readRequest); - } - } - function ReadableStreamDefaultReaderRelease(reader) { - ReadableStreamReaderGenericRelease(reader); - const e3 = new TypeError("Reader was released"); - ReadableStreamDefaultReaderErrorReadRequests(reader, e3); - } - function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { - const readRequests = reader._readRequests; - reader._readRequests = new SimpleQueue(); - readRequests.forEach((readRequest) => { - readRequest._errorSteps(e3); - }); - } - function defaultReaderBrandCheckException(name) { - return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); - } - const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { - }).prototype); - class ReadableStreamAsyncIteratorImpl { - constructor(reader, preventCancel) { - this._ongoingPromise = void 0; - this._isFinished = false; - this._reader = reader; - this._preventCancel = preventCancel; - } - next() { - const nextSteps = () => this._nextSteps(); - this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); - return this._ongoingPromise; - } - return(value) { - const returnSteps = () => this._returnSteps(value); - return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); - } - _nextSteps() { - if (this._isFinished) { - return Promise.resolve({ value: void 0, done: true }); - } - const reader = this._reader; - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readRequest = { - _chunkSteps: (chunk) => { - this._ongoingPromise = void 0; - _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); - }, - _closeSteps: () => { - this._ongoingPromise = void 0; - this._isFinished = true; - ReadableStreamReaderGenericRelease(reader); - resolvePromise({ value: void 0, done: true }); - }, - _errorSteps: (reason) => { - this._ongoingPromise = void 0; - this._isFinished = true; - ReadableStreamReaderGenericRelease(reader); - rejectPromise(reason); - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - return promise; - } - _returnSteps(value) { - if (this._isFinished) { - return Promise.resolve({ value, done: true }); - } - this._isFinished = true; - const reader = this._reader; - if (!this._preventCancel) { - const result = ReadableStreamReaderGenericCancel(reader, value); - ReadableStreamReaderGenericRelease(reader); - return transformPromiseWith(result, () => ({ value, done: true })); - } - ReadableStreamReaderGenericRelease(reader); - return promiseResolvedWith({ value, done: true }); - } - } - const ReadableStreamAsyncIteratorPrototype = { - next() { - if (!IsReadableStreamAsyncIterator(this)) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); - } - return this._asyncIteratorImpl.next(); - }, - return(value) { - if (!IsReadableStreamAsyncIterator(this)) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); - } - return this._asyncIteratorImpl.return(value); - } - }; - Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); - function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { - const reader = AcquireReadableStreamDefaultReader(stream4); - const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); - const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); - iterator._asyncIteratorImpl = impl; - return iterator; - } - function IsReadableStreamAsyncIterator(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_asyncIteratorImpl")) { - return false; - } - try { - return x2._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; - } catch (_a3) { - return false; - } - } - function streamAsyncIteratorBrandCheckException(name) { - return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); - } - const NumberIsNaN = Number.isNaN || function(x2) { - return x2 !== x2; - }; - var _a2, _b, _c; - function CreateArrayFromList(elements) { - return elements.slice(); - } - function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { - new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); - } - let TransferArrayBuffer = (O3) => { - if (typeof O3.transfer === "function") { - TransferArrayBuffer = (buffer) => buffer.transfer(); - } else if (typeof structuredClone === "function") { - TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); - } else { - TransferArrayBuffer = (buffer) => buffer; - } - return TransferArrayBuffer(O3); - }; - let IsDetachedBuffer = (O3) => { - if (typeof O3.detached === "boolean") { - IsDetachedBuffer = (buffer) => buffer.detached; - } else { - IsDetachedBuffer = (buffer) => buffer.byteLength === 0; - } - return IsDetachedBuffer(O3); - }; - function ArrayBufferSlice(buffer, begin, end) { - if (buffer.slice) { - return buffer.slice(begin, end); - } - const length = end - begin; - const slice = new ArrayBuffer(length); - CopyDataBlockBytes(slice, 0, buffer, begin, length); - return slice; - } - function GetMethod(receiver, prop) { - const func = receiver[prop]; - if (func === void 0 || func === null) { - return void 0; - } - if (typeof func !== "function") { - throw new TypeError(`${String(prop)} is not a function`); - } - return func; - } - function CreateAsyncFromSyncIterator(syncIteratorRecord) { - const syncIterable = { - [Symbol.iterator]: () => syncIteratorRecord.iterator - }; - const asyncIterator2 = async function* () { - return yield* syncIterable; - }(); - const nextMethod = asyncIterator2.next; - return { iterator: asyncIterator2, nextMethod, done: false }; - } - const SymbolAsyncIterator = (_c = (_a2 = Symbol.asyncIterator) !== null && _a2 !== void 0 ? _a2 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c !== void 0 ? _c : "@@asyncIterator"; - function GetIterator(obj, hint = "sync", method) { - if (method === void 0) { - if (hint === "async") { - method = GetMethod(obj, SymbolAsyncIterator); - if (method === void 0) { - const syncMethod = GetMethod(obj, Symbol.iterator); - const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); - return CreateAsyncFromSyncIterator(syncIteratorRecord); - } - } else { - method = GetMethod(obj, Symbol.iterator); - } - } - if (method === void 0) { - throw new TypeError("The object is not iterable"); - } - const iterator = reflectCall(method, obj, []); - if (!typeIsObject(iterator)) { - throw new TypeError("The iterator method must return an object"); - } - const nextMethod = iterator.next; - return { iterator, nextMethod, done: false }; - } - function IteratorNext(iteratorRecord) { - const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); - if (!typeIsObject(result)) { - throw new TypeError("The iterator.next() method must return an object"); - } - return result; - } - function IteratorComplete(iterResult) { - return Boolean(iterResult.done); - } - function IteratorValue(iterResult) { - return iterResult.value; - } - function IsNonNegativeNumber(v2) { - if (typeof v2 !== "number") { - return false; - } - if (NumberIsNaN(v2)) { - return false; - } - if (v2 < 0) { - return false; - } - return true; - } - function CloneAsUint8Array(O3) { - const buffer = ArrayBufferSlice(O3.buffer, O3.byteOffset, O3.byteOffset + O3.byteLength); - return new Uint8Array(buffer); - } - function DequeueValue(container) { - const pair = container._queue.shift(); - container._queueTotalSize -= pair.size; - if (container._queueTotalSize < 0) { - container._queueTotalSize = 0; - } - return pair.value; - } - function EnqueueValueWithSize(container, value, size) { - if (!IsNonNegativeNumber(size) || size === Infinity) { - throw new RangeError("Size must be a finite, non-NaN, non-negative number."); - } - container._queue.push({ value, size }); - container._queueTotalSize += size; - } - function PeekQueueValue(container) { - const pair = container._queue.peek(); - return pair.value; - } - function ResetQueue(container) { - container._queue = new SimpleQueue(); - container._queueTotalSize = 0; - } - function isDataViewConstructor(ctor) { - return ctor === DataView; - } - function isDataView(view) { - return isDataViewConstructor(view.constructor); - } - function arrayBufferViewElementSize(ctor) { - if (isDataViewConstructor(ctor)) { - return 1; - } - return ctor.BYTES_PER_ELEMENT; - } - class ReadableStreamBYOBRequest2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get view() { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("view"); - } - return this._view; - } - respond(bytesWritten) { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("respond"); - } - assertRequiredArgument(bytesWritten, 1, "respond"); - bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); - if (this._associatedReadableByteStreamController === void 0) { - throw new TypeError("This BYOB request has been invalidated"); - } - if (IsDetachedBuffer(this._view.buffer)) { - throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); - } - ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); - } - respondWithNewView(view) { - if (!IsReadableStreamBYOBRequest(this)) { - throw byobRequestBrandCheckException("respondWithNewView"); - } - assertRequiredArgument(view, 1, "respondWithNewView"); - if (!ArrayBuffer.isView(view)) { - throw new TypeError("You can only respond with array buffer views"); - } - if (this._associatedReadableByteStreamController === void 0) { - throw new TypeError("This BYOB request has been invalidated"); - } - if (IsDetachedBuffer(view.buffer)) { - throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); - } - ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); - } - } - Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { - respond: { enumerable: true }, - respondWithNewView: { enumerable: true }, - view: { enumerable: true } - }); - setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); - setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { - value: "ReadableStreamBYOBRequest", - configurable: true - }); - } - class ReadableByteStreamController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get byobRequest() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("byobRequest"); - } - return ReadableByteStreamControllerGetBYOBRequest(this); - } - get desiredSize() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("desiredSize"); - } - return ReadableByteStreamControllerGetDesiredSize(this); - } - close() { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("close"); - } - if (this._closeRequested) { - throw new TypeError("The stream has already been closed; do not close it again!"); - } - const state = this._controlledReadableByteStream._state; - if (state !== "readable") { - throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`); - } - ReadableByteStreamControllerClose(this); - } - enqueue(chunk) { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("enqueue"); - } - assertRequiredArgument(chunk, 1, "enqueue"); - if (!ArrayBuffer.isView(chunk)) { - throw new TypeError("chunk must be an array buffer view"); - } - if (chunk.byteLength === 0) { - throw new TypeError("chunk must have non-zero byteLength"); - } - if (chunk.buffer.byteLength === 0) { - throw new TypeError(`chunk's buffer must have non-zero byteLength`); - } - if (this._closeRequested) { - throw new TypeError("stream is closed or draining"); - } - const state = this._controlledReadableByteStream._state; - if (state !== "readable") { - throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`); - } - ReadableByteStreamControllerEnqueue(this, chunk); - } - error(e3 = void 0) { - if (!IsReadableByteStreamController(this)) { - throw byteStreamControllerBrandCheckException("error"); - } - ReadableByteStreamControllerError(this, e3); - } - [CancelSteps](reason) { - ReadableByteStreamControllerClearPendingPullIntos(this); - ResetQueue(this); - const result = this._cancelAlgorithm(reason); - ReadableByteStreamControllerClearAlgorithms(this); - return result; - } - [PullSteps](readRequest) { - const stream4 = this._controlledReadableByteStream; - if (this._queueTotalSize > 0) { - ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); - return; - } - const autoAllocateChunkSize = this._autoAllocateChunkSize; - if (autoAllocateChunkSize !== void 0) { - let buffer; - try { - buffer = new ArrayBuffer(autoAllocateChunkSize); - } catch (bufferE) { - readRequest._errorSteps(bufferE); - return; - } - const pullIntoDescriptor = { - buffer, - bufferByteLength: autoAllocateChunkSize, - byteOffset: 0, - byteLength: autoAllocateChunkSize, - bytesFilled: 0, - minimumFill: 1, - elementSize: 1, - viewConstructor: Uint8Array, - readerType: "default" - }; - this._pendingPullIntos.push(pullIntoDescriptor); - } - ReadableStreamAddReadRequest(stream4, readRequest); - ReadableByteStreamControllerCallPullIfNeeded(this); - } - [ReleaseSteps]() { - if (this._pendingPullIntos.length > 0) { - const firstPullInto = this._pendingPullIntos.peek(); - firstPullInto.readerType = "none"; - this._pendingPullIntos = new SimpleQueue(); - this._pendingPullIntos.push(firstPullInto); - } - } - } - Object.defineProperties(ReadableByteStreamController2.prototype, { - close: { enumerable: true }, - enqueue: { enumerable: true }, - error: { enumerable: true }, - byobRequest: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(ReadableByteStreamController2.prototype.close, "close"); - setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); - setFunctionName(ReadableByteStreamController2.prototype.error, "error"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { - value: "ReadableByteStreamController", - configurable: true - }); - } - function IsReadableByteStreamController(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableByteStream")) { - return false; - } - return x2 instanceof ReadableByteStreamController2; - } - function IsReadableStreamBYOBRequest(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_associatedReadableByteStreamController")) { - return false; - } - return x2 instanceof ReadableStreamBYOBRequest2; - } - function ReadableByteStreamControllerCallPullIfNeeded(controller) { - const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); - if (!shouldPull) { - return; - } - if (controller._pulling) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - const pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, () => { - controller._pulling = false; - if (controller._pullAgain) { - controller._pullAgain = false; - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - return null; - }, (e3) => { - ReadableByteStreamControllerError(controller, e3); - return null; - }); - } - function ReadableByteStreamControllerClearPendingPullIntos(controller) { - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - controller._pendingPullIntos = new SimpleQueue(); - } - function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { - let done = false; - if (stream4._state === "closed") { - done = true; - } - const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - if (pullIntoDescriptor.readerType === "default") { - ReadableStreamFulfillReadRequest(stream4, filledView, done); - } else { - ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); - } - } - function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { - const bytesFilled = pullIntoDescriptor.bytesFilled; - const elementSize = pullIntoDescriptor.elementSize; - return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); - } - function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { - controller._queue.push({ buffer, byteOffset, byteLength }); - controller._queueTotalSize += byteLength; - } - function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { - let clonedChunk; - try { - clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); - } catch (cloneE) { - ReadableByteStreamControllerError(controller, cloneE); - throw cloneE; - } - ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); - } - function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { - if (firstDescriptor.bytesFilled > 0) { - ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { - const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); - const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; - let totalBytesToCopyRemaining = maxBytesToCopy; - let ready = false; - const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; - const maxAlignedBytes = maxBytesFilled - remainderBytes; - if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { - totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; - ready = true; - } - const queue = controller._queue; - while (totalBytesToCopyRemaining > 0) { - const headOfQueue = queue.peek(); - const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); - const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); - if (headOfQueue.byteLength === bytesToCopy) { - queue.shift(); - } else { - headOfQueue.byteOffset += bytesToCopy; - headOfQueue.byteLength -= bytesToCopy; - } - controller._queueTotalSize -= bytesToCopy; - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); - totalBytesToCopyRemaining -= bytesToCopy; - } - return ready; - } - function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { - pullIntoDescriptor.bytesFilled += size; - } - function ReadableByteStreamControllerHandleQueueDrain(controller) { - if (controller._queueTotalSize === 0 && controller._closeRequested) { - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(controller._controlledReadableByteStream); - } else { - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - } - function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { - if (controller._byobRequest === null) { - return; - } - controller._byobRequest._associatedReadableByteStreamController = void 0; - controller._byobRequest._view = null; - controller._byobRequest = null; - } - function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { - while (controller._pendingPullIntos.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - const pullIntoDescriptor = controller._pendingPullIntos.peek(); - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { - const reader = controller._controlledReadableByteStream._reader; - while (reader._readRequests.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - const readRequest = reader._readRequests.shift(); - ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); - } - } - function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { - const stream4 = controller._controlledReadableByteStream; - const ctor = view.constructor; - const elementSize = arrayBufferViewElementSize(ctor); - const { byteOffset, byteLength } = view; - const minimumFill = min * elementSize; - let buffer; - try { - buffer = TransferArrayBuffer(view.buffer); - } catch (e3) { - readIntoRequest._errorSteps(e3); - return; - } - const pullIntoDescriptor = { - buffer, - bufferByteLength: buffer.byteLength, - byteOffset, - byteLength, - bytesFilled: 0, - minimumFill, - elementSize, - viewConstructor: ctor, - readerType: "byob" - }; - if (controller._pendingPullIntos.length > 0) { - controller._pendingPullIntos.push(pullIntoDescriptor); - ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); - return; - } - if (stream4._state === "closed") { - const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); - readIntoRequest._closeSteps(emptyView); - return; - } - if (controller._queueTotalSize > 0) { - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { - const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - ReadableByteStreamControllerHandleQueueDrain(controller); - readIntoRequest._chunkSteps(filledView); - return; - } - if (controller._closeRequested) { - const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - ReadableByteStreamControllerError(controller, e3); - readIntoRequest._errorSteps(e3); - return; - } - } - controller._pendingPullIntos.push(pullIntoDescriptor); - ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { - if (firstDescriptor.readerType === "none") { - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - const stream4 = controller._controlledReadableByteStream; - if (ReadableStreamHasBYOBReader(stream4)) { - while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { - const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); - if (pullIntoDescriptor.readerType === "none") { - ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - return; - } - if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { - return; - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; - if (remainderSize > 0) { - const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); - } - pullIntoDescriptor.bytesFilled -= remainderSize; - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } - function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { - const firstDescriptor = controller._pendingPullIntos.peek(); - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); - } else { - ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerShiftPendingPullInto(controller) { - const descriptor = controller._pendingPullIntos.shift(); - return descriptor; - } - function ReadableByteStreamControllerShouldCallPull(controller) { - const stream4 = controller._controlledReadableByteStream; - if (stream4._state !== "readable") { - return false; - } - if (controller._closeRequested) { - return false; - } - if (!controller._started) { - return false; - } - if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - return true; - } - if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { - return true; - } - const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableByteStreamControllerClearAlgorithms(controller) { - controller._pullAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - } - function ReadableByteStreamControllerClose(controller) { - const stream4 = controller._controlledReadableByteStream; - if (controller._closeRequested || stream4._state !== "readable") { - return; - } - if (controller._queueTotalSize > 0) { - controller._closeRequested = true; - return; - } - if (controller._pendingPullIntos.length > 0) { - const firstPendingPullInto = controller._pendingPullIntos.peek(); - if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { - const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); - ReadableByteStreamControllerError(controller, e3); - throw e3; - } - } - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(stream4); - } - function ReadableByteStreamControllerEnqueue(controller, chunk) { - const stream4 = controller._controlledReadableByteStream; - if (controller._closeRequested || stream4._state !== "readable") { - return; - } - const { buffer, byteOffset, byteLength } = chunk; - if (IsDetachedBuffer(buffer)) { - throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); - } - const transferredBuffer = TransferArrayBuffer(buffer); - if (controller._pendingPullIntos.length > 0) { - const firstPendingPullInto = controller._pendingPullIntos.peek(); - if (IsDetachedBuffer(firstPendingPullInto.buffer)) { - throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); - } - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); - if (firstPendingPullInto.readerType === "none") { - ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); - } - } - if (ReadableStreamHasDefaultReader(stream4)) { - ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); - if (ReadableStreamGetNumReadRequests(stream4) === 0) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } else { - if (controller._pendingPullIntos.length > 0) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - } - const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); - ReadableStreamFulfillReadRequest(stream4, transferredView, false); - } - } else if (ReadableStreamHasBYOBReader(stream4)) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } else { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerError(controller, e3) { - const stream4 = controller._controlledReadableByteStream; - if (stream4._state !== "readable") { - return; - } - ReadableByteStreamControllerClearPendingPullIntos(controller); - ResetQueue(controller); - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamError(stream4, e3); - } - function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { - const entry = controller._queue.shift(); - controller._queueTotalSize -= entry.byteLength; - ReadableByteStreamControllerHandleQueueDrain(controller); - const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); - readRequest._chunkSteps(view); - } - function ReadableByteStreamControllerGetBYOBRequest(controller) { - if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); - const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); - SetUpReadableStreamBYOBRequest(byobRequest, controller, view); - controller._byobRequest = byobRequest; - } - return controller._byobRequest; - } - function ReadableByteStreamControllerGetDesiredSize(controller) { - const state = controller._controlledReadableByteStream._state; - if (state === "errored") { - return null; - } - if (state === "closed") { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableByteStreamControllerRespond(controller, bytesWritten) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - if (bytesWritten !== 0) { - throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); - } - } else { - if (bytesWritten === 0) { - throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); - } - if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { - throw new RangeError("bytesWritten out of range"); - } - } - firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); - ReadableByteStreamControllerRespondInternal(controller, bytesWritten); - } - function ReadableByteStreamControllerRespondWithNewView(controller, view) { - const firstDescriptor = controller._pendingPullIntos.peek(); - const state = controller._controlledReadableByteStream._state; - if (state === "closed") { - if (view.byteLength !== 0) { - throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); - } - } else { - if (view.byteLength === 0) { - throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); - } - } - if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { - throw new RangeError("The region specified by view does not match byobRequest"); - } - if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { - throw new RangeError("The buffer of view has different capacity than byobRequest"); - } - if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { - throw new RangeError("The region specified by view is larger than byobRequest"); - } - const viewByteLength = view.byteLength; - firstDescriptor.buffer = TransferArrayBuffer(view.buffer); - ReadableByteStreamControllerRespondInternal(controller, viewByteLength); - } - function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { - controller._controlledReadableByteStream = stream4; - controller._pullAgain = false; - controller._pulling = false; - controller._byobRequest = null; - controller._queue = controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._closeRequested = false; - controller._started = false; - controller._strategyHWM = highWaterMark; - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - controller._autoAllocateChunkSize = autoAllocateChunkSize; - controller._pendingPullIntos = new SimpleQueue(); - stream4._readableStreamController = controller; - const startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), () => { - controller._started = true; - ReadableByteStreamControllerCallPullIfNeeded(controller); - return null; - }, (r3) => { - ReadableByteStreamControllerError(controller, r3); - return null; - }); - } - function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { - const controller = Object.create(ReadableByteStreamController2.prototype); - let startAlgorithm; - let pullAlgorithm; - let cancelAlgorithm; - if (underlyingByteSource.start !== void 0) { - startAlgorithm = () => underlyingByteSource.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingByteSource.pull !== void 0) { - pullAlgorithm = () => underlyingByteSource.pull(controller); - } else { - pullAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingByteSource.cancel !== void 0) { - cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; - if (autoAllocateChunkSize === 0) { - throw new TypeError("autoAllocateChunkSize must be greater than 0"); - } - SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); - } - function SetUpReadableStreamBYOBRequest(request, controller, view) { - request._associatedReadableByteStreamController = controller; - request._view = view; - } - function byobRequestBrandCheckException(name) { - return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); - } - function byteStreamControllerBrandCheckException(name) { - return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); - } - function convertReaderOptions(options, context2) { - assertDictionary(options, context2); - const mode3 = options === null || options === void 0 ? void 0 : options.mode; - return { - mode: mode3 === void 0 ? void 0 : convertReadableStreamReaderMode(mode3, `${context2} has member 'mode' that`) - }; - } - function convertReadableStreamReaderMode(mode3, context2) { - mode3 = `${mode3}`; - if (mode3 !== "byob") { - throw new TypeError(`${context2} '${mode3}' is not a valid enumeration value for ReadableStreamReaderMode`); - } - return mode3; - } - function convertByobReadOptions(options, context2) { - var _a3; - assertDictionary(options, context2); - const min = (_a3 = options === null || options === void 0 ? void 0 : options.min) !== null && _a3 !== void 0 ? _a3 : 1; - return { - min: convertUnsignedLongLongWithEnforceRange(min, `${context2} has member 'min' that`) - }; - } - function AcquireReadableStreamBYOBReader(stream4) { - return new ReadableStreamBYOBReader2(stream4); - } - function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { - stream4._reader._readIntoRequests.push(readIntoRequest); - } - function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { - const reader = stream4._reader; - const readIntoRequest = reader._readIntoRequests.shift(); - if (done) { - readIntoRequest._closeSteps(chunk); - } else { - readIntoRequest._chunkSteps(chunk); - } - } - function ReadableStreamGetNumReadIntoRequests(stream4) { - return stream4._reader._readIntoRequests.length; - } - function ReadableStreamHasBYOBReader(stream4) { - const reader = stream4._reader; - if (reader === void 0) { - return false; - } - if (!IsReadableStreamBYOBReader(reader)) { - return false; - } - return true; - } - class ReadableStreamBYOBReader2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); - assertReadableStream(stream4, "First parameter"); - if (IsReadableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive reading by another reader"); - } - if (!IsReadableByteStreamController(stream4._readableStreamController)) { - throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); - } - ReadableStreamReaderGenericInitialize(this, stream4); - this._readIntoRequests = new SimpleQueue(); - } - get closed() { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("closed")); - } - return this._closedPromise; - } - cancel(reason = void 0) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("cancel")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("cancel")); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - read(view, rawOptions = {}) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException("read")); - } - if (!ArrayBuffer.isView(view)) { - return promiseRejectedWith(new TypeError("view must be an array buffer view")); - } - if (view.byteLength === 0) { - return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); - } - if (view.buffer.byteLength === 0) { - return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); - } - if (IsDetachedBuffer(view.buffer)) { - return promiseRejectedWith(new TypeError("view's buffer has been detached")); - } - let options; - try { - options = convertByobReadOptions(rawOptions, "options"); - } catch (e3) { - return promiseRejectedWith(e3); - } - const min = options.min; - if (min === 0) { - return promiseRejectedWith(new TypeError("options.min must be greater than 0")); - } - if (!isDataView(view)) { - if (min > view.length) { - return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); - } - } else if (min > view.byteLength) { - return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); - } - if (this._ownerReadableStream === void 0) { - return promiseRejectedWith(readerLockException("read from")); - } - let resolvePromise; - let rejectPromise; - const promise = newPromise((resolve, reject) => { - resolvePromise = resolve; - rejectPromise = reject; - }); - const readIntoRequest = { - _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), - _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), - _errorSteps: (e3) => rejectPromise(e3) - }; - ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); - return promise; - } - releaseLock() { - if (!IsReadableStreamBYOBReader(this)) { - throw byobReaderBrandCheckException("releaseLock"); - } - if (this._ownerReadableStream === void 0) { - return; - } - ReadableStreamBYOBReaderRelease(this); - } - } - Object.defineProperties(ReadableStreamBYOBReader2.prototype, { - cancel: { enumerable: true }, - read: { enumerable: true }, - releaseLock: { enumerable: true }, - closed: { enumerable: true } - }); - setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); - setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); - setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { - value: "ReadableStreamBYOBReader", - configurable: true - }); - } - function IsReadableStreamBYOBReader(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_readIntoRequests")) { - return false; - } - return x2 instanceof ReadableStreamBYOBReader2; - } - function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { - const stream4 = reader._ownerReadableStream; - stream4._disturbed = true; - if (stream4._state === "errored") { - readIntoRequest._errorSteps(stream4._storedError); - } else { - ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); - } - } - function ReadableStreamBYOBReaderRelease(reader) { - ReadableStreamReaderGenericRelease(reader); - const e3 = new TypeError("Reader was released"); - ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); - } - function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { - const readIntoRequests = reader._readIntoRequests; - reader._readIntoRequests = new SimpleQueue(); - readIntoRequests.forEach((readIntoRequest) => { - readIntoRequest._errorSteps(e3); - }); - } - function byobReaderBrandCheckException(name) { - return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); - } - function ExtractHighWaterMark(strategy, defaultHWM) { - const { highWaterMark } = strategy; - if (highWaterMark === void 0) { - return defaultHWM; - } - if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { - throw new RangeError("Invalid highWaterMark"); - } - return highWaterMark; - } - function ExtractSizeAlgorithm(strategy) { - const { size } = strategy; - if (!size) { - return () => 1; - } - return size; - } - function convertQueuingStrategy(init, context2) { - assertDictionary(init, context2); - const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; - const size = init === null || init === void 0 ? void 0 : init.size; - return { - highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), - size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context2} has member 'size' that`) - }; - } - function convertQueuingStrategySize(fn, context2) { - assertFunction(fn, context2); - return (chunk) => convertUnrestrictedDouble(fn(chunk)); - } - function convertUnderlyingSink(original, context2) { - assertDictionary(original, context2); - const abort = original === null || original === void 0 ? void 0 : original.abort; - const close = original === null || original === void 0 ? void 0 : original.close; - const start = original === null || original === void 0 ? void 0 : original.start; - const type = original === null || original === void 0 ? void 0 : original.type; - const write = original === null || original === void 0 ? void 0 : original.write; - return { - abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context2} has member 'abort' that`), - close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context2} has member 'close' that`), - start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context2} has member 'start' that`), - write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context2} has member 'write' that`), - type - }; - } - function convertUnderlyingSinkAbortCallback(fn, original, context2) { - assertFunction(fn, context2); - return (reason) => promiseCall(fn, original, [reason]); - } - function convertUnderlyingSinkCloseCallback(fn, original, context2) { - assertFunction(fn, context2); - return () => promiseCall(fn, original, []); - } - function convertUnderlyingSinkStartCallback(fn, original, context2) { - assertFunction(fn, context2); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertUnderlyingSinkWriteCallback(fn, original, context2) { - assertFunction(fn, context2); - return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); - } - function assertWritableStream(x2, context2) { - if (!IsWritableStream(x2)) { - throw new TypeError(`${context2} is not a WritableStream.`); - } - } - function isAbortSignal(value) { - if (typeof value !== "object" || value === null) { - return false; - } - try { - return typeof value.aborted === "boolean"; - } catch (_a3) { - return false; - } - } - const supportsAbortController = typeof AbortController === "function"; - function createAbortController() { - if (supportsAbortController) { - return new AbortController(); - } - return void 0; - } - class WritableStream2 { - constructor(rawUnderlyingSink = {}, rawStrategy = {}) { - if (rawUnderlyingSink === void 0) { - rawUnderlyingSink = null; - } else { - assertObject(rawUnderlyingSink, "First parameter"); - } - const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); - const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); - InitializeWritableStream(this); - const type = underlyingSink.type; - if (type !== void 0) { - throw new RangeError("Invalid type is specified"); - } - const sizeAlgorithm = ExtractSizeAlgorithm(strategy); - const highWaterMark = ExtractHighWaterMark(strategy, 1); - SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); - } - get locked() { - if (!IsWritableStream(this)) { - throw streamBrandCheckException$2("locked"); - } - return IsWritableStreamLocked(this); - } - abort(reason = void 0) { - if (!IsWritableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$2("abort")); - } - if (IsWritableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); - } - return WritableStreamAbort(this, reason); - } - close() { - if (!IsWritableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$2("close")); - } - if (IsWritableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); - } - if (WritableStreamCloseQueuedOrInFlight(this)) { - return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); - } - return WritableStreamClose(this); - } - getWriter() { - if (!IsWritableStream(this)) { - throw streamBrandCheckException$2("getWriter"); - } - return AcquireWritableStreamDefaultWriter(this); - } - } - Object.defineProperties(WritableStream2.prototype, { - abort: { enumerable: true }, - close: { enumerable: true }, - getWriter: { enumerable: true }, - locked: { enumerable: true } - }); - setFunctionName(WritableStream2.prototype.abort, "abort"); - setFunctionName(WritableStream2.prototype.close, "close"); - setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { - value: "WritableStream", - configurable: true - }); - } - function AcquireWritableStreamDefaultWriter(stream4) { - return new WritableStreamDefaultWriter2(stream4); - } - function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { - const stream4 = Object.create(WritableStream2.prototype); - InitializeWritableStream(stream4); - const controller = Object.create(WritableStreamDefaultController2.prototype); - SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - return stream4; - } - function InitializeWritableStream(stream4) { - stream4._state = "writable"; - stream4._storedError = void 0; - stream4._writer = void 0; - stream4._writableStreamController = void 0; - stream4._writeRequests = new SimpleQueue(); - stream4._inFlightWriteRequest = void 0; - stream4._closeRequest = void 0; - stream4._inFlightCloseRequest = void 0; - stream4._pendingAbortRequest = void 0; - stream4._backpressure = false; - } - function IsWritableStream(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_writableStreamController")) { - return false; - } - return x2 instanceof WritableStream2; - } - function IsWritableStreamLocked(stream4) { - if (stream4._writer === void 0) { - return false; - } - return true; - } - function WritableStreamAbort(stream4, reason) { - var _a3; - if (stream4._state === "closed" || stream4._state === "errored") { - return promiseResolvedWith(void 0); - } - stream4._writableStreamController._abortReason = reason; - (_a3 = stream4._writableStreamController._abortController) === null || _a3 === void 0 ? void 0 : _a3.abort(reason); - const state = stream4._state; - if (state === "closed" || state === "errored") { - return promiseResolvedWith(void 0); - } - if (stream4._pendingAbortRequest !== void 0) { - return stream4._pendingAbortRequest._promise; - } - let wasAlreadyErroring = false; - if (state === "erroring") { - wasAlreadyErroring = true; - reason = void 0; - } - const promise = newPromise((resolve, reject) => { - stream4._pendingAbortRequest = { - _promise: void 0, - _resolve: resolve, - _reject: reject, - _reason: reason, - _wasAlreadyErroring: wasAlreadyErroring - }; - }); - stream4._pendingAbortRequest._promise = promise; - if (!wasAlreadyErroring) { - WritableStreamStartErroring(stream4, reason); - } - return promise; - } - function WritableStreamClose(stream4) { - const state = stream4._state; - if (state === "closed" || state === "errored") { - return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`)); - } - const promise = newPromise((resolve, reject) => { - const closeRequest = { - _resolve: resolve, - _reject: reject - }; - stream4._closeRequest = closeRequest; - }); - const writer = stream4._writer; - if (writer !== void 0 && stream4._backpressure && state === "writable") { - defaultWriterReadyPromiseResolve(writer); - } - WritableStreamDefaultControllerClose(stream4._writableStreamController); - return promise; - } - function WritableStreamAddWriteRequest(stream4) { - const promise = newPromise((resolve, reject) => { - const writeRequest = { - _resolve: resolve, - _reject: reject - }; - stream4._writeRequests.push(writeRequest); - }); - return promise; - } - function WritableStreamDealWithRejection(stream4, error) { - const state = stream4._state; - if (state === "writable") { - WritableStreamStartErroring(stream4, error); - return; - } - WritableStreamFinishErroring(stream4); - } - function WritableStreamStartErroring(stream4, reason) { - const controller = stream4._writableStreamController; - stream4._state = "erroring"; - stream4._storedError = reason; - const writer = stream4._writer; - if (writer !== void 0) { - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); - } - if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { - WritableStreamFinishErroring(stream4); - } - } - function WritableStreamFinishErroring(stream4) { - stream4._state = "errored"; - stream4._writableStreamController[ErrorSteps](); - const storedError = stream4._storedError; - stream4._writeRequests.forEach((writeRequest) => { - writeRequest._reject(storedError); - }); - stream4._writeRequests = new SimpleQueue(); - if (stream4._pendingAbortRequest === void 0) { - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return; - } - const abortRequest = stream4._pendingAbortRequest; - stream4._pendingAbortRequest = void 0; - if (abortRequest._wasAlreadyErroring) { - abortRequest._reject(storedError); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return; - } - const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); - uponPromise(promise, () => { - abortRequest._resolve(); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return null; - }, (reason) => { - abortRequest._reject(reason); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); - return null; - }); - } - function WritableStreamFinishInFlightWrite(stream4) { - stream4._inFlightWriteRequest._resolve(void 0); - stream4._inFlightWriteRequest = void 0; - } - function WritableStreamFinishInFlightWriteWithError(stream4, error) { - stream4._inFlightWriteRequest._reject(error); - stream4._inFlightWriteRequest = void 0; - WritableStreamDealWithRejection(stream4, error); - } - function WritableStreamFinishInFlightClose(stream4) { - stream4._inFlightCloseRequest._resolve(void 0); - stream4._inFlightCloseRequest = void 0; - const state = stream4._state; - if (state === "erroring") { - stream4._storedError = void 0; - if (stream4._pendingAbortRequest !== void 0) { - stream4._pendingAbortRequest._resolve(); - stream4._pendingAbortRequest = void 0; - } - } - stream4._state = "closed"; - const writer = stream4._writer; - if (writer !== void 0) { - defaultWriterClosedPromiseResolve(writer); - } - } - function WritableStreamFinishInFlightCloseWithError(stream4, error) { - stream4._inFlightCloseRequest._reject(error); - stream4._inFlightCloseRequest = void 0; - if (stream4._pendingAbortRequest !== void 0) { - stream4._pendingAbortRequest._reject(error); - stream4._pendingAbortRequest = void 0; - } - WritableStreamDealWithRejection(stream4, error); - } - function WritableStreamCloseQueuedOrInFlight(stream4) { - if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { - return false; - } - return true; - } - function WritableStreamHasOperationMarkedInFlight(stream4) { - if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { - return false; - } - return true; - } - function WritableStreamMarkCloseRequestInFlight(stream4) { - stream4._inFlightCloseRequest = stream4._closeRequest; - stream4._closeRequest = void 0; - } - function WritableStreamMarkFirstWriteRequestInFlight(stream4) { - stream4._inFlightWriteRequest = stream4._writeRequests.shift(); - } - function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { - if (stream4._closeRequest !== void 0) { - stream4._closeRequest._reject(stream4._storedError); - stream4._closeRequest = void 0; - } - const writer = stream4._writer; - if (writer !== void 0) { - defaultWriterClosedPromiseReject(writer, stream4._storedError); - } - } - function WritableStreamUpdateBackpressure(stream4, backpressure) { - const writer = stream4._writer; - if (writer !== void 0 && backpressure !== stream4._backpressure) { - if (backpressure) { - defaultWriterReadyPromiseReset(writer); - } else { - defaultWriterReadyPromiseResolve(writer); - } - } - stream4._backpressure = backpressure; - } - class WritableStreamDefaultWriter2 { - constructor(stream4) { - assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); - assertWritableStream(stream4, "First parameter"); - if (IsWritableStreamLocked(stream4)) { - throw new TypeError("This stream has already been locked for exclusive writing by another writer"); - } - this._ownerWritableStream = stream4; - stream4._writer = this; - const state = stream4._state; - if (state === "writable") { - if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { - defaultWriterReadyPromiseInitialize(this); - } else { - defaultWriterReadyPromiseInitializeAsResolved(this); - } - defaultWriterClosedPromiseInitialize(this); - } else if (state === "erroring") { - defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); - defaultWriterClosedPromiseInitialize(this); - } else if (state === "closed") { - defaultWriterReadyPromiseInitializeAsResolved(this); - defaultWriterClosedPromiseInitializeAsResolved(this); - } else { - const storedError = stream4._storedError; - defaultWriterReadyPromiseInitializeAsRejected(this, storedError); - defaultWriterClosedPromiseInitializeAsRejected(this, storedError); - } - } - get closed() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("closed")); - } - return this._closedPromise; - } - get desiredSize() { - if (!IsWritableStreamDefaultWriter(this)) { - throw defaultWriterBrandCheckException("desiredSize"); - } - if (this._ownerWritableStream === void 0) { - throw defaultWriterLockException("desiredSize"); - } - return WritableStreamDefaultWriterGetDesiredSize(this); - } - get ready() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("ready")); - } - return this._readyPromise; - } - abort(reason = void 0) { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("abort")); - } - if (this._ownerWritableStream === void 0) { - return promiseRejectedWith(defaultWriterLockException("abort")); - } - return WritableStreamDefaultWriterAbort(this, reason); - } - close() { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("close")); - } - const stream4 = this._ownerWritableStream; - if (stream4 === void 0) { - return promiseRejectedWith(defaultWriterLockException("close")); - } - if (WritableStreamCloseQueuedOrInFlight(stream4)) { - return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); - } - return WritableStreamDefaultWriterClose(this); - } - releaseLock() { - if (!IsWritableStreamDefaultWriter(this)) { - throw defaultWriterBrandCheckException("releaseLock"); - } - const stream4 = this._ownerWritableStream; - if (stream4 === void 0) { - return; - } - WritableStreamDefaultWriterRelease(this); - } - write(chunk = void 0) { - if (!IsWritableStreamDefaultWriter(this)) { - return promiseRejectedWith(defaultWriterBrandCheckException("write")); - } - if (this._ownerWritableStream === void 0) { - return promiseRejectedWith(defaultWriterLockException("write to")); - } - return WritableStreamDefaultWriterWrite(this, chunk); - } - } - Object.defineProperties(WritableStreamDefaultWriter2.prototype, { - abort: { enumerable: true }, - close: { enumerable: true }, - releaseLock: { enumerable: true }, - write: { enumerable: true }, - closed: { enumerable: true }, - desiredSize: { enumerable: true }, - ready: { enumerable: true } - }); - setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); - setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); - setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); - setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { - value: "WritableStreamDefaultWriter", - configurable: true - }); - } - function IsWritableStreamDefaultWriter(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_ownerWritableStream")) { - return false; - } - return x2 instanceof WritableStreamDefaultWriter2; - } - function WritableStreamDefaultWriterAbort(writer, reason) { - const stream4 = writer._ownerWritableStream; - return WritableStreamAbort(stream4, reason); - } - function WritableStreamDefaultWriterClose(writer) { - const stream4 = writer._ownerWritableStream; - return WritableStreamClose(stream4); - } - function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { - const stream4 = writer._ownerWritableStream; - const state = stream4._state; - if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { - return promiseResolvedWith(void 0); - } - if (state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - return WritableStreamDefaultWriterClose(writer); - } - function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { - if (writer._closedPromiseState === "pending") { - defaultWriterClosedPromiseReject(writer, error); - } else { - defaultWriterClosedPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { - if (writer._readyPromiseState === "pending") { - defaultWriterReadyPromiseReject(writer, error); - } else { - defaultWriterReadyPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterGetDesiredSize(writer) { - const stream4 = writer._ownerWritableStream; - const state = stream4._state; - if (state === "errored" || state === "erroring") { - return null; - } - if (state === "closed") { - return 0; - } - return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); - } - function WritableStreamDefaultWriterRelease(writer) { - const stream4 = writer._ownerWritableStream; - const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); - WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); - stream4._writer = void 0; - writer._ownerWritableStream = void 0; - } - function WritableStreamDefaultWriterWrite(writer, chunk) { - const stream4 = writer._ownerWritableStream; - const controller = stream4._writableStreamController; - const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); - if (stream4 !== writer._ownerWritableStream) { - return promiseRejectedWith(defaultWriterLockException("write to")); - } - const state = stream4._state; - if (state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - if (WritableStreamCloseQueuedOrInFlight(stream4) || state === "closed") { - return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); - } - if (state === "erroring") { - return promiseRejectedWith(stream4._storedError); - } - const promise = WritableStreamAddWriteRequest(stream4); - WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); - return promise; - } - const closeSentinel = {}; - class WritableStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get abortReason() { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("abortReason"); - } - return this._abortReason; - } - get signal() { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("signal"); - } - if (this._abortController === void 0) { - throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); - } - return this._abortController.signal; - } - error(e3 = void 0) { - if (!IsWritableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$2("error"); - } - const state = this._controlledWritableStream._state; - if (state !== "writable") { - return; - } - WritableStreamDefaultControllerError(this, e3); - } - [AbortSteps](reason) { - const result = this._abortAlgorithm(reason); - WritableStreamDefaultControllerClearAlgorithms(this); - return result; - } - [ErrorSteps]() { - ResetQueue(this); - } - } - Object.defineProperties(WritableStreamDefaultController2.prototype, { - abortReason: { enumerable: true }, - signal: { enumerable: true }, - error: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "WritableStreamDefaultController", - configurable: true - }); - } - function IsWritableStreamDefaultController(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_controlledWritableStream")) { - return false; - } - return x2 instanceof WritableStreamDefaultController2; - } - function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledWritableStream = stream4; - stream4._writableStreamController = controller; - controller._queue = void 0; - controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._abortReason = void 0; - controller._abortController = createAbortController(); - controller._started = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._writeAlgorithm = writeAlgorithm; - controller._closeAlgorithm = closeAlgorithm; - controller._abortAlgorithm = abortAlgorithm; - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - const startResult = startAlgorithm(); - const startPromise = promiseResolvedWith(startResult); - uponPromise(startPromise, () => { - controller._started = true; - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - return null; - }, (r3) => { - controller._started = true; - WritableStreamDealWithRejection(stream4, r3); - return null; - }); - } - function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { - const controller = Object.create(WritableStreamDefaultController2.prototype); - let startAlgorithm; - let writeAlgorithm; - let closeAlgorithm; - let abortAlgorithm; - if (underlyingSink.start !== void 0) { - startAlgorithm = () => underlyingSink.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingSink.write !== void 0) { - writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); - } else { - writeAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSink.close !== void 0) { - closeAlgorithm = () => underlyingSink.close(); - } else { - closeAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSink.abort !== void 0) { - abortAlgorithm = (reason) => underlyingSink.abort(reason); - } else { - abortAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - } - function WritableStreamDefaultControllerClearAlgorithms(controller) { - controller._writeAlgorithm = void 0; - controller._closeAlgorithm = void 0; - controller._abortAlgorithm = void 0; - controller._strategySizeAlgorithm = void 0; - } - function WritableStreamDefaultControllerClose(controller) { - EnqueueValueWithSize(controller, closeSentinel, 0); - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { - try { - return controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); - return 1; - } - } - function WritableStreamDefaultControllerGetDesiredSize(controller) { - return controller._strategyHWM - controller._queueTotalSize; - } - function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); - return; - } - const stream4 = controller._controlledWritableStream; - if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { - const stream4 = controller._controlledWritableStream; - if (!controller._started) { - return; - } - if (stream4._inFlightWriteRequest !== void 0) { - return; - } - const state = stream4._state; - if (state === "erroring") { - WritableStreamFinishErroring(stream4); - return; - } - if (controller._queue.length === 0) { - return; - } - const value = PeekQueueValue(controller); - if (value === closeSentinel) { - WritableStreamDefaultControllerProcessClose(controller); - } else { - WritableStreamDefaultControllerProcessWrite(controller, value); - } - } - function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { - if (controller._controlledWritableStream._state === "writable") { - WritableStreamDefaultControllerError(controller, error); - } - } - function WritableStreamDefaultControllerProcessClose(controller) { - const stream4 = controller._controlledWritableStream; - WritableStreamMarkCloseRequestInFlight(stream4); - DequeueValue(controller); - const sinkClosePromise = controller._closeAlgorithm(); - WritableStreamDefaultControllerClearAlgorithms(controller); - uponPromise(sinkClosePromise, () => { - WritableStreamFinishInFlightClose(stream4); - return null; - }, (reason) => { - WritableStreamFinishInFlightCloseWithError(stream4, reason); - return null; - }); - } - function WritableStreamDefaultControllerProcessWrite(controller, chunk) { - const stream4 = controller._controlledWritableStream; - WritableStreamMarkFirstWriteRequestInFlight(stream4); - const sinkWritePromise = controller._writeAlgorithm(chunk); - uponPromise(sinkWritePromise, () => { - WritableStreamFinishInFlightWrite(stream4); - const state = stream4._state; - DequeueValue(controller); - if (!WritableStreamCloseQueuedOrInFlight(stream4) && state === "writable") { - const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream4, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - return null; - }, (reason) => { - if (stream4._state === "writable") { - WritableStreamDefaultControllerClearAlgorithms(controller); - } - WritableStreamFinishInFlightWriteWithError(stream4, reason); - return null; - }); - } - function WritableStreamDefaultControllerGetBackpressure(controller) { - const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); - return desiredSize <= 0; - } - function WritableStreamDefaultControllerError(controller, error) { - const stream4 = controller._controlledWritableStream; - WritableStreamDefaultControllerClearAlgorithms(controller); - WritableStreamStartErroring(stream4, error); - } - function streamBrandCheckException$2(name) { - return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); - } - function defaultControllerBrandCheckException$2(name) { - return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); - } - function defaultWriterBrandCheckException(name) { - return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); - } - function defaultWriterLockException(name) { - return new TypeError("Cannot " + name + " a stream using a released writer"); - } - function defaultWriterClosedPromiseInitialize(writer) { - writer._closedPromise = newPromise((resolve, reject) => { - writer._closedPromise_resolve = resolve; - writer._closedPromise_reject = reject; - writer._closedPromiseState = "pending"; - }); - } - function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseReject(writer, reason); - } - function defaultWriterClosedPromiseInitializeAsResolved(writer) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseResolve(writer); - } - function defaultWriterClosedPromiseReject(writer, reason) { - if (writer._closedPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(writer._closedPromise); - writer._closedPromise_reject(reason); - writer._closedPromise_resolve = void 0; - writer._closedPromise_reject = void 0; - writer._closedPromiseState = "rejected"; - } - function defaultWriterClosedPromiseResetToRejected(writer, reason) { - defaultWriterClosedPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterClosedPromiseResolve(writer) { - if (writer._closedPromise_resolve === void 0) { - return; - } - writer._closedPromise_resolve(void 0); - writer._closedPromise_resolve = void 0; - writer._closedPromise_reject = void 0; - writer._closedPromiseState = "resolved"; - } - function defaultWriterReadyPromiseInitialize(writer) { - writer._readyPromise = newPromise((resolve, reject) => { - writer._readyPromise_resolve = resolve; - writer._readyPromise_reject = reject; - }); - writer._readyPromiseState = "pending"; - } - function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseReject(writer, reason); - } - function defaultWriterReadyPromiseInitializeAsResolved(writer) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseResolve(writer); - } - function defaultWriterReadyPromiseReject(writer, reason) { - if (writer._readyPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(writer._readyPromise); - writer._readyPromise_reject(reason); - writer._readyPromise_resolve = void 0; - writer._readyPromise_reject = void 0; - writer._readyPromiseState = "rejected"; - } - function defaultWriterReadyPromiseReset(writer) { - defaultWriterReadyPromiseInitialize(writer); - } - function defaultWriterReadyPromiseResetToRejected(writer, reason) { - defaultWriterReadyPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterReadyPromiseResolve(writer) { - if (writer._readyPromise_resolve === void 0) { - return; - } - writer._readyPromise_resolve(void 0); - writer._readyPromise_resolve = void 0; - writer._readyPromise_reject = void 0; - writer._readyPromiseState = "fulfilled"; - } - function getGlobals() { - if (typeof globalThis !== "undefined") { - return globalThis; - } else if (typeof self !== "undefined") { - return self; - } else if (typeof global !== "undefined") { - return global; - } - return void 0; - } - const globals = getGlobals(); - function isDOMExceptionConstructor(ctor) { - if (!(typeof ctor === "function" || typeof ctor === "object")) { - return false; - } - if (ctor.name !== "DOMException") { - return false; - } - try { - new ctor(); - return true; - } catch (_a3) { - return false; - } - } - function getFromGlobal() { - const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; - return isDOMExceptionConstructor(ctor) ? ctor : void 0; - } - function createPolyfill() { - const ctor = function DOMException4(message, name) { - this.message = message || ""; - this.name = name || "Error"; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - }; - setFunctionName(ctor, "DOMException"); - ctor.prototype = Object.create(Error.prototype); - Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); - return ctor; - } - const DOMException3 = getFromGlobal() || createPolyfill(); - function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { - const reader = AcquireReadableStreamDefaultReader(source); - const writer = AcquireWritableStreamDefaultWriter(dest); - source._disturbed = true; - let shuttingDown = false; - let currentWrite = promiseResolvedWith(void 0); - return newPromise((resolve, reject) => { - let abortAlgorithm; - if (signal !== void 0) { - abortAlgorithm = () => { - const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); - const actions = []; - if (!preventAbort) { - actions.push(() => { - if (dest._state === "writable") { - return WritableStreamAbort(dest, error); - } - return promiseResolvedWith(void 0); - }); - } - if (!preventCancel) { - actions.push(() => { - if (source._state === "readable") { - return ReadableStreamCancel(source, error); - } - return promiseResolvedWith(void 0); - }); - } - shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); - }; - if (signal.aborted) { - abortAlgorithm(); - return; - } - signal.addEventListener("abort", abortAlgorithm); - } - function pipeLoop() { - return newPromise((resolveLoop, rejectLoop) => { - function next(done) { - if (done) { - resolveLoop(); - } else { - PerformPromiseThen(pipeStep(), next, rejectLoop); - } - } - next(false); - }); - } - function pipeStep() { - if (shuttingDown) { - return promiseResolvedWith(true); - } - return PerformPromiseThen(writer._readyPromise, () => { - return newPromise((resolveRead, rejectRead) => { - ReadableStreamDefaultReaderRead(reader, { - _chunkSteps: (chunk) => { - currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); - resolveRead(false); - }, - _closeSteps: () => resolveRead(true), - _errorSteps: rejectRead - }); - }); - }); - } - isOrBecomesErrored(source, reader._closedPromise, (storedError) => { - if (!preventAbort) { - shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); - } else { - shutdown(true, storedError); - } - return null; - }); - isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { - if (!preventCancel) { - shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); - } else { - shutdown(true, storedError); - } - return null; - }); - isOrBecomesClosed(source, reader._closedPromise, () => { - if (!preventClose) { - shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); - } else { - shutdown(); - } - return null; - }); - if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { - const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); - if (!preventCancel) { - shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); - } else { - shutdown(true, destClosed); - } - } - setPromiseIsHandledToTrue(pipeLoop()); - function waitForWritesToFinish() { - const oldCurrentWrite = currentWrite; - return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); - } - function isOrBecomesErrored(stream4, promise, action) { - if (stream4._state === "errored") { - action(stream4._storedError); - } else { - uponRejection(promise, action); - } - } - function isOrBecomesClosed(stream4, promise, action) { - if (stream4._state === "closed") { - action(); - } else { - uponFulfillment(promise, action); - } - } - function shutdownWithAction(action, originalIsError, originalError) { - if (shuttingDown) { - return; - } - shuttingDown = true; - if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { - uponFulfillment(waitForWritesToFinish(), doTheRest); - } else { - doTheRest(); - } - function doTheRest() { - uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); - return null; - } - } - function shutdown(isError, error) { - if (shuttingDown) { - return; - } - shuttingDown = true; - if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { - uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error)); - } else { - finalize(isError, error); - } - } - function finalize(isError, error) { - WritableStreamDefaultWriterRelease(writer); - ReadableStreamReaderGenericRelease(reader); - if (signal !== void 0) { - signal.removeEventListener("abort", abortAlgorithm); - } - if (isError) { - reject(error); - } else { - resolve(void 0); - } - return null; - } - }); - } - class ReadableStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("desiredSize"); - } - return ReadableStreamDefaultControllerGetDesiredSize(this); - } - close() { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("close"); - } - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { - throw new TypeError("The stream is not in a state that permits close"); - } - ReadableStreamDefaultControllerClose(this); - } - enqueue(chunk = void 0) { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("enqueue"); - } - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { - throw new TypeError("The stream is not in a state that permits enqueue"); - } - return ReadableStreamDefaultControllerEnqueue(this, chunk); - } - error(e3 = void 0) { - if (!IsReadableStreamDefaultController(this)) { - throw defaultControllerBrandCheckException$1("error"); - } - ReadableStreamDefaultControllerError(this, e3); - } - [CancelSteps](reason) { - ResetQueue(this); - const result = this._cancelAlgorithm(reason); - ReadableStreamDefaultControllerClearAlgorithms(this); - return result; - } - [PullSteps](readRequest) { - const stream4 = this._controlledReadableStream; - if (this._queue.length > 0) { - const chunk = DequeueValue(this); - if (this._closeRequested && this._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(this); - ReadableStreamClose(stream4); - } else { - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - readRequest._chunkSteps(chunk); - } else { - ReadableStreamAddReadRequest(stream4, readRequest); - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - } - [ReleaseSteps]() { - } - } - Object.defineProperties(ReadableStreamDefaultController2.prototype, { - close: { enumerable: true }, - enqueue: { enumerable: true }, - error: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); - setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); - setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "ReadableStreamDefaultController", - configurable: true - }); - } - function IsReadableStreamDefaultController(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableStream")) { - return false; - } - return x2 instanceof ReadableStreamDefaultController2; - } - function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { - const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); - if (!shouldPull) { - return; - } - if (controller._pulling) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - const pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, () => { - controller._pulling = false; - if (controller._pullAgain) { - controller._pullAgain = false; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - return null; - }, (e3) => { - ReadableStreamDefaultControllerError(controller, e3); - return null; - }); - } - function ReadableStreamDefaultControllerShouldCallPull(controller) { - const stream4 = controller._controlledReadableStream; - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return false; - } - if (!controller._started) { - return false; - } - if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - return true; - } - const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableStreamDefaultControllerClearAlgorithms(controller) { - controller._pullAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - controller._strategySizeAlgorithm = void 0; - } - function ReadableStreamDefaultControllerClose(controller) { - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return; - } - const stream4 = controller._controlledReadableStream; - controller._closeRequested = true; - if (controller._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamClose(stream4); - } - } - function ReadableStreamDefaultControllerEnqueue(controller, chunk) { - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { - return; - } - const stream4 = controller._controlledReadableStream; - if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { - ReadableStreamFulfillReadRequest(stream4, chunk, false); - } else { - let chunkSize; - try { - chunkSize = controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - ReadableStreamDefaultControllerError(controller, chunkSizeE); - throw chunkSizeE; - } - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - ReadableStreamDefaultControllerError(controller, enqueueE); - throw enqueueE; - } - } - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - function ReadableStreamDefaultControllerError(controller, e3) { - const stream4 = controller._controlledReadableStream; - if (stream4._state !== "readable") { - return; - } - ResetQueue(controller); - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamError(stream4, e3); - } - function ReadableStreamDefaultControllerGetDesiredSize(controller) { - const state = controller._controlledReadableStream._state; - if (state === "errored") { - return null; - } - if (state === "closed") { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableStreamDefaultControllerHasBackpressure(controller) { - if (ReadableStreamDefaultControllerShouldCallPull(controller)) { - return false; - } - return true; - } - function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { - const state = controller._controlledReadableStream._state; - if (!controller._closeRequested && state === "readable") { - return true; - } - return false; - } - function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledReadableStream = stream4; - controller._queue = void 0; - controller._queueTotalSize = void 0; - ResetQueue(controller); - controller._started = false; - controller._closeRequested = false; - controller._pullAgain = false; - controller._pulling = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - stream4._readableStreamController = controller; - const startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), () => { - controller._started = true; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(controller, r3); - return null; - }); - } - function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { - const controller = Object.create(ReadableStreamDefaultController2.prototype); - let startAlgorithm; - let pullAlgorithm; - let cancelAlgorithm; - if (underlyingSource.start !== void 0) { - startAlgorithm = () => underlyingSource.start(controller); - } else { - startAlgorithm = () => void 0; - } - if (underlyingSource.pull !== void 0) { - pullAlgorithm = () => underlyingSource.pull(controller); - } else { - pullAlgorithm = () => promiseResolvedWith(void 0); - } - if (underlyingSource.cancel !== void 0) { - cancelAlgorithm = (reason) => underlyingSource.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - } - function defaultControllerBrandCheckException$1(name) { - return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); - } - function ReadableStreamTee(stream4, cloneForBranch2) { - if (IsReadableByteStreamController(stream4._readableStreamController)) { - return ReadableByteStreamTee(stream4); - } - return ReadableStreamDefaultTee(stream4); - } - function ReadableStreamDefaultTee(stream4, cloneForBranch2) { - const reader = AcquireReadableStreamDefaultReader(stream4); - let reading = false; - let readAgain = false; - let canceled1 = false; - let canceled2 = false; - let reason1; - let reason2; - let branch1; - let branch2; - let resolveCancelPromise; - const cancelPromise = newPromise((resolve) => { - resolveCancelPromise = resolve; - }); - function pullAlgorithm() { - if (reading) { - readAgain = true; - return promiseResolvedWith(void 0); - } - reading = true; - const readRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgain = false; - const chunk1 = chunk; - const chunk2 = chunk; - if (!canceled1) { - ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); - } - if (!canceled2) { - ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); - } - reading = false; - if (readAgain) { - pullAlgorithm(); - } - }); - }, - _closeSteps: () => { - reading = false; - if (!canceled1) { - ReadableStreamDefaultControllerClose(branch1._readableStreamController); - } - if (!canceled2) { - ReadableStreamDefaultControllerClose(branch2._readableStreamController); - } - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - return promiseResolvedWith(void 0); - } - function cancel1Algorithm(reason) { - canceled1 = true; - reason1 = reason; - if (canceled2) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function cancel2Algorithm(reason) { - canceled2 = true; - reason2 = reason; - if (canceled1) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function startAlgorithm() { - } - branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); - branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); - uponRejection(reader._closedPromise, (r3) => { - ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); - ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - return null; - }); - return [branch1, branch2]; - } - function ReadableByteStreamTee(stream4) { - let reader = AcquireReadableStreamDefaultReader(stream4); - let reading = false; - let readAgainForBranch1 = false; - let readAgainForBranch2 = false; - let canceled1 = false; - let canceled2 = false; - let reason1; - let reason2; - let branch1; - let branch2; - let resolveCancelPromise; - const cancelPromise = newPromise((resolve) => { - resolveCancelPromise = resolve; - }); - function forwardReaderError(thisReader) { - uponRejection(thisReader._closedPromise, (r3) => { - if (thisReader !== reader) { - return null; - } - ReadableByteStreamControllerError(branch1._readableStreamController, r3); - ReadableByteStreamControllerError(branch2._readableStreamController, r3); - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - return null; - }); - } - function pullWithDefaultReader() { - if (IsReadableStreamBYOBReader(reader)) { - ReadableStreamReaderGenericRelease(reader); - reader = AcquireReadableStreamDefaultReader(stream4); - forwardReaderError(reader); - } - const readRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgainForBranch1 = false; - readAgainForBranch2 = false; - const chunk1 = chunk; - let chunk2 = chunk; - if (!canceled1 && !canceled2) { - try { - chunk2 = CloneAsUint8Array(chunk); - } catch (cloneE) { - ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); - ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); - resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); - return; - } - } - if (!canceled1) { - ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); - } - if (!canceled2) { - ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); - } - reading = false; - if (readAgainForBranch1) { - pull1Algorithm(); - } else if (readAgainForBranch2) { - pull2Algorithm(); - } - }); - }, - _closeSteps: () => { - reading = false; - if (!canceled1) { - ReadableByteStreamControllerClose(branch1._readableStreamController); - } - if (!canceled2) { - ReadableByteStreamControllerClose(branch2._readableStreamController); - } - if (branch1._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); - } - if (branch2._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); - } - if (!canceled1 || !canceled2) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamDefaultReaderRead(reader, readRequest); - } - function pullWithBYOBReader(view, forBranch2) { - if (IsReadableStreamDefaultReader(reader)) { - ReadableStreamReaderGenericRelease(reader); - reader = AcquireReadableStreamBYOBReader(stream4); - forwardReaderError(reader); - } - const byobBranch = forBranch2 ? branch2 : branch1; - const otherBranch = forBranch2 ? branch1 : branch2; - const readIntoRequest = { - _chunkSteps: (chunk) => { - _queueMicrotask(() => { - readAgainForBranch1 = false; - readAgainForBranch2 = false; - const byobCanceled = forBranch2 ? canceled2 : canceled1; - const otherCanceled = forBranch2 ? canceled1 : canceled2; - if (!otherCanceled) { - let clonedChunk; - try { - clonedChunk = CloneAsUint8Array(chunk); - } catch (cloneE) { - ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); - ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); - resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); - return; - } - if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); - } else if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - reading = false; - if (readAgainForBranch1) { - pull1Algorithm(); - } else if (readAgainForBranch2) { - pull2Algorithm(); - } - }); - }, - _closeSteps: (chunk) => { - reading = false; - const byobCanceled = forBranch2 ? canceled2 : canceled1; - const otherCanceled = forBranch2 ? canceled1 : canceled2; - if (!byobCanceled) { - ReadableByteStreamControllerClose(byobBranch._readableStreamController); - } - if (!otherCanceled) { - ReadableByteStreamControllerClose(otherBranch._readableStreamController); - } - if (chunk !== void 0) { - if (!byobCanceled) { - ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); - } - if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { - ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); - } - } - if (!byobCanceled || !otherCanceled) { - resolveCancelPromise(void 0); - } - }, - _errorSteps: () => { - reading = false; - } - }; - ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); - } - function pull1Algorithm() { - if (reading) { - readAgainForBranch1 = true; - return promiseResolvedWith(void 0); - } - reading = true; - const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); - if (byobRequest === null) { - pullWithDefaultReader(); - } else { - pullWithBYOBReader(byobRequest._view, false); - } - return promiseResolvedWith(void 0); - } - function pull2Algorithm() { - if (reading) { - readAgainForBranch2 = true; - return promiseResolvedWith(void 0); - } - reading = true; - const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); - if (byobRequest === null) { - pullWithDefaultReader(); - } else { - pullWithBYOBReader(byobRequest._view, true); - } - return promiseResolvedWith(void 0); - } - function cancel1Algorithm(reason) { - canceled1 = true; - reason1 = reason; - if (canceled2) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function cancel2Algorithm(reason) { - canceled2 = true; - reason2 = reason; - if (canceled1) { - const compositeReason = CreateArrayFromList([reason1, reason2]); - const cancelResult = ReadableStreamCancel(stream4, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function startAlgorithm() { - return; - } - branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); - branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); - forwardReaderError(reader); - return [branch1, branch2]; - } - function isReadableStreamLike(stream4) { - return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; - } - function ReadableStreamFrom(source) { - if (isReadableStreamLike(source)) { - return ReadableStreamFromDefaultReader(source.getReader()); - } - return ReadableStreamFromIterable(source); - } - function ReadableStreamFromIterable(asyncIterable) { - let stream4; - const iteratorRecord = GetIterator(asyncIterable, "async"); - const startAlgorithm = noop2; - function pullAlgorithm() { - let nextResult; - try { - nextResult = IteratorNext(iteratorRecord); - } catch (e3) { - return promiseRejectedWith(e3); - } - const nextPromise = promiseResolvedWith(nextResult); - return transformPromiseWith(nextPromise, (iterResult) => { - if (!typeIsObject(iterResult)) { - throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); - } - const done = IteratorComplete(iterResult); - if (done) { - ReadableStreamDefaultControllerClose(stream4._readableStreamController); - } else { - const value = IteratorValue(iterResult); - ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); - } - }); - } - function cancelAlgorithm(reason) { - const iterator = iteratorRecord.iterator; - let returnMethod; - try { - returnMethod = GetMethod(iterator, "return"); - } catch (e3) { - return promiseRejectedWith(e3); - } - if (returnMethod === void 0) { - return promiseResolvedWith(void 0); - } - let returnResult; - try { - returnResult = reflectCall(returnMethod, iterator, [reason]); - } catch (e3) { - return promiseRejectedWith(e3); - } - const returnPromise = promiseResolvedWith(returnResult); - return transformPromiseWith(returnPromise, (iterResult) => { - if (!typeIsObject(iterResult)) { - throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); - } - return void 0; - }); - } - stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); - return stream4; - } - function ReadableStreamFromDefaultReader(reader) { - let stream4; - const startAlgorithm = noop2; - function pullAlgorithm() { - let readPromise; - try { - readPromise = reader.read(); - } catch (e3) { - return promiseRejectedWith(e3); - } - return transformPromiseWith(readPromise, (readResult) => { - if (!typeIsObject(readResult)) { - throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); - } - if (readResult.done) { - ReadableStreamDefaultControllerClose(stream4._readableStreamController); - } else { - const value = readResult.value; - ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); - } - }); - } - function cancelAlgorithm(reason) { - try { - return promiseResolvedWith(reader.cancel(reason)); - } catch (e3) { - return promiseRejectedWith(e3); - } - } - stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); - return stream4; - } - function convertUnderlyingDefaultOrByteSource(source, context2) { - assertDictionary(source, context2); - const original = source; - const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; - const cancel = original === null || original === void 0 ? void 0 : original.cancel; - const pull = original === null || original === void 0 ? void 0 : original.pull; - const start = original === null || original === void 0 ? void 0 : original.start; - const type = original === null || original === void 0 ? void 0 : original.type; - return { - autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context2} has member 'autoAllocateChunkSize' that`), - cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context2} has member 'cancel' that`), - pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context2} has member 'pull' that`), - start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context2} has member 'start' that`), - type: type === void 0 ? void 0 : convertReadableStreamType(type, `${context2} has member 'type' that`) - }; - } - function convertUnderlyingSourceCancelCallback(fn, original, context2) { - assertFunction(fn, context2); - return (reason) => promiseCall(fn, original, [reason]); - } - function convertUnderlyingSourcePullCallback(fn, original, context2) { - assertFunction(fn, context2); - return (controller) => promiseCall(fn, original, [controller]); - } - function convertUnderlyingSourceStartCallback(fn, original, context2) { - assertFunction(fn, context2); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertReadableStreamType(type, context2) { - type = `${type}`; - if (type !== "bytes") { - throw new TypeError(`${context2} '${type}' is not a valid enumeration value for ReadableStreamType`); - } - return type; - } - function convertIteratorOptions(options, context2) { - assertDictionary(options, context2); - const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; - return { preventCancel: Boolean(preventCancel) }; - } - function convertPipeOptions(options, context2) { - assertDictionary(options, context2); - const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; - const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; - const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; - const signal = options === null || options === void 0 ? void 0 : options.signal; - if (signal !== void 0) { - assertAbortSignal(signal, `${context2} has member 'signal' that`); - } - return { - preventAbort: Boolean(preventAbort), - preventCancel: Boolean(preventCancel), - preventClose: Boolean(preventClose), - signal - }; - } - function assertAbortSignal(signal, context2) { - if (!isAbortSignal(signal)) { - throw new TypeError(`${context2} is not an AbortSignal.`); - } - } - function convertReadableWritablePair(pair, context2) { - assertDictionary(pair, context2); - const readable = pair === null || pair === void 0 ? void 0 : pair.readable; - assertRequiredField(readable, "readable", "ReadableWritablePair"); - assertReadableStream(readable, `${context2} has member 'readable' that`); - const writable = pair === null || pair === void 0 ? void 0 : pair.writable; - assertRequiredField(writable, "writable", "ReadableWritablePair"); - assertWritableStream(writable, `${context2} has member 'writable' that`); - return { readable, writable }; - } - class ReadableStream4 { - constructor(rawUnderlyingSource = {}, rawStrategy = {}) { - if (rawUnderlyingSource === void 0) { - rawUnderlyingSource = null; - } else { - assertObject(rawUnderlyingSource, "First parameter"); - } - const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); - const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); - InitializeReadableStream(this); - if (underlyingSource.type === "bytes") { - if (strategy.size !== void 0) { - throw new RangeError("The strategy for a byte stream cannot have a size function"); - } - const highWaterMark = ExtractHighWaterMark(strategy, 0); - SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); - } else { - const sizeAlgorithm = ExtractSizeAlgorithm(strategy); - const highWaterMark = ExtractHighWaterMark(strategy, 1); - SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); - } - } - get locked() { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("locked"); - } - return IsReadableStreamLocked(this); - } - cancel(reason = void 0) { - if (!IsReadableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$1("cancel")); - } - if (IsReadableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); - } - return ReadableStreamCancel(this, reason); - } - getReader(rawOptions = void 0) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("getReader"); - } - const options = convertReaderOptions(rawOptions, "First parameter"); - if (options.mode === void 0) { - return AcquireReadableStreamDefaultReader(this); - } - return AcquireReadableStreamBYOBReader(this); - } - pipeThrough(rawTransform, rawOptions = {}) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("pipeThrough"); - } - assertRequiredArgument(rawTransform, 1, "pipeThrough"); - const transform = convertReadableWritablePair(rawTransform, "First parameter"); - const options = convertPipeOptions(rawOptions, "Second parameter"); - if (IsReadableStreamLocked(this)) { - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); - } - if (IsWritableStreamLocked(transform.writable)) { - throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); - } - const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); - setPromiseIsHandledToTrue(promise); - return transform.readable; - } - pipeTo(destination, rawOptions = {}) { - if (!IsReadableStream(this)) { - return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); - } - if (destination === void 0) { - return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); - } - if (!IsWritableStream(destination)) { - return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); - } - let options; - try { - options = convertPipeOptions(rawOptions, "Second parameter"); - } catch (e3) { - return promiseRejectedWith(e3); - } - if (IsReadableStreamLocked(this)) { - return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); - } - if (IsWritableStreamLocked(destination)) { - return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); - } - return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); - } - tee() { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("tee"); - } - const branches = ReadableStreamTee(this); - return CreateArrayFromList(branches); - } - values(rawOptions = void 0) { - if (!IsReadableStream(this)) { - throw streamBrandCheckException$1("values"); - } - const options = convertIteratorOptions(rawOptions, "First parameter"); - return AcquireReadableStreamAsyncIterator(this, options.preventCancel); - } - [SymbolAsyncIterator](options) { - return this.values(options); - } - static from(asyncIterable) { - return ReadableStreamFrom(asyncIterable); - } - } - Object.defineProperties(ReadableStream4, { - from: { enumerable: true } - }); - Object.defineProperties(ReadableStream4.prototype, { - cancel: { enumerable: true }, - getReader: { enumerable: true }, - pipeThrough: { enumerable: true }, - pipeTo: { enumerable: true }, - tee: { enumerable: true }, - values: { enumerable: true }, - locked: { enumerable: true } - }); - setFunctionName(ReadableStream4.from, "from"); - setFunctionName(ReadableStream4.prototype.cancel, "cancel"); - setFunctionName(ReadableStream4.prototype.getReader, "getReader"); - setFunctionName(ReadableStream4.prototype.pipeThrough, "pipeThrough"); - setFunctionName(ReadableStream4.prototype.pipeTo, "pipeTo"); - setFunctionName(ReadableStream4.prototype.tee, "tee"); - setFunctionName(ReadableStream4.prototype.values, "values"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ReadableStream4.prototype, Symbol.toStringTag, { - value: "ReadableStream", - configurable: true - }); - } - Object.defineProperty(ReadableStream4.prototype, SymbolAsyncIterator, { - value: ReadableStream4.prototype.values, - writable: true, - configurable: true - }); - function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { - const stream4 = Object.create(ReadableStream4.prototype); - InitializeReadableStream(stream4); - const controller = Object.create(ReadableStreamDefaultController2.prototype); - SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - return stream4; - } - function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { - const stream4 = Object.create(ReadableStream4.prototype); - InitializeReadableStream(stream4); - const controller = Object.create(ReadableByteStreamController2.prototype); - SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); - return stream4; - } - function InitializeReadableStream(stream4) { - stream4._state = "readable"; - stream4._reader = void 0; - stream4._storedError = void 0; - stream4._disturbed = false; - } - function IsReadableStream(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_readableStreamController")) { - return false; - } - return x2 instanceof ReadableStream4; - } - function IsReadableStreamLocked(stream4) { - if (stream4._reader === void 0) { - return false; - } - return true; - } - function ReadableStreamCancel(stream4, reason) { - stream4._disturbed = true; - if (stream4._state === "closed") { - return promiseResolvedWith(void 0); - } - if (stream4._state === "errored") { - return promiseRejectedWith(stream4._storedError); - } - ReadableStreamClose(stream4); - const reader = stream4._reader; - if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { - const readIntoRequests = reader._readIntoRequests; - reader._readIntoRequests = new SimpleQueue(); - readIntoRequests.forEach((readIntoRequest) => { - readIntoRequest._closeSteps(void 0); - }); - } - const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); - return transformPromiseWith(sourceCancelPromise, noop2); - } - function ReadableStreamClose(stream4) { - stream4._state = "closed"; - const reader = stream4._reader; - if (reader === void 0) { - return; - } - defaultReaderClosedPromiseResolve(reader); - if (IsReadableStreamDefaultReader(reader)) { - const readRequests = reader._readRequests; - reader._readRequests = new SimpleQueue(); - readRequests.forEach((readRequest) => { - readRequest._closeSteps(); - }); - } - } - function ReadableStreamError(stream4, e3) { - stream4._state = "errored"; - stream4._storedError = e3; - const reader = stream4._reader; - if (reader === void 0) { - return; - } - defaultReaderClosedPromiseReject(reader, e3); - if (IsReadableStreamDefaultReader(reader)) { - ReadableStreamDefaultReaderErrorReadRequests(reader, e3); - } else { - ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); - } - } - function streamBrandCheckException$1(name) { - return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); - } - function convertQueuingStrategyInit(init, context2) { - assertDictionary(init, context2); - const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; - assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); - return { - highWaterMark: convertUnrestrictedDouble(highWaterMark) - }; - } - const byteLengthSizeFunction = (chunk) => { - return chunk.byteLength; - }; - setFunctionName(byteLengthSizeFunction, "size"); - class ByteLengthQueuingStrategy2 { - constructor(options) { - assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); - options = convertQueuingStrategyInit(options, "First parameter"); - this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; - } - get highWaterMark() { - if (!IsByteLengthQueuingStrategy(this)) { - throw byteLengthBrandCheckException("highWaterMark"); - } - return this._byteLengthQueuingStrategyHighWaterMark; - } - get size() { - if (!IsByteLengthQueuingStrategy(this)) { - throw byteLengthBrandCheckException("size"); - } - return byteLengthSizeFunction; - } - } - Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { - highWaterMark: { enumerable: true }, - size: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { - value: "ByteLengthQueuingStrategy", - configurable: true - }); - } - function byteLengthBrandCheckException(name) { - return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); - } - function IsByteLengthQueuingStrategy(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_byteLengthQueuingStrategyHighWaterMark")) { - return false; - } - return x2 instanceof ByteLengthQueuingStrategy2; - } - const countSizeFunction = () => { - return 1; - }; - setFunctionName(countSizeFunction, "size"); - class CountQueuingStrategy2 { - constructor(options) { - assertRequiredArgument(options, 1, "CountQueuingStrategy"); - options = convertQueuingStrategyInit(options, "First parameter"); - this._countQueuingStrategyHighWaterMark = options.highWaterMark; - } - get highWaterMark() { - if (!IsCountQueuingStrategy(this)) { - throw countBrandCheckException("highWaterMark"); - } - return this._countQueuingStrategyHighWaterMark; - } - get size() { - if (!IsCountQueuingStrategy(this)) { - throw countBrandCheckException("size"); - } - return countSizeFunction; - } - } - Object.defineProperties(CountQueuingStrategy2.prototype, { - highWaterMark: { enumerable: true }, - size: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { - value: "CountQueuingStrategy", - configurable: true - }); - } - function countBrandCheckException(name) { - return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); - } - function IsCountQueuingStrategy(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_countQueuingStrategyHighWaterMark")) { - return false; - } - return x2 instanceof CountQueuingStrategy2; - } - function convertTransformer(original, context2) { - assertDictionary(original, context2); - const cancel = original === null || original === void 0 ? void 0 : original.cancel; - const flush = original === null || original === void 0 ? void 0 : original.flush; - const readableType = original === null || original === void 0 ? void 0 : original.readableType; - const start = original === null || original === void 0 ? void 0 : original.start; - const transform = original === null || original === void 0 ? void 0 : original.transform; - const writableType = original === null || original === void 0 ? void 0 : original.writableType; - return { - cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context2} has member 'cancel' that`), - flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context2} has member 'flush' that`), - readableType, - start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context2} has member 'start' that`), - transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context2} has member 'transform' that`), - writableType - }; - } - function convertTransformerFlushCallback(fn, original, context2) { - assertFunction(fn, context2); - return (controller) => promiseCall(fn, original, [controller]); - } - function convertTransformerStartCallback(fn, original, context2) { - assertFunction(fn, context2); - return (controller) => reflectCall(fn, original, [controller]); - } - function convertTransformerTransformCallback(fn, original, context2) { - assertFunction(fn, context2); - return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); - } - function convertTransformerCancelCallback(fn, original, context2) { - assertFunction(fn, context2); - return (reason) => promiseCall(fn, original, [reason]); - } - class TransformStream2 { - constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { - if (rawTransformer === void 0) { - rawTransformer = null; - } - const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); - const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); - const transformer = convertTransformer(rawTransformer, "First parameter"); - if (transformer.readableType !== void 0) { - throw new RangeError("Invalid readableType specified"); - } - if (transformer.writableType !== void 0) { - throw new RangeError("Invalid writableType specified"); - } - const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); - const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); - const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); - const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); - let startPromise_resolve; - const startPromise = newPromise((resolve) => { - startPromise_resolve = resolve; - }); - InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); - if (transformer.start !== void 0) { - startPromise_resolve(transformer.start(this._transformStreamController)); - } else { - startPromise_resolve(void 0); - } - } - get readable() { - if (!IsTransformStream(this)) { - throw streamBrandCheckException("readable"); - } - return this._readable; - } - get writable() { - if (!IsTransformStream(this)) { - throw streamBrandCheckException("writable"); - } - return this._writable; - } - } - Object.defineProperties(TransformStream2.prototype, { - readable: { enumerable: true }, - writable: { enumerable: true } - }); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(TransformStream2.prototype, Symbol.toStringTag, { - value: "TransformStream", - configurable: true - }); - } - function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { - function startAlgorithm() { - return startPromise; - } - function writeAlgorithm(chunk) { - return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); - } - function abortAlgorithm(reason) { - return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); - } - function closeAlgorithm() { - return TransformStreamDefaultSinkCloseAlgorithm(stream4); - } - stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); - function pullAlgorithm() { - return TransformStreamDefaultSourcePullAlgorithm(stream4); - } - function cancelAlgorithm(reason) { - return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); - } - stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - stream4._backpressure = void 0; - stream4._backpressureChangePromise = void 0; - stream4._backpressureChangePromise_resolve = void 0; - TransformStreamSetBackpressure(stream4, true); - stream4._transformStreamController = void 0; - } - function IsTransformStream(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_transformStreamController")) { - return false; - } - return x2 instanceof TransformStream2; - } - function TransformStreamError(stream4, e3) { - ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); - TransformStreamErrorWritableAndUnblockWrite(stream4, e3); - } - function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { - TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); - WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); - TransformStreamUnblockWrite(stream4); - } - function TransformStreamUnblockWrite(stream4) { - if (stream4._backpressure) { - TransformStreamSetBackpressure(stream4, false); - } - } - function TransformStreamSetBackpressure(stream4, backpressure) { - if (stream4._backpressureChangePromise !== void 0) { - stream4._backpressureChangePromise_resolve(); - } - stream4._backpressureChangePromise = newPromise((resolve) => { - stream4._backpressureChangePromise_resolve = resolve; - }); - stream4._backpressure = backpressure; - } - class TransformStreamDefaultController2 { - constructor() { - throw new TypeError("Illegal constructor"); - } - get desiredSize() { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("desiredSize"); - } - const readableController = this._controlledTransformStream._readable._readableStreamController; - return ReadableStreamDefaultControllerGetDesiredSize(readableController); - } - enqueue(chunk = void 0) { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("enqueue"); - } - TransformStreamDefaultControllerEnqueue(this, chunk); - } - error(reason = void 0) { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("error"); - } - TransformStreamDefaultControllerError(this, reason); - } - terminate() { - if (!IsTransformStreamDefaultController(this)) { - throw defaultControllerBrandCheckException("terminate"); - } - TransformStreamDefaultControllerTerminate(this); - } - } - Object.defineProperties(TransformStreamDefaultController2.prototype, { - enqueue: { enumerable: true }, - error: { enumerable: true }, - terminate: { enumerable: true }, - desiredSize: { enumerable: true } - }); - setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); - setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); - setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); - if (typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { - value: "TransformStreamDefaultController", - configurable: true - }); - } - function IsTransformStreamDefaultController(x2) { - if (!typeIsObject(x2)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x2, "_controlledTransformStream")) { - return false; - } - return x2 instanceof TransformStreamDefaultController2; - } - function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { - controller._controlledTransformStream = stream4; - stream4._transformStreamController = controller; - controller._transformAlgorithm = transformAlgorithm; - controller._flushAlgorithm = flushAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - controller._finishPromise = void 0; - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { - const controller = Object.create(TransformStreamDefaultController2.prototype); - let transformAlgorithm; - let flushAlgorithm; - let cancelAlgorithm; - if (transformer.transform !== void 0) { - transformAlgorithm = (chunk) => transformer.transform(chunk, controller); - } else { - transformAlgorithm = (chunk) => { - try { - TransformStreamDefaultControllerEnqueue(controller, chunk); - return promiseResolvedWith(void 0); - } catch (transformResultE) { - return promiseRejectedWith(transformResultE); - } - }; - } - if (transformer.flush !== void 0) { - flushAlgorithm = () => transformer.flush(controller); - } else { - flushAlgorithm = () => promiseResolvedWith(void 0); - } - if (transformer.cancel !== void 0) { - cancelAlgorithm = (reason) => transformer.cancel(reason); - } else { - cancelAlgorithm = () => promiseResolvedWith(void 0); - } - SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); - } - function TransformStreamDefaultControllerClearAlgorithms(controller) { - controller._transformAlgorithm = void 0; - controller._flushAlgorithm = void 0; - controller._cancelAlgorithm = void 0; - } - function TransformStreamDefaultControllerEnqueue(controller, chunk) { - const stream4 = controller._controlledTransformStream; - const readableController = stream4._readable._readableStreamController; - if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { - throw new TypeError("Readable side is not in a state that permits enqueue"); - } - try { - ReadableStreamDefaultControllerEnqueue(readableController, chunk); - } catch (e3) { - TransformStreamErrorWritableAndUnblockWrite(stream4, e3); - throw stream4._readable._storedError; - } - const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); - if (backpressure !== stream4._backpressure) { - TransformStreamSetBackpressure(stream4, true); - } - } - function TransformStreamDefaultControllerError(controller, e3) { - TransformStreamError(controller._controlledTransformStream, e3); - } - function TransformStreamDefaultControllerPerformTransform(controller, chunk) { - const transformPromise = controller._transformAlgorithm(chunk); - return transformPromiseWith(transformPromise, void 0, (r3) => { - TransformStreamError(controller._controlledTransformStream, r3); - throw r3; - }); - } - function TransformStreamDefaultControllerTerminate(controller) { - const stream4 = controller._controlledTransformStream; - const readableController = stream4._readable._readableStreamController; - ReadableStreamDefaultControllerClose(readableController); - const error = new TypeError("TransformStream terminated"); - TransformStreamErrorWritableAndUnblockWrite(stream4, error); - } - function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { - const controller = stream4._transformStreamController; - if (stream4._backpressure) { - const backpressureChangePromise = stream4._backpressureChangePromise; - return transformPromiseWith(backpressureChangePromise, () => { - const writable = stream4._writable; - const state = writable._state; - if (state === "erroring") { - throw writable._storedError; - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - }); - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - } - function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const readable = stream4._readable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const cancelPromise = controller._cancelAlgorithm(reason); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(cancelPromise, () => { - if (readable._state === "errored") { - defaultControllerFinishPromiseReject(controller, readable._storedError); - } else { - ReadableStreamDefaultControllerError(readable._readableStreamController, reason); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(readable._readableStreamController, r3); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function TransformStreamDefaultSinkCloseAlgorithm(stream4) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const readable = stream4._readable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const flushPromise = controller._flushAlgorithm(); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(flushPromise, () => { - if (readable._state === "errored") { - defaultControllerFinishPromiseReject(controller, readable._storedError); - } else { - ReadableStreamDefaultControllerClose(readable._readableStreamController); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - ReadableStreamDefaultControllerError(readable._readableStreamController, r3); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function TransformStreamDefaultSourcePullAlgorithm(stream4) { - TransformStreamSetBackpressure(stream4, false); - return stream4._backpressureChangePromise; - } - function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { - const controller = stream4._transformStreamController; - if (controller._finishPromise !== void 0) { - return controller._finishPromise; - } - const writable = stream4._writable; - controller._finishPromise = newPromise((resolve, reject) => { - controller._finishPromise_resolve = resolve; - controller._finishPromise_reject = reject; - }); - const cancelPromise = controller._cancelAlgorithm(reason); - TransformStreamDefaultControllerClearAlgorithms(controller); - uponPromise(cancelPromise, () => { - if (writable._state === "errored") { - defaultControllerFinishPromiseReject(controller, writable._storedError); - } else { - WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); - TransformStreamUnblockWrite(stream4); - defaultControllerFinishPromiseResolve(controller); - } - return null; - }, (r3) => { - WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); - TransformStreamUnblockWrite(stream4); - defaultControllerFinishPromiseReject(controller, r3); - return null; - }); - return controller._finishPromise; - } - function defaultControllerBrandCheckException(name) { - return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); - } - function defaultControllerFinishPromiseResolve(controller) { - if (controller._finishPromise_resolve === void 0) { - return; - } - controller._finishPromise_resolve(); - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function defaultControllerFinishPromiseReject(controller, reason) { - if (controller._finishPromise_reject === void 0) { - return; - } - setPromiseIsHandledToTrue(controller._finishPromise); - controller._finishPromise_reject(reason); - controller._finishPromise_resolve = void 0; - controller._finishPromise_reject = void 0; - } - function streamBrandCheckException(name) { - return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); - } - exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; - exports2.CountQueuingStrategy = CountQueuingStrategy2; - exports2.ReadableByteStreamController = ReadableByteStreamController2; - exports2.ReadableStream = ReadableStream4; - exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; - exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; - exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; - exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; - exports2.TransformStream = TransformStream2; - exports2.TransformStreamDefaultController = TransformStreamDefaultController2; - exports2.WritableStream = WritableStream2; - exports2.WritableStreamDefaultController = WritableStreamDefaultController2; - exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; - }); - } -}); - -// node_modules/node-domexception/index.js -var require_node_domexception = __commonJS({ - "node_modules/node-domexception/index.js"(exports, module2) { - if (!globalThis.DOMException) { - try { - const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); - port.postMessage(ab, [ab, ab]); - } catch (err) { - err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); - } - } - module2.exports = globalThis.DOMException; - } -}); - -// node_modules/formdata-node/lib/esm/isPlainObject.js -function isPlainObject3(value) { - if (getType2(value) !== "object") { - return false; - } - const pp = Object.getPrototypeOf(value); - if (pp === null || pp === void 0) { - return true; - } - const Ctor = pp.constructor && pp.constructor.toString(); - return Ctor === Object.toString(); -} -var getType2, isPlainObject_default2; -var init_isPlainObject = __esm({ - "node_modules/formdata-node/lib/esm/isPlainObject.js"() { - getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); - isPlainObject_default2 = isPlainObject3; - } -}); - -// node_modules/formdata-node/lib/esm/fileFromPath.js -var fileFromPath_exports = {}; -__export(fileFromPath_exports, { - fileFromPath: () => fileFromPath2, - fileFromPathSync: () => fileFromPathSync, - isFile: () => isFile2 -}); -function createFileFromPath(path2, { mtimeMs, size }, filenameOrOptions, options = {}) { - let filename; - if (isPlainObject_default2(filenameOrOptions)) { - [options, filename] = [filenameOrOptions, void 0]; - } else { - filename = filenameOrOptions; - } - const file = new FileFromPath({ path: path2, size, lastModified: mtimeMs }); - if (!filename) { - filename = file.name; - } - return new File2([file], filename, { - ...options, - lastModified: file.lastModified - }); -} -function fileFromPathSync(path2, filenameOrOptions, options = {}) { - const stats = (0, import_fs2.statSync)(path2); - return createFileFromPath(path2, stats, filenameOrOptions, options); -} -async function fileFromPath2(path2, filenameOrOptions, options) { - const stats = await import_fs2.promises.stat(path2); - return createFileFromPath(path2, stats, filenameOrOptions, options); -} -var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet4, __classPrivateFieldGet5, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; -var init_fileFromPath = __esm({ - "node_modules/formdata-node/lib/esm/fileFromPath.js"() { - import_fs2 = require("fs"); - import_path3 = require("path"); - import_node_domexception = __toESM(require_node_domexception(), 1); - init_File(); - init_isPlainObject(); - init_isFile(); - __classPrivateFieldSet4 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet5 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); - }; - MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; - FileFromPath = class { - constructor(input) { - _FileFromPath_path.set(this, void 0); - _FileFromPath_start.set(this, void 0); - __classPrivateFieldSet4(this, _FileFromPath_path, input.path, "f"); - __classPrivateFieldSet4(this, _FileFromPath_start, input.start || 0, "f"); - this.name = (0, import_path3.basename)(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); - this.size = input.size; - this.lastModified = input.lastModified; - } - slice(start, end) { - return new FileFromPath({ - path: __classPrivateFieldGet5(this, _FileFromPath_path, "f"), - lastModified: this.lastModified, - size: end - start, - start - }); - } - async *stream() { - const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet5(this, _FileFromPath_path, "f")); - if (mtimeMs > this.lastModified) { - throw new import_node_domexception.default(MESSAGE, "NotReadableError"); - } - if (this.size) { - yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet5(this, _FileFromPath_path, "f"), { - start: __classPrivateFieldGet5(this, _FileFromPath_start, "f"), - end: __classPrivateFieldGet5(this, _FileFromPath_start, "f") + this.size - 1 - }); - } - } - get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { - return "File"; - } - }; - } -}); - // src/github-action.ts -var import_fs3 = require("fs"); -var import_core5 = __toESM(require_core(), 1); +var import_fs2 = require("fs"); +var import_core3 = __toESM(require_core(), 1); var import_exec = __toESM(require_exec(), 1); var import_github = __toESM(require_github(), 1); @@ -47281,110 +23161,105 @@ var import_github = __toESM(require_github(), 1); var import_sisteransi = __toESM(require_src(), 1); var import_node_process = require("node:process"); var f = __toESM(require("node:readline"), 1); -function j(t2) { - return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; -} -var M = { exports: {} }; -(function(t2) { - var u3 = {}; - t2.exports = u3, u3.eastAsianWidth = function(e3) { - var s2 = e3.charCodeAt(0), C3 = e3.length == 2 ? e3.charCodeAt(1) : 0, D4 = s2; - return 55296 <= s2 && s2 <= 56319 && 56320 <= C3 && C3 <= 57343 && (s2 &= 1023, C3 &= 1023, D4 = s2 << 10 | C3, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; - }, u3.characterLength = function(e3) { - var s2 = this.eastAsianWidth(e3); - return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; +var m = {}; +var G = { get exports() { + return m; +}, set exports(t) { + m = t; +} }; +(function(t) { + var u2 = {}; + t.exports = u2, u2.eastAsianWidth = function(e2) { + var s = e2.charCodeAt(0), C2 = e2.length == 2 ? e2.charCodeAt(1) : 0, D3 = s; + return 55296 <= s && s <= 56319 && 56320 <= C2 && C2 <= 57343 && (s &= 1023, C2 &= 1023, D3 = s << 10 | C2, D3 += 65536), D3 == 12288 || 65281 <= D3 && D3 <= 65376 || 65504 <= D3 && D3 <= 65510 ? "F" : D3 == 8361 || 65377 <= D3 && D3 <= 65470 || 65474 <= D3 && D3 <= 65479 || 65482 <= D3 && D3 <= 65487 || 65490 <= D3 && D3 <= 65495 || 65498 <= D3 && D3 <= 65500 || 65512 <= D3 && D3 <= 65518 ? "H" : 4352 <= D3 && D3 <= 4447 || 4515 <= D3 && D3 <= 4519 || 4602 <= D3 && D3 <= 4607 || 9001 <= D3 && D3 <= 9002 || 11904 <= D3 && D3 <= 11929 || 11931 <= D3 && D3 <= 12019 || 12032 <= D3 && D3 <= 12245 || 12272 <= D3 && D3 <= 12283 || 12289 <= D3 && D3 <= 12350 || 12353 <= D3 && D3 <= 12438 || 12441 <= D3 && D3 <= 12543 || 12549 <= D3 && D3 <= 12589 || 12593 <= D3 && D3 <= 12686 || 12688 <= D3 && D3 <= 12730 || 12736 <= D3 && D3 <= 12771 || 12784 <= D3 && D3 <= 12830 || 12832 <= D3 && D3 <= 12871 || 12880 <= D3 && D3 <= 13054 || 13056 <= D3 && D3 <= 19903 || 19968 <= D3 && D3 <= 42124 || 42128 <= D3 && D3 <= 42182 || 43360 <= D3 && D3 <= 43388 || 44032 <= D3 && D3 <= 55203 || 55216 <= D3 && D3 <= 55238 || 55243 <= D3 && D3 <= 55291 || 63744 <= D3 && D3 <= 64255 || 65040 <= D3 && D3 <= 65049 || 65072 <= D3 && D3 <= 65106 || 65108 <= D3 && D3 <= 65126 || 65128 <= D3 && D3 <= 65131 || 110592 <= D3 && D3 <= 110593 || 127488 <= D3 && D3 <= 127490 || 127504 <= D3 && D3 <= 127546 || 127552 <= D3 && D3 <= 127560 || 127568 <= D3 && D3 <= 127569 || 131072 <= D3 && D3 <= 194367 || 177984 <= D3 && D3 <= 196605 || 196608 <= D3 && D3 <= 262141 ? "W" : 32 <= D3 && D3 <= 126 || 162 <= D3 && D3 <= 163 || 165 <= D3 && D3 <= 166 || D3 == 172 || D3 == 175 || 10214 <= D3 && D3 <= 10221 || 10629 <= D3 && D3 <= 10630 ? "Na" : D3 == 161 || D3 == 164 || 167 <= D3 && D3 <= 168 || D3 == 170 || 173 <= D3 && D3 <= 174 || 176 <= D3 && D3 <= 180 || 182 <= D3 && D3 <= 186 || 188 <= D3 && D3 <= 191 || D3 == 198 || D3 == 208 || 215 <= D3 && D3 <= 216 || 222 <= D3 && D3 <= 225 || D3 == 230 || 232 <= D3 && D3 <= 234 || 236 <= D3 && D3 <= 237 || D3 == 240 || 242 <= D3 && D3 <= 243 || 247 <= D3 && D3 <= 250 || D3 == 252 || D3 == 254 || D3 == 257 || D3 == 273 || D3 == 275 || D3 == 283 || 294 <= D3 && D3 <= 295 || D3 == 299 || 305 <= D3 && D3 <= 307 || D3 == 312 || 319 <= D3 && D3 <= 322 || D3 == 324 || 328 <= D3 && D3 <= 331 || D3 == 333 || 338 <= D3 && D3 <= 339 || 358 <= D3 && D3 <= 359 || D3 == 363 || D3 == 462 || D3 == 464 || D3 == 466 || D3 == 468 || D3 == 470 || D3 == 472 || D3 == 474 || D3 == 476 || D3 == 593 || D3 == 609 || D3 == 708 || D3 == 711 || 713 <= D3 && D3 <= 715 || D3 == 717 || D3 == 720 || 728 <= D3 && D3 <= 731 || D3 == 733 || D3 == 735 || 768 <= D3 && D3 <= 879 || 913 <= D3 && D3 <= 929 || 931 <= D3 && D3 <= 937 || 945 <= D3 && D3 <= 961 || 963 <= D3 && D3 <= 969 || D3 == 1025 || 1040 <= D3 && D3 <= 1103 || D3 == 1105 || D3 == 8208 || 8211 <= D3 && D3 <= 8214 || 8216 <= D3 && D3 <= 8217 || 8220 <= D3 && D3 <= 8221 || 8224 <= D3 && D3 <= 8226 || 8228 <= D3 && D3 <= 8231 || D3 == 8240 || 8242 <= D3 && D3 <= 8243 || D3 == 8245 || D3 == 8251 || D3 == 8254 || D3 == 8308 || D3 == 8319 || 8321 <= D3 && D3 <= 8324 || D3 == 8364 || D3 == 8451 || D3 == 8453 || D3 == 8457 || D3 == 8467 || D3 == 8470 || 8481 <= D3 && D3 <= 8482 || D3 == 8486 || D3 == 8491 || 8531 <= D3 && D3 <= 8532 || 8539 <= D3 && D3 <= 8542 || 8544 <= D3 && D3 <= 8555 || 8560 <= D3 && D3 <= 8569 || D3 == 8585 || 8592 <= D3 && D3 <= 8601 || 8632 <= D3 && D3 <= 8633 || D3 == 8658 || D3 == 8660 || D3 == 8679 || D3 == 8704 || 8706 <= D3 && D3 <= 8707 || 8711 <= D3 && D3 <= 8712 || D3 == 8715 || D3 == 8719 || D3 == 8721 || D3 == 8725 || D3 == 8730 || 8733 <= D3 && D3 <= 8736 || D3 == 8739 || D3 == 8741 || 8743 <= D3 && D3 <= 8748 || D3 == 8750 || 8756 <= D3 && D3 <= 8759 || 8764 <= D3 && D3 <= 8765 || D3 == 8776 || D3 == 8780 || D3 == 8786 || 8800 <= D3 && D3 <= 8801 || 8804 <= D3 && D3 <= 8807 || 8810 <= D3 && D3 <= 8811 || 8814 <= D3 && D3 <= 8815 || 8834 <= D3 && D3 <= 8835 || 8838 <= D3 && D3 <= 8839 || D3 == 8853 || D3 == 8857 || D3 == 8869 || D3 == 8895 || D3 == 8978 || 9312 <= D3 && D3 <= 9449 || 9451 <= D3 && D3 <= 9547 || 9552 <= D3 && D3 <= 9587 || 9600 <= D3 && D3 <= 9615 || 9618 <= D3 && D3 <= 9621 || 9632 <= D3 && D3 <= 9633 || 9635 <= D3 && D3 <= 9641 || 9650 <= D3 && D3 <= 9651 || 9654 <= D3 && D3 <= 9655 || 9660 <= D3 && D3 <= 9661 || 9664 <= D3 && D3 <= 9665 || 9670 <= D3 && D3 <= 9672 || D3 == 9675 || 9678 <= D3 && D3 <= 9681 || 9698 <= D3 && D3 <= 9701 || D3 == 9711 || 9733 <= D3 && D3 <= 9734 || D3 == 9737 || 9742 <= D3 && D3 <= 9743 || 9748 <= D3 && D3 <= 9749 || D3 == 9756 || D3 == 9758 || D3 == 9792 || D3 == 9794 || 9824 <= D3 && D3 <= 9825 || 9827 <= D3 && D3 <= 9829 || 9831 <= D3 && D3 <= 9834 || 9836 <= D3 && D3 <= 9837 || D3 == 9839 || 9886 <= D3 && D3 <= 9887 || 9918 <= D3 && D3 <= 9919 || 9924 <= D3 && D3 <= 9933 || 9935 <= D3 && D3 <= 9953 || D3 == 9955 || 9960 <= D3 && D3 <= 9983 || D3 == 10045 || D3 == 10071 || 10102 <= D3 && D3 <= 10111 || 11093 <= D3 && D3 <= 11097 || 12872 <= D3 && D3 <= 12879 || 57344 <= D3 && D3 <= 63743 || 65024 <= D3 && D3 <= 65039 || D3 == 65533 || 127232 <= D3 && D3 <= 127242 || 127248 <= D3 && D3 <= 127277 || 127280 <= D3 && D3 <= 127337 || 127344 <= D3 && D3 <= 127386 || 917760 <= D3 && D3 <= 917999 || 983040 <= D3 && D3 <= 1048573 || 1048576 <= D3 && D3 <= 1114109 ? "A" : "N"; + }, u2.characterLength = function(e2) { + var s = this.eastAsianWidth(e2); + return s == "F" || s == "W" || s == "A" ? 2 : 1; }; - function F3(e3) { - return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F2(e2) { + return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u3.length = function(e3) { - for (var s2 = F3(e3), C3 = 0, D4 = 0; D4 < s2.length; D4++) - C3 = C3 + this.characterLength(s2[D4]); - return C3; - }, u3.slice = function(e3, s2, C3) { - textLen = u3.length(e3), s2 = s2 || 0, C3 = C3 || 1, s2 < 0 && (s2 = textLen + s2), C3 < 0 && (C3 = textLen + C3); - for (var D4 = "", i3 = 0, n2 = F3(e3), E3 = 0; E3 < n2.length; E3++) { - var h3 = n2[E3], o3 = u3.length(h3); - if (i3 >= s2 - (o3 == 2 ? 1 : 0)) - if (i3 + o3 <= C3) - D4 += h3; + u2.length = function(e2) { + for (var s = F2(e2), C2 = 0, D3 = 0; D3 < s.length; D3++) + C2 = C2 + this.characterLength(s[D3]); + return C2; + }, u2.slice = function(e2, s, C2) { + textLen = u2.length(e2), s = s || 0, C2 = C2 || 1, s < 0 && (s = textLen + s), C2 < 0 && (C2 = textLen + C2); + for (var D3 = "", i2 = 0, o2 = F2(e2), E2 = 0; E2 < o2.length; E2++) { + var a2 = o2[E2], n = u2.length(a2); + if (i2 >= s - (n == 2 ? 1 : 0)) + if (i2 + n <= C2) + D3 += a2; else break; - i3 += o3; + i2 += n; } - return D4; + return D3; }; -})(M); -var J = M.exports; -var Q = j(J); -var X = function() { - return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; -}; -var DD = j(X); -var m = 10; -var T = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; -var P = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; -var W = (t2 = 0) => (u3, F3, e3) => `\x1B[${38 + t2};2;${u3};${F3};${e3}m`; +})(G); +var v = 10; +var L = (t = 0) => (u2) => `\x1B[${u2 + t}m`; +var M = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; +var T = (t = 0) => (u2, F2, e2) => `\x1B[${38 + t};2;${u2};${F2};${e2}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var uD = Object.keys(r.color); -var FD = Object.keys(r.bgColor); -[...uD, ...FD]; -function tD() { - const t2 = /* @__PURE__ */ new Map(); - for (const [u3, F3] of Object.entries(r)) { - for (const [e3, s2] of Object.entries(F3)) - r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F3[e3] = r[e3], t2.set(s2[0], s2[1]); - Object.defineProperty(r, u3, { value: F3, enumerable: false }); +var Z = Object.keys(r.color); +var H = Object.keys(r.bgColor); +[...Z, ...H]; +function U() { + const t = /* @__PURE__ */ new Map(); + for (const [u2, F2] of Object.entries(r)) { + for (const [e2, s] of Object.entries(F2)) + r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F2[e2] = r[e2], t.set(s[0], s[1]); + Object.defineProperty(r, u2, { value: F2, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T(), r.color.ansi256 = P(), r.color.ansi16m = W(), r.bgColor.ansi = T(m), r.bgColor.ansi256 = P(m), r.bgColor.ansi16m = W(m), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F3, e3) => u3 === F3 && F3 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F3 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { - const F3 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); - if (!F3) + return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L(), r.color.ansi256 = M(), r.color.ansi16m = T(), r.bgColor.ansi = L(v), r.bgColor.ansi256 = M(v), r.bgColor.ansi16m = T(v), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F2, e2) => u2 === F2 && F2 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F2 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { + const F2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); + if (!F2) return [0, 0, 0]; - let [e3] = F3; - e3.length === 3 && (e3 = [...e3].map((C3) => C3 + C3).join("")); - const s2 = Number.parseInt(e3, 16); - return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { - if (u3 < 8) - return 30 + u3; - if (u3 < 16) - return 90 + (u3 - 8); - let F3, e3, s2; - if (u3 >= 232) - F3 = ((u3 - 232) * 10 + 8) / 255, e3 = F3, s2 = F3; + let [e2] = F2; + e2.length === 3 && (e2 = [...e2].map((C2) => C2 + C2).join("")); + const s = Number.parseInt(e2, 16); + return [s >> 16 & 255, s >> 8 & 255, s & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { + if (u2 < 8) + return 30 + u2; + if (u2 < 16) + return 90 + (u2 - 8); + let F2, e2, s; + if (u2 >= 232) + F2 = ((u2 - 232) * 10 + 8) / 255, e2 = F2, s = F2; else { - u3 -= 16; - const i3 = u3 % 36; - F3 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; + u2 -= 16; + const i2 = u2 % 36; + F2 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; } - const C3 = Math.max(F3, e3, s2) * 2; - if (C3 === 0) + const C2 = Math.max(F2, e2, s) * 2; + if (C2 === 0) return 30; - let D4 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F3)); - return C3 === 2 && (D4 += 60), D4; - }, enumerable: false }, rgbToAnsi: { value: (u3, F3, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F3, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; + let D3 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F2)); + return C2 === 2 && (D3 += 60), D3; + }, enumerable: false }, rgbToAnsi: { value: (u2, F2, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F2, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; } -var eD = tD(); -var CD = "]"; -var w = `${CD}8;;`; -var V = Symbol("clack:cancel"); -var PD = globalThis.process.platform.startsWith("win"); -function WD({ input: t2 = import_node_process.stdin, output: u3 = import_node_process.stdout, overwrite: F3 = true, hideCursor: e3 = true } = {}) { - const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); - const C3 = (D4, { name: i3 }) => { - if (String(D4) === "" && process.exit(0), !F3) +var q = U(); +var Q = "]"; +var w = `${Q}8;;`; +var R = Symbol("clack:cancel"); +function aD({ input: t = import_node_process.stdin, output: u2 = import_node_process.stdout, overwrite: F2 = true, hideCursor: e2 = true } = {}) { + const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); + const C2 = (D3, { name: i2 }) => { + if (String(D3) === "" && process.exit(0), !F2) return; - let n2 = i3 === "return" ? 0 : -1, E3 = i3 === "return" ? -1 : 0; - f.moveCursor(u3, n2, E3, () => { - f.clearLine(u3, 1, () => { - t2.once("keypress", C3); + let E2 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; + f.moveCursor(u2, E2, a2, () => { + f.clearLine(u2, 1, () => { + t.once("keypress", C2); }); }); }; - return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C3), () => { - t2.off("keypress", C3), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); + return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C2), () => { + t.off("keypress", C2), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); }; } @@ -47396,74 +23271,74 @@ function N() { return import_node_process2.default.platform !== "win32" ? import_node_process2.default.env.TERM !== "linux" : Boolean(import_node_process2.default.env.CI) || Boolean(import_node_process2.default.env.WT_SESSION) || Boolean(import_node_process2.default.env.TERMINUS_SUBLIME) || import_node_process2.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process2.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process2.default.env.TERM_PROGRAM === "vscode" || import_node_process2.default.env.TERM === "xterm-256color" || import_node_process2.default.env.TERM === "alacritty" || import_node_process2.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } var p = N(); -var u = (r3, n2) => p ? r3 : n2; -var W2 = u("\u25C6", "*"); +var u = (r2, n) => p ? r2 : n; +var W = u("\u25C6", "*"); var D = u("\u25A0", "x"); var F = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); -var L = u("\u250C", "T"); +var L2 = u("\u250C", "T"); var a = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w2 = u("\u25CF", ">"); var S = u("\u25CB", " "); var _ = u("\u25FB", "[\u2022]"); -var y = u("\u25FC", "[+]"); +var y2 = u("\u25FC", "[+]"); var A = u("\u25FB", "[ ]"); -var q = u("\u25AA", "\u2022"); -var R = u("\u2500", "-"); -var G = u("\u256E", "+"); -var H = u("\u251C", "+"); +var q2 = u("\u25AA", "\u2022"); +var R2 = u("\u2500", "-"); +var G2 = u("\u256E", "+"); +var H2 = u("\u251C", "+"); var K = u("\u256F", "+"); -var U = u("\u25CF", "\u2022"); -var Z = u("\u25C6", "*"); +var U2 = u("\u25CF", "\u2022"); +var Z2 = u("\u25C6", "*"); var z = u("\u25B2", "!"); -var X2 = u("\u25A0", "x"); -var b = (r3) => r3.replace(ue(), ""); -var ie = (r3 = "", n2 = "") => { - const s2 = ` -${r3} +var X = u("\u25A0", "x"); +var b = (r2) => r2.replace(ue(), ""); +var ie = (r2 = "", n = "") => { + const s = ` +${r2} `.split(` -`), t2 = Math.max(s2.reduce((c2, l3) => (l3 = b(l3), l3.length > c2 ? l3.length : c2), 0), b(n2).length) + 2, i3 = s2.map((c2) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c2)}${" ".repeat(t2 - b(c2).length)}${import_picocolors.default.gray(a)}`).join(` +`), t = Math.max(s.reduce((c, l) => (l = b(l), l.length > c ? l.length : c), 0), b(n).length) + 2, i2 = s.map((c) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c)}${" ".repeat(t - b(c).length)}${import_picocolors.default.gray(a)}`).join(` `); process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R.repeat(Math.max(t2 - n2.length - 1, 1)) + G)} -${i3} -${import_picocolors.default.gray(H + R.repeat(t2 + 2) + K)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R2.repeat(Math.max(t - n.length - 1, 1)) + G2)} +${i2} +${import_picocolors.default.gray(H2 + R2.repeat(t + 2) + K)} `); }; -var ae = (r3 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L)} ${r3} +var ae = (r2 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L2)} ${r2} `); }; -var ce = (r3 = "") => { +var ce = (r2 = "") => { process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.gray(o)} ${r3} +${import_picocolors.default.gray(o)} ${r2} `); }; var C = p ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r3, n2; - const s2 = p ? 80 : 120; - return { start(t2 = "") { - t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.magenta("\u25CB")} ${t2} + let r2, n; + const s = p ? 80 : 120; + return { start(t = "") { + t = t.replace(/\.?\.?\.$/, ""), r2 = aD(), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.magenta("\u25CB")} ${t} `); - let i3 = 0, c2 = 0; - n2 = setInterval(() => { - let l3 = C[i3]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c2) >= 1 ? ".".repeat(Math.floor(c2)).slice(0, 3) : ""} -`), i3 = i3 === C.length - 1 ? 0 : i3 + 1, c2 = c2 === C.length ? 0 : c2 + 0.125; - }, s2); - }, stop(t2 = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${t2} -`), r3(); + let i2 = 0, c = 0; + n = setInterval(() => { + let l = C[i2]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c) >= 1 ? ".".repeat(Math.floor(c)).slice(0, 3) : ""} +`), i2 = i2 === C.length - 1 ? 0 : i2 + 1, c = c === C.length ? 0 : c + 0.125; + }, s); + }, stop(t = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.green(f2)} ${t} +`), r2(); } }; }; function ue() { - const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r3, "g"); + const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r2, "g"); } // src/generateCommitMessageFromGitDiff.ts @@ -47720,7 +23595,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -47957,28 +23832,28 @@ var { hasOwnProperty: D2 } = Object.prototype; var import_tty = __toESM(require("tty"), 1); // node_modules/terminal-columns/dist/index.mjs -var DD2 = Object.create; +var DD = Object.create; var m2 = Object.defineProperty; -var FD2 = Object.getOwnPropertyDescriptor; -var tD2 = Object.getOwnPropertyNames; -var ED = Object.getPrototypeOf; -var L2 = Object.prototype.hasOwnProperty; -var nD = (D4) => m2(D4, "__esModule", { value: true }); -var rD = (D4, F3) => () => (D4 && (F3 = D4(D4 = 0)), F3); -var iD = (D4, F3) => () => (F3 || D4((F3 = { exports: {} }).exports, F3), F3.exports); -var oD = (D4, F3, u3, C3) => { - if (F3 && typeof F3 == "object" || typeof F3 == "function") - for (let t2 of tD2(F3)) - !L2.call(D4, t2) && (u3 || t2 !== "default") && m2(D4, t2, { get: () => F3[t2], enumerable: !(C3 = FD2(F3, t2)) || C3.enumerable }); - return D4; +var FD = Object.getOwnPropertyDescriptor; +var tD = Object.getOwnPropertyNames; +var ED2 = Object.getPrototypeOf; +var L3 = Object.prototype.hasOwnProperty; +var nD2 = (D3) => m2(D3, "__esModule", { value: true }); +var rD2 = (D3, F2) => () => (D3 && (F2 = D3(D3 = 0)), F2); +var iD2 = (D3, F2) => () => (F2 || D3((F2 = { exports: {} }).exports, F2), F2.exports); +var oD2 = (D3, F2, u2, C2) => { + if (F2 && typeof F2 == "object" || typeof F2 == "function") + for (let t of tD(F2)) + !L3.call(D3, t) && (u2 || t !== "default") && m2(D3, t, { get: () => F2[t], enumerable: !(C2 = FD(F2, t)) || C2.enumerable }); + return D3; }; -var BD = (D4, F3) => oD(nD(m2(D4 != null ? DD2(ED(D4)) : {}, "default", !F3 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); -var i = rD(() => { +var BD = (D3, F2) => oD2(nD2(m2(D3 != null ? DD(ED2(D3)) : {}, "default", !F2 && D3 && D3.__esModule ? { get: () => D3.default, enumerable: true } : { value: D3, enumerable: true })), D3); +var i = rD2(() => { }); -var $2 = iD((LD, N4) => { +var $ = iD2((LD, N3) => { "use strict"; i(); - N4.exports = function() { + N3.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); @@ -47991,73 +23866,73 @@ i(); i(); i(); i(); -var j2 = BD($2(), 1); +var j = BD($(), 1); i(); i(); i(); i(); var O = 10; -var U2 = (D4 = 0) => (F3) => `\x1B[${F3 + D4}m`; -var V2 = (D4 = 0) => (F3) => `\x1B[${38 + D4};5;${F3}m`; -var Y = (D4 = 0) => (F3, u3, C3) => `\x1B[${38 + D4};2;${F3};${u3};${C3}m`; -function AD2() { - let D4 = /* @__PURE__ */ new Map(), F3 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F3.color.gray = F3.color.blackBright, F3.bgColor.bgGray = F3.bgColor.bgBlackBright, F3.color.grey = F3.color.blackBright, F3.bgColor.bgGrey = F3.bgColor.bgBlackBright; - for (let [u3, C3] of Object.entries(F3)) { - for (let [t2, E3] of Object.entries(C3)) - F3[t2] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C3[t2] = F3[t2], D4.set(E3[0], E3[1]); - Object.defineProperty(F3, u3, { value: C3, enumerable: false }); +var U3 = (D3 = 0) => (F2) => `\x1B[${F2 + D3}m`; +var V = (D3 = 0) => (F2) => `\x1B[${38 + D3};5;${F2}m`; +var Y = (D3 = 0) => (F2, u2, C2) => `\x1B[${38 + D3};2;${F2};${u2};${C2}m`; +function AD() { + let D3 = /* @__PURE__ */ new Map(), F2 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F2.color.gray = F2.color.blackBright, F2.bgColor.bgGray = F2.bgColor.bgBlackBright, F2.color.grey = F2.color.blackBright, F2.bgColor.bgGrey = F2.bgColor.bgBlackBright; + for (let [u2, C2] of Object.entries(F2)) { + for (let [t, E2] of Object.entries(C2)) + F2[t] = { open: `\x1B[${E2[0]}m`, close: `\x1B[${E2[1]}m` }, C2[t] = F2[t], D3.set(E2[0], E2[1]); + Object.defineProperty(F2, u2, { value: C2, enumerable: false }); } - return Object.defineProperty(F3, "codes", { value: D4, enumerable: false }), F3.color.close = "\x1B[39m", F3.bgColor.close = "\x1B[49m", F3.color.ansi = U2(), F3.color.ansi256 = V2(), F3.color.ansi16m = Y(), F3.bgColor.ansi = U2(O), F3.bgColor.ansi256 = V2(O), F3.bgColor.ansi16m = Y(O), Object.defineProperties(F3, { rgbToAnsi256: { value: (u3, C3, t2) => u3 === C3 && C3 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C3 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { - let C3 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); - if (!C3) + return Object.defineProperty(F2, "codes", { value: D3, enumerable: false }), F2.color.close = "\x1B[39m", F2.bgColor.close = "\x1B[49m", F2.color.ansi = U3(), F2.color.ansi256 = V(), F2.color.ansi16m = Y(), F2.bgColor.ansi = U3(O), F2.bgColor.ansi256 = V(O), F2.bgColor.ansi16m = Y(O), Object.defineProperties(F2, { rgbToAnsi256: { value: (u2, C2, t) => u2 === C2 && C2 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C2 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { + let C2 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); + if (!C2) return [0, 0, 0]; - let { colorString: t2 } = C3.groups; - t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); - let E3 = Number.parseInt(t2, 16); - return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u3) => F3.rgbToAnsi256(...F3.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { - if (u3 < 8) - return 30 + u3; - if (u3 < 16) - return 90 + (u3 - 8); - let C3, t2, E3; - if (u3 >= 232) - C3 = ((u3 - 232) * 10 + 8) / 255, t2 = C3, E3 = C3; + let { colorString: t } = C2.groups; + t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); + let E2 = Number.parseInt(t, 16); + return [E2 >> 16 & 255, E2 >> 8 & 255, E2 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u2) => F2.rgbToAnsi256(...F2.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { + if (u2 < 8) + return 30 + u2; + if (u2 < 16) + return 90 + (u2 - 8); + let C2, t, E2; + if (u2 >= 232) + C2 = ((u2 - 232) * 10 + 8) / 255, t = C2, E2 = C2; else { - u3 -= 16; - let n2 = u3 % 36; - C3 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E3 = n2 % 6 / 5; + u2 -= 16; + let n = u2 % 36; + C2 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E2 = n % 6 / 5; } - let e3 = Math.max(C3, t2, E3) * 2; - if (e3 === 0) + let e2 = Math.max(C2, t, E2) * 2; + if (e2 === 0) return 30; - let r3 = 30 + (Math.round(E3) << 2 | Math.round(t2) << 1 | Math.round(C3)); - return e3 === 2 && (r3 += 60), r3; - }, enumerable: false }, rgbToAnsi: { value: (u3, C3, t2) => F3.ansi256ToAnsi(F3.rgbToAnsi256(u3, C3, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F3.ansi256ToAnsi(F3.hexToAnsi256(u3)), enumerable: false } }), F3; + let r2 = 30 + (Math.round(E2) << 2 | Math.round(t) << 1 | Math.round(C2)); + return e2 === 2 && (r2 += 60), r2; + }, enumerable: false }, rgbToAnsi: { value: (u2, C2, t) => F2.ansi256ToAnsi(F2.rgbToAnsi256(u2, C2, t)), enumerable: false }, hexToAnsi: { value: (u2) => F2.ansi256ToAnsi(F2.hexToAnsi256(u2)), enumerable: false } }), F2; } -var fD = AD2(); +var fD = AD(); var pD = "]"; var M2 = `${pD}8;;`; i(); // node_modules/cleye/dist/index.mjs -var J2 = import_tty.default.WriteStream.prototype.hasColors(); -var y2 = /^[\w.-]+$/; +var J = import_tty.default.WriteStream.prototype.hasColors(); +var y3 = /^[\w.-]+$/; var { stringify: d3 } = JSON; -function G2(t2, e3) { - if (!t2) +function G3(t, e2) { + if (!t) throw new Error("Command options are required"); - const { name: r3 } = t2; - if (t2.name === void 0) + const { name: r2 } = t; + if (t.name === void 0) throw new Error("Command name is required"); - if (!y2.test(r3)) - throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); - return { options: t2, callback: e3 }; + if (!y3.test(r2)) + throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); + return { options: t, callback: e2 }; } // src/commands/config.ts -var dotenv = __toESM(require_main2(), 1); +var dotenv = __toESM(require_main(), 1); var import_fs = require("fs"); var import_ini = __toESM(require_ini(), 1); var import_os = require("os"); @@ -48269,32 +24144,7 @@ function getI18nLocal(value) { } // src/commands/config.ts -var MODEL_LIST = { - openai: [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-turbo", - "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" - ], - anthropic: [ - "claude-3-haiku-20240307", - "claude-3-sonnet-20240229", - "claude-3-opus-20240229" - ] -}; -var getDefaultModel = (provider3) => { - switch (provider3) { - case "ollama": - return ""; - case "anthropic": - return MODEL_LIST.anthropic[0]; - default: - return MODEL_LIST.openai[0]; - } -}; +dotenv.config(); var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -48304,24 +24154,21 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) { validateConfig( - "OpenAI API_KEY", - value || config8.OCO_ANTHROPIC_API_KEY || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", - "You need to provide an OpenAI/Anthropic API key" + "API_KEY", + value || config7.OCO_AI_PROVIDER.startsWith("ollama"), + "You need to provide an API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value.startsWith("sk-"), 'Must start with "sk-"' ); - return value; - }, - ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config8 = {}) { validateConfig( - "ANTHROPIC_API_KEY", - value || config8.OCO_OPENAI_API_KEY || config8.OCO_AI_PROVIDER == "ollama" || config8.OCO_AI_PROVIDER == "test", - "You need to provide an OpenAI/Anthropic API key" + "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, + config7["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, + "Must be 51 characters long" ); return value; }, @@ -48392,8 +24239,15 @@ var configValidators = { ["OCO_MODEL" /* OCO_MODEL */](value) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` + [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ].includes(value), + `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` ); return value; }, @@ -48413,25 +24267,11 @@ var configValidators = { ); return value; }, - ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { - validateConfig( - "OCO_GITPUSH" /* OCO_GITPUSH */, - typeof value === "boolean", - "Must be true or false" - ); - return value; - }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, - [ - "", - "openai", - "anthropic", - "ollama", - "test" - ].includes(value), - `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` + ["", "openai", "ollama"].includes(value) || value.startsWith("ollama/"), + `${value} is not supported yet, use 'ollama/{model}', 'ollama' or 'openai' (default)` ); return value; }, @@ -48444,46 +24284,39 @@ var configValidators = { return value; } }; -var defaultConfigPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); -var defaultEnvPath = (0, import_path.resolve)(process.cwd(), ".env"); -var getConfig = ({ - configPath = defaultConfigPath, - envPath = defaultEnvPath -} = {}) => { - dotenv.config({ path: envPath }); +var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); +var getConfig = () => { const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, - OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), + OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", - OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config8 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config8)) { - if (["null", "undefined"].includes(config8[configKey])) { - config8[configKey] = void 0; + const config7 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config7)) { + if (!config7[configKey] || ["null", "undefined"].includes(config7[configKey])) { + config7[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config8[configKey] ?? configFromEnv[configKey], - config8 + config7[configKey] ?? configFromEnv[configKey], + config7 ); - config8[configKey] = validValue; + config7[configKey] = validValue; } catch (error) { ce(`Unknown '${configKey}' config option.`); ce( @@ -48492,10 +24325,10 @@ var getConfig = ({ process.exit(1); } } - return config8; + return config7; }; -var setConfig = (keyValues, configPath = defaultConfigPath) => { - const config8 = getConfig() || {}; +var setConfig = (keyValues) => { + const config7 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -48507,12 +24340,12 @@ var setConfig = (keyValues, configPath = defaultConfigPath) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config8[configKey] = validValue; + config7[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config8), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config7), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; -var configCommand = G2( +var configCommand = G3( { name: "config" /* config */, parameters: ["<mode>", "<key=values...>"] @@ -48520,19 +24353,19 @@ var configCommand = G2( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode3, keyValues } = argv._; - if (mode3 === "get" /* get */) { - const config8 = getConfig() || {}; + const { mode: mode2, keyValues } = argv._; + if (mode2 === "get" /* get */) { + const config7 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config8[key]}`); + ce(`${key}=${config7[key]}`); } - } else if (mode3 === "set" /* set */) { + } else if (mode2 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode3}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -48633,8 +24466,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config8) => { - const { rules, prompt } = config8; +var inferPromptsFromCommitlintConfig = (config7) => { + const { rules, prompt } = config7; if (!rules) return []; return Object.keys(rules).map( @@ -48740,7 +24573,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e3) { + } catch (e2) { exists = false; } return exists; @@ -48811,8 +24644,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - let kind2; - return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); + const pattern = "[object FormData]"; + return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -48820,21 +24653,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i3; - let l3; + let i2; + let l; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { - fn.call(null, obj[i3], i3, obj); + for (i2 = 0, l = obj.length; i2 < l; i2++) { + fn.call(null, obj[i2], i2, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i3 = 0; i3 < len; i3++) { - key = keys[i3]; + for (i2 = 0; i2 < len; i2++) { + key = keys[i2]; fn.call(null, obj[key], key, obj); } } @@ -48842,10 +24675,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i3 = keys.length; + let i2 = keys.length; let _key; - while (i3-- > 0) { - _key = keys[i3]; + while (i2-- > 0) { + _key = keys[i2]; if (key === _key.toLowerCase()) { return _key; } @@ -48873,20 +24706,20 @@ function merge() { result[targetKey] = val; } }; - for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { - arguments[i3] && forEach(arguments[i3], assignValue); + for (let i2 = 0, l = arguments.length; i2 < l; i2++) { + arguments[i2] && forEach(arguments[i2], assignValue); } return result; } -var extend = (a3, b3, thisArg, { allOwnKeys } = {}) => { - forEach(b3, (val, key) => { +var extend = (a2, b2, thisArg, { allOwnKeys } = {}) => { + forEach(b2, (val, key) => { if (thisArg && isFunction(val)) { - a3[key] = bind(val, thisArg); + a2[key] = bind(val, thisArg); } else { - a3[key] = val; + a2[key] = val; } }, { allOwnKeys }); - return a3; + return a2; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -48904,7 +24737,7 @@ var inherits = (constructor, superConstructor, props, descriptors2) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i3; + let i2; let prop; const merged = {}; destObj = destObj || {}; @@ -48912,9 +24745,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i3 = props.length; - while (i3-- > 0) { - prop = props[i3]; + i2 = props.length; + while (i2-- > 0) { + prop = props[i2]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -48938,12 +24771,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i3 = thing.length; - if (!isNumber(i3)) + let i2 = thing.length; + if (!isNumber(i2)) return null; - const arr = new Array(i3); - while (i3-- > 0) { - arr[i3] = thing[i3]; + const arr = new Array(i2); + while (i2-- > 0) { + arr[i2] = thing[i2]; } return arr; }; @@ -48973,8 +24806,8 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m4, p1, p22) { - return p1.toUpperCase() + p22; + function replacer(m3, p1, p2) { + return p1.toUpperCase() + p2; } ); }; @@ -48984,9 +24817,8 @@ var reduceDescriptors = (obj, reducer) => { const descriptors2 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors2, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; + if (reducer(descriptor, name, obj) !== false) { + reducedDescriptors[name] = descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -49013,12 +24845,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define2 = (arr) => { + const define = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -49034,11 +24866,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet2; + const { length } = alphabet; while (size--) { - str += alphabet2[Math.random() * length | 0]; + str += alphabet[Math.random() * length | 0]; } return str; }; @@ -49047,19 +24879,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i3) => { + const visit = (source, i2) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i3] = source; + stack[i2] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i3 + 1); + const reducedValue = visit(value, i2 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i3] = void 0; + stack[i2] = void 0; return target; } } @@ -49067,8 +24899,6 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; -var isAsyncFn = kindOfTest("AsyncFunction"); -var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -49118,13 +24948,11 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable + toJSONObject }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config8, request, response) { +function AxiosError(message, code, config7, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -49134,7 +24962,7 @@ function AxiosError(message, code, config8, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config8 && (this.config = config8); + config7 && (this.config = config7); request && (this.request = request); response && (this.response = response); } @@ -49175,14 +25003,14 @@ var descriptors = {}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config8, request, response, customProps) => { +AxiosError.from = (error, code, config7, request, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config8, request, response); + AxiosError.call(axiosError, error.message, code, config7, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -49204,9 +25032,9 @@ function removeBrackets(key) { function renderKey(path2, key, dots) { if (!path2) return key; - return path2.concat(key).map(function each(token, i3) { + return path2.concat(key).map(function each(token, i2) { token = removeBrackets(token); - return !dots && i3 ? "[" + token + "]" : token; + return !dots && i2 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -49392,9 +25220,9 @@ var InterceptorManager = class { } } forEach(fn) { - utils_default.forEach(this.handlers, function forEachHandler(h3) { - if (h3 !== null) { - fn(h3); + utils_default.forEach(this.handlers, function forEachHandler(h2) { + if (h2 !== null) { + fn(h2); } }); } @@ -49423,32 +25251,11 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; -// node_modules/axios/lib/platform/common/utils.js -var utils_exports = {}; -__export(utils_exports, { - hasBrowserEnv: () => hasBrowserEnv, - hasStandardBrowserEnv: () => hasStandardBrowserEnv, - hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv -}); -var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; -var hasStandardBrowserEnv = ((product) => { - return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; -})(typeof navigator !== "undefined" && navigator.product); -var hasStandardBrowserWebWorkerEnv = (() => { - return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; -})(); - -// node_modules/axios/lib/platform/index.js -var platform_default = { - ...utils_exports, - ...node_default -}; - // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path2, helpers) { - if (platform_default.isNode && utils_default.isBuffer(value)) { + if (node_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -49466,11 +25273,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i3; + let i2; const len = keys.length; let key; - for (i3 = 0; i3 < len; i3++) { - key = keys[i3]; + for (i2 = 0; i2 < len; i2++) { + key = keys[i2]; obj[key] = arr[key]; } return obj; @@ -49478,8 +25285,6 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path2, value, target, index) { let name = path2[index++]; - if (name === "__proto__") - return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path2.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -49512,14 +25317,17 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js +var DEFAULT_CONTENT_TYPE = { + "Content-Type": void 0 +}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e3) { - if (e3.name !== "SyntaxError") { - throw e3; + } catch (e2) { + if (e2.name !== "SyntaxError") { + throw e2; } } } @@ -49535,8 +25343,11 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData3 = utils_default.isFormData(data); - if (isFormData3) { + const isFormData2 = utils_default.isFormData(data); + if (isFormData2) { + if (!hasJSONContentType) { + return data; + } return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -49578,12 +25389,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e3) { + } catch (e2) { if (strictJSONParsing) { - if (e3.name === "SyntaxError") { - throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e2.name === "SyntaxError") { + throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e3; + throw e2; } } } @@ -49595,22 +25406,24 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: platform_default.classes.FormData, - Blob: platform_default.classes.Blob + FormData: node_default.classes.FormData, + Blob: node_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*", - "Content-Type": void 0 + "Accept": "application/json, text/plain, */*" } } }; -utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { +utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { defaults.headers[method] = {}; }); +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { + defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); +}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -49637,11 +25450,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i3; + let i2; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i3 = line.indexOf(":"); - key = line.substring(0, i3).trim().toLowerCase(); - val = line.substring(i3 + 1).trim(); + i2 = line.indexOf(":"); + key = line.substring(0, i2).trim().toLowerCase(); + val = line.substring(i2 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -49678,7 +25491,9 @@ function parseTokens(str) { } return tokens; } -var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); +function isValidHeaderName(str) { + return /^[-_a-zA-Z]+$/.test(str.trim()); +} function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -49696,7 +25511,7 @@ function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w4, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w3, char, str) => { return char.toUpperCase() + str; }); } @@ -49789,10 +25604,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i3 = keys.length; + let i2 = keys.length; let deleted = false; - while (i3--) { - const key = keys[i3]; + while (i2--) { + const key = keys[i2]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -49864,26 +25679,18 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - }; -}); +utils_default.freezeMethods(AxiosHeaders.prototype); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config8 = this || defaults_default; - const context2 = response || config8; + const config7 = this || defaults_default; + const context2 = response || config7; const headers = AxiosHeaders_default.from(context2.headers); let data = context2.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config8, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config7, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -49895,8 +25702,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config8, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config8, request); +function CanceledError(message, config7, request) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config7, request); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -49927,7 +25734,7 @@ function isAbsoluteURL(url2) { // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -49947,7 +25754,7 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.6.8"; +var VERSION = "1.3.4"; // node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url2) { @@ -49958,7 +25765,7 @@ function parseProtocol(url2) { // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || platform_default.classes.Blob; + const _Blob = options && options.Blob || node_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -50033,11 +25840,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i3 = tail; + let i2 = tail; let bytesCount = 0; - while (i3 !== head) { - bytesCount += bytes[i3++]; - i3 = i3 % samplesCount; + while (i2 !== head) { + bytesCount += bytes[i2++]; + i2 = i2 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -50203,7 +26010,7 @@ var AxiosTransformStream = class extends import_stream.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = require("events"); +var import_events = __toESM(require("events"), 1); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -50232,9 +26039,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName: escapeName2 } = this.constructor; + const { escapeName } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -50325,21 +26132,6 @@ var ZlibHeaderTransformStream = class extends import_stream3.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; -// node_modules/axios/lib/helpers/callbackify.js -var callbackify = (fn, reducer) => { - return utils_default.isAsyncFn(fn) ? function(...args) { - const cb = args.pop(); - fn.apply(this, args).then((value) => { - try { - reducer ? cb(null, ...reducer(value)) : cb(null, value); - } catch (err) { - cb(err); - } - }, cb); - } : fn; -}; -var callbackify_default = callbackify; - // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -50352,15 +26144,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = platform_default.protocols.map((protocol) => { +var supportedProtocols = node_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options, responseDetails) { +function dispatchBeforeRedirect(options) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options, responseDetails); + options.beforeRedirects.config(options); } } function setProxy(options, configProxy, location) { @@ -50418,43 +26210,21 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var resolveFamily = ({ address, family }) => { - if (!utils_default.isString(address)) { - throw TypeError("address must be a string"); - } - return { - address, - family: family || (address.indexOf(".") < 0 ? 6 : 4) - }; -}; -var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); -var http_default = isHttpAdapterSupported && function httpAdapter(config8) { +var http_default = isHttpAdapterSupported && function httpAdapter(config7) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data, lookup, family } = config8; - const { responseType, responseEncoding } = config8; - const method = config8.method.toUpperCase(); + let { data } = config7; + const { responseType, responseEncoding } = config7; + const method = config7.method.toUpperCase(); let isDone; let rejected = false; let req; - if (lookup) { - const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); - lookup = (hostname, opt, cb) => { - _lookup(hostname, opt, (err, arg0, arg1) => { - if (err) { - return cb(err); - } - const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; - opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); - }); - }; - } - const emitter = new import_events.EventEmitter(); + const emitter = new import_events.default(); const onFinished = () => { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(abort); + if (config7.cancelToken) { + config7.cancelToken.unsubscribe(abort); } - if (config8.signal) { - config8.signal.removeEventListener("abort", abort); + if (config7.signal) { + config7.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -50466,16 +26236,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config8, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config7, req) : reason); } emitter.once("abort", reject); - if (config8.cancelToken || config8.signal) { - config8.cancelToken && config8.cancelToken.subscribe(abort); - if (config8.signal) { - config8.signal.aborted ? abort() : config8.signal.addEventListener("abort", abort); + if (config7.cancelToken || config7.signal) { + config7.cancelToken && config7.cancelToken.subscribe(abort); + if (config7.signal) { + config7.signal.aborted ? abort() : config7.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config8.baseURL, config8.url); + const fullPath = buildFullPath(config7.baseURL, config7.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -50485,15 +26255,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 405, statusText: "method not allowed", headers: {}, - config: config8 + config: config7 }); } try { - convertedData = fromDataURI(config8.url, responseType === "blob", { - Blob: config8.env && config8.env.Blob + convertedData = fromDataURI(config7.url, responseType === "blob", { + Blob: config7.env && config7.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config8); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config7); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -50508,21 +26278,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config8 + config: config7 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config8 + config7 )); } - const headers = AxiosHeaders_default.from(config8.headers).normalize(); + const headers = AxiosHeaders_default.from(config7.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config8.onDownloadProgress; - const onUploadProgress = config8.onUploadProgress; - const maxRate = config8.maxRate; + const onDownloadProgress = config7.onDownloadProgress; + const onUploadProgress = config7.onUploadProgress; + const maxRate = config7.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -50539,7 +26309,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e3) { + } catch (e2) { } } } else if (utils_default.isBlob(data)) { @@ -50556,15 +26326,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config8 + config7 )); } headers.setContentLength(data.length, false); - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { + if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config8 + config7 )); } } @@ -50590,9 +26360,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); } let auth = void 0; - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password || ""; + if (config7.auth) { + const username = config7.auth.username || ""; + const password = config7.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -50605,13 +26375,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { path2 = buildURL( parsed.pathname + parsed.search, - config8.params, - config8.paramsSerializer + config7.params, + config7.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config7; + customErr.url = config7.url; customErr.exists = true; return reject(customErr); } @@ -50624,44 +26394,42 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { path: path2, method, headers: headers.toJSON(), - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config7.httpAgent, https: config7.httpsAgent }, auth, protocol, - family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - !utils_default.isUndefined(lookup) && (options.lookup = lookup); - if (config8.socketPath) { - options.socketPath = config8.socketPath; + if (config7.socketPath) { + options.socketPath = config7.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config8.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config7.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { + options.agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; + if (config7.transport) { + transport = config7.transport; + } else if (config7.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config7.maxRedirects) { + options.maxRedirects = config7.maxRedirects; } - if (config8.beforeRedirect) { - options.beforeRedirects.config = config8.beforeRedirect; + if (config7.beforeRedirect) { + options.beforeRedirects.config = config7.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config7.maxBodyLength > -1) { + options.maxBodyLength = config7.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config7.insecureHTTPParser) { + options.insecureHTTPParser = config7.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -50682,11 +26450,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } let responseStream = res; const lastRequest = res.req || req; - if (config8.decompress !== false && res.headers["content-encoding"]) { + if (config7.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch ((res.headers["content-encoding"] || "").toLowerCase()) { + switch (res.headers["content-encoding"]) { case "gzip": case "x-gzip": case "compress": @@ -50715,7 +26483,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config8, + config: config7, request: lastRequest }; if (responseType === "stream") { @@ -50727,13 +26495,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config7.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config7, lastRequest )); } @@ -50743,9 +26511,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config7.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config7, lastRequest ); responseStream.destroy(err); @@ -50754,7 +26522,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config8, lastRequest)); + reject(AxiosError_default.from(err, null, config7, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -50767,7 +26535,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } response.data = responseData; } catch (err) { - return reject(AxiosError_default.from(err, null, config8, response.request, response)); + reject(AxiosError_default.from(err, null, config7, response.request, response)); } settle(resolve, reject, response); }); @@ -50784,18 +26552,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config8, req)); + reject(AxiosError_default.from(err, null, config7, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - const timeout = parseInt(config8.timeout, 10); - if (Number.isNaN(timeout)) { + if (config7.timeout) { + const timeout = parseInt(config7.timeout, 10); + if (isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config8, + config7, req )); return; @@ -50803,15 +26571,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config7.transitional || transitional_default; + if (config7.timeoutErrorMessage) { + timeoutErrorMessage = config7.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, + config7, req )); abort(); @@ -50829,7 +26597,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config8, req)); + abort(new CanceledError_default("Request stream has been aborted", config7, req)); } }); data.pipe(req); @@ -50840,34 +26608,47 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = platform_default.hasStandardBrowserEnv ? { - write(name, value, expires, path2, domain, secure) { - const cookie = [name + "=" + encodeURIComponent(value)]; - utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); - utils_default.isString(path2) && cookie.push("path=" + path2); - utils_default.isString(domain) && cookie.push("domain=" + domain); - secure === true && cookie.push("secure"); - document.cookie = cookie.join("; "); - }, - read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove(name) { - this.write(name, "", Date.now() - 864e5); - } -} : { - write() { - }, - read() { - return null; - }, - remove() { - } -}; +var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { + return { + write: function write(name, value, expires, path2, domain, secure) { + const cookie = []; + cookie.push(name + "=" + encodeURIComponent(value)); + if (utils_default.isNumber(expires)) { + cookie.push("expires=" + new Date(expires).toGMTString()); + } + if (utils_default.isString(path2)) { + cookie.push("path=" + path2); + } + if (utils_default.isString(domain)) { + cookie.push("domain=" + domain); + } + if (secure === true) { + cookie.push("secure"); + } + document.cookie = cookie.join("; "); + }, + read: function read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove: function remove(name) { + this.write(name, "", Date.now() - 864e5); + } + }; +}() : function nonStandardBrowserEnv() { + return { + write: function write() { + }, + read: function read() { + return null; + }, + remove: function remove() { + } + }; +}(); // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { +var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; @@ -50894,7 +26675,7 @@ var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv() { +}() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -50904,9 +26685,9 @@ var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e3) => { - const loaded = e3.loaded; - const total = e3.lengthComputable ? e3.total : void 0; + return (e2) => { + const loaded = e2.loaded; + const total = e2.lengthComputable ? e2.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -50918,45 +26699,39 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e3 + event: e2 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config8) { +var xhr_default = isXHRAdapterSupported && function(config7) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config8.data; - const requestHeaders = AxiosHeaders_default.from(config8.headers).normalize(); - let { responseType, withXSRFToken } = config8; + let requestData = config7.data; + const requestHeaders = AxiosHeaders_default.from(config7.headers).normalize(); + const responseType = config7.responseType; let onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config7.cancelToken) { + config7.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config7.signal) { + config7.signal.removeEventListener("abort", onCanceled); } } - let contentType; - if (utils_default.isFormData(requestData)) { - if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { - requestHeaders.setContentType(false); - } else if ((contentType = requestHeaders.getContentType()) !== false) { - const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; - requestHeaders.setContentType([type || "multipart/form-data", ...tokens].join("; ")); - } + if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { + requestHeaders.setContentType(false); } let request = new XMLHttpRequest(); - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + if (config7.auth) { + const username = config7.auth.username || ""; + const password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + const fullPath = buildFullPath(config7.baseURL, config7.url); + request.open(config7.method.toUpperCase(), buildURL(fullPath, config7.params, config7.paramsSerializer), true); + request.timeout = config7.timeout; function onloadend() { if (!request) { return; @@ -50970,7 +26745,7 @@ var xhr_default = isXHRAdapterSupported && function(config8) { status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config8, + config: config7, request }; settle(function _resolve(value) { @@ -50999,34 +26774,31 @@ var xhr_default = isXHRAdapterSupported && function(config8) { if (!request) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config8, request)); + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config7, request)); request = null; }; request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config8, request)); + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config7, request)); request = null; }; request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config7.transitional || transitional_default; + if (config7.timeoutErrorMessage) { + timeoutErrorMessage = config7.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, + config7, request )); request = null; }; - if (platform_default.hasStandardBrowserEnv) { - withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config8)); - if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { - const xsrfValue = config8.xsrfHeaderName && config8.xsrfCookieName && cookies_default.read(config8.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config8.xsrfHeaderName, xsrfValue); - } + if (node_default.isStandardBrowserEnv) { + const xsrfValue = (config7.withCredentials || isURLSameOrigin_default(fullPath)) && config7.xsrfCookieName && cookies_default.read(config7.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config7.xsrfHeaderName, xsrfValue); } } requestData === void 0 && requestHeaders.setContentType(null); @@ -51035,35 +26807,35 @@ var xhr_default = isXHRAdapterSupported && function(config8) { request.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils_default.isUndefined(config7.withCredentials)) { + request.withCredentials = !!config7.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request.responseType = config7.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config8.onDownloadProgress, true)); + if (typeof config7.onDownloadProgress === "function") { + request.addEventListener("progress", progressEventReducer(config7.onDownloadProgress, true)); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config8.onUploadProgress)); + if (typeof config7.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", progressEventReducer(config7.onUploadProgress)); } - if (config8.cancelToken || config8.signal) { + if (config7.cancelToken || config7.signal) { onCanceled = (cancel) => { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config8, request) : cancel); + reject(!cancel || cancel.type ? new CanceledError_default(null, config7, request) : cancel); request.abort(); request = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config7.cancelToken && config7.cancelToken.subscribe(onCanceled); + if (config7.signal) { + config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && platform_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config8)); + if (protocol && node_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config7)); return; } request.send(requestData || null); @@ -51079,86 +26851,78 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e3) { + } catch (e2) { } Object.defineProperty(fn, "adapterName", { value }); } }); -var renderReason = (reason) => `- ${reason}`; -var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - const rejectedReasons = {}; - for (let i3 = 0; i3 < length; i3++) { - nameOrAdapter = adapters[i3]; - let id; - adapter = nameOrAdapter; - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - if (adapter === void 0) { - throw new AxiosError_default(`Unknown adapter '${id}'`); - } - } - if (adapter) { + for (let i2 = 0; i2 < length; i2++) { + nameOrAdapter = adapters[i2]; + if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { break; } - rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - const reasons = Object.entries(rejectedReasons).map( - ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build") - ); - let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; - throw new AxiosError_default( - `There is no suitable adapter to dispatch the request ` + s2, - "ERR_NOT_SUPPORT" + if (adapter === false) { + throw new AxiosError_default( + `Adapter ${nameOrAdapter} is not supported by the environment`, + "ERR_NOT_SUPPORT" + ); + } + throw new Error( + utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` ); } + if (!utils_default.isFunction(adapter)) { + throw new TypeError("adapter is not a function"); + } return adapter; }, adapters: knownAdapters }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config7) { + if (config7.cancelToken) { + config7.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { - throw new CanceledError_default(null, config8); + if (config7.signal && config7.signal.aborted) { + throw new CanceledError_default(null, config7); } } -function dispatchRequest(config8) { - throwIfCancellationRequested(config8); - config8.headers = AxiosHeaders_default.from(config8.headers); - config8.data = transformData.call( - config8, - config8.transformRequest +function dispatchRequest(config7) { + throwIfCancellationRequested(config7); + config7.headers = AxiosHeaders_default.from(config7.headers); + config7.data = transformData.call( + config7, + config7.transformRequest ); - if (["post", "put", "patch"].indexOf(config8.method) !== -1) { - config8.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config7.method) !== -1) { + config7.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config8.adapter || defaults_default.adapter); - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config8); + const adapter = adapters_default.getAdapter(config7.adapter || defaults_default.adapter); + return adapter(config7).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config7); response.data = transformData.call( - config8, - config8.transformResponse, + config7, + config7.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config8); + throwIfCancellationRequested(config7); if (reason && reason.response) { reason.response.data = transformData.call( - config8, - config8.transformResponse, + config7, + config7.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -51169,10 +26933,10 @@ function dispatchRequest(config8) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config8 = {}; + const config7 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -51183,30 +26947,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a3, b3, caseless) { - if (!utils_default.isUndefined(b3)) { - return getMergedValue(a3, b3, caseless); - } else if (!utils_default.isUndefined(a3)) { - return getMergedValue(void 0, a3, caseless); + function mergeDeepProperties(a2, b2, caseless) { + if (!utils_default.isUndefined(b2)) { + return getMergedValue(a2, b2, caseless); + } else if (!utils_default.isUndefined(a2)) { + return getMergedValue(void 0, a2, caseless); } } - function valueFromConfig2(a3, b3) { - if (!utils_default.isUndefined(b3)) { - return getMergedValue(void 0, b3); + function valueFromConfig2(a2, b2) { + if (!utils_default.isUndefined(b2)) { + return getMergedValue(void 0, b2); } } - function defaultToConfig2(a3, b3) { - if (!utils_default.isUndefined(b3)) { - return getMergedValue(void 0, b3); - } else if (!utils_default.isUndefined(a3)) { - return getMergedValue(void 0, a3); + function defaultToConfig2(a2, b2) { + if (!utils_default.isUndefined(b2)) { + return getMergedValue(void 0, b2); + } else if (!utils_default.isUndefined(a2)) { + return getMergedValue(void 0, a2); } } - function mergeDirectKeys(a3, b3, prop) { + function mergeDirectKeys(a2, b2, prop) { if (prop in config22) { - return getMergedValue(a3, b3); + return getMergedValue(a2, b2); } else if (prop in config1) { - return getMergedValue(void 0, a3); + return getMergedValue(void 0, a2); } } const mergeMap = { @@ -51220,7 +26984,6 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -51238,21 +27001,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a3, b3) => mergeDeepProperties(headersToObject(a3), headersToObject(b3), true) + headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true) }; - utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); }); - return config8; + return config7; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i3) => { +["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i3 < 1 ? "n " : " ") + type; + return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; }; }); var deprecatedWarnings = {}; @@ -51284,9 +27047,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i3 = keys.length; - while (i3-- > 0) { - const opt = keys[i3]; + let i2 = keys.length; + while (i2-- > 0) { + const opt = keys[i2]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -51316,32 +27079,15 @@ var Axios = class { response: new InterceptorManager_default() }; } - async request(configOrUrl, config8) { - try { - return await this._request(configOrUrl, config8); - } catch (err) { - if (err instanceof Error) { - let dummy; - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; - if (!err.stack) { - err.stack = stack; - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { - err.stack += "\n" + stack; - } - } - throw err; - } - } - _request(configOrUrl, config8) { + request(configOrUrl, config7) { if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; + config7 = config7 || {}; + config7.url = configOrUrl; } else { - config8 = configOrUrl || {}; + config7 = configOrUrl || {}; } - config8 = mergeConfig(this.defaults, config8); - const { transitional: transitional2, paramsSerializer, headers } = config8; + config7 = mergeConfig(this.defaults, config7); + const { transitional: transitional2, paramsSerializer, headers } = config7; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -51349,34 +27095,29 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer != null) { - if (utils_default.isFunction(paramsSerializer)) { - config8.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); - } + if (paramsSerializer !== void 0) { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); } - config8.method = (config8.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders = headers && utils_default.merge( + config7.method = (config7.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders; + contextHeaders = headers && utils_default.merge( headers.common, - headers[config8.method] + headers[config7.method] ); - headers && utils_default.forEach( + contextHeaders && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config8.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config7.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -51387,25 +27128,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i3 = 0; + let i2 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config8); - while (i3 < len) { - promise = promise.then(chain[i3++], chain[i3++]); + promise = Promise.resolve(config7); + while (i2 < len) { + promise = promise.then(chain[i2++], chain[i2++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config8; - i3 = 0; - while (i3 < len) { - const onFulfilled = requestInterceptorChain[i3++]; - const onRejected = requestInterceptorChain[i3++]; + let newConfig = config7; + i2 = 0; + while (i2 < len) { + const onFulfilled = requestInterceptorChain[i2++]; + const onRejected = requestInterceptorChain[i2++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -51418,32 +27159,32 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i3 = 0; + i2 = 0; len = responseInterceptorChain.length; - while (i3 < len) { - promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); + while (i2 < len) { + promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); } return promise; } - getUri(config8) { - config8 = mergeConfig(this.defaults, config8); - const fullPath = buildFullPath(config8.baseURL, config8.url); - return buildURL(fullPath, config8.params, config8.paramsSerializer); + getUri(config7) { + config7 = mergeConfig(this.defaults, config7); + const fullPath = buildFullPath(config7.baseURL, config7.url); + return buildURL(fullPath, config7.params, config7.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { - Axios.prototype[method] = function(url2, config8) { - return this.request(mergeConfig(config8 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios.prototype[method] = function(url2, config7) { + return this.request(mergeConfig(config7 || {}, { method, url: url2, - data: (config8 || {}).data + data: (config7 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config8) { - return this.request(mergeConfig(config8 || {}, { + return function httpMethod(url2, data, config7) { + return this.request(mergeConfig(config7 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" @@ -51472,9 +27213,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i3 = token._listeners.length; - while (i3-- > 0) { - token._listeners[i3](cancel); + let i2 = token._listeners.length; + while (i2-- > 0) { + token._listeners[i2](cancel); } token._listeners = null; }); @@ -51489,11 +27230,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config8, request) { + executor(function cancel(message, config7, request) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config8, request); + token.reason = new CanceledError_default(message, config7, request); resolvePromise(token.reason); }); } @@ -51524,8 +27265,8 @@ var CancelToken = class { } static source() { let cancel; - const token = new CancelToken(function executor(c2) { - cancel = c2; + const token = new CancelToken(function executor(c) { + cancel = c; }); return { token, @@ -51646,7 +27387,6 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); -axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -51667,7 +27407,6 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, - getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -51697,8 +27436,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var provider = config3?.OCO_AI_PROVIDER; -if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { +var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; +if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" @@ -51709,14 +27448,6 @@ if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" / process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; -if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { - ce( - `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( - ", " - )}` - ); - process.exit(1); -} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -51737,7 +27468,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b2) => a2 + b2, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -51764,17 +27495,21 @@ var api = new OpenAi(); // src/engine/ollama.ts var OllamaAi = class { + model = "mistral"; + setModel(model) { + this.model = model; + } async generateCommitMessage(messages) { - const model = "mistral"; + const model = this.model; const url2 = "http://localhost:11434/api/chat"; - const p3 = { + const p2 = { model, messages, options: { temperature: 0, top_p: 0.1 }, stream: false }; try { - const response = await axios_default.post(url2, p3, { + const response = await axios_default.post(url2, p2, { headers: { "Content-Type": "application/json" } @@ -51789,2189 +27524,23 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); -// node_modules/@anthropic-ai/sdk/version.mjs -var VERSION3 = "0.19.2"; - -// node_modules/@anthropic-ai/sdk/_shims/registry.mjs -var auto = false; -var kind = void 0; -var fetch = void 0; -var Request = void 0; -var Response = void 0; -var Headers = void 0; -var FormData3 = void 0; -var Blob2 = void 0; -var File = void 0; -var ReadableStream = void 0; -var getMultipartRequestOptions = void 0; -var getDefaultAgent = void 0; -var fileFromPath = void 0; -var isFsReadStream = void 0; -function setShims(shims, options = { auto: false }) { - if (auto) { - throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); - } - if (kind) { - throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); - } - auto = options.auto; - kind = shims.kind; - fetch = shims.fetch; - Request = shims.Request; - Response = shims.Response; - Headers = shims.Headers; - FormData3 = shims.FormData; - Blob2 = shims.Blob; - File = shims.File; - ReadableStream = shims.ReadableStream; - getMultipartRequestOptions = shims.getMultipartRequestOptions; - getDefaultAgent = shims.getDefaultAgent; - fileFromPath = shims.fileFromPath; - isFsReadStream = shims.isFsReadStream; -} - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var nf = __toESM(require_lib3(), 1); - -// node_modules/formdata-node/lib/esm/FormData.js -var import_util4 = require("util"); -init_File(); -init_isFile(); - -// node_modules/formdata-node/lib/esm/isBlob.js -init_Blob(); -var isBlob2 = (value) => value instanceof Blob3; - -// node_modules/formdata-node/lib/esm/FormData.js -init_isFunction(); - -// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js -var import_util3 = require("util"); -var deprecateConstructorEntries = (0, import_util3.deprecate)(() => { -}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); - -// node_modules/formdata-node/lib/esm/FormData.js -var __classPrivateFieldGet3 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _FormData_instances; -var _FormData_entries; -var _FormData_setEntry; -var FormData4 = class { - constructor(entries) { - _FormData_instances.add(this); - _FormData_entries.set(this, /* @__PURE__ */ new Map()); - if (entries) { - deprecateConstructorEntries(); - entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); - } - } - static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { - return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); - } - append(name, value, fileName) { - __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { - name, - fileName, - append: true, - rawValue: value, - argsLength: arguments.length - }); - } - set(name, value, fileName) { - __classPrivateFieldGet3(this, _FormData_instances, "m", _FormData_setEntry).call(this, { - name, - fileName, - append: false, - rawValue: value, - argsLength: arguments.length - }); - } - get(name) { - const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); - if (!field) { - return null; - } - return field[0]; - } - getAll(name) { - const field = __classPrivateFieldGet3(this, _FormData_entries, "f").get(String(name)); - if (!field) { - return []; - } - return field.slice(); - } - has(name) { - return __classPrivateFieldGet3(this, _FormData_entries, "f").has(String(name)); - } - delete(name) { - __classPrivateFieldGet3(this, _FormData_entries, "f").delete(String(name)); - } - *keys() { - for (const key of __classPrivateFieldGet3(this, _FormData_entries, "f").keys()) { - yield key; - } - } - *entries() { - for (const name of this.keys()) { - const values = this.getAll(name); - for (const value of values) { - yield [name, value]; - } - } - } - *values() { - for (const [, value] of this) { - yield value; - } - } - [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { - const methodName = append2 ? "append" : "set"; - if (argsLength < 2) { - throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); - } - name = String(name); - let value; - if (isFile2(rawValue)) { - value = fileName === void 0 ? rawValue : new File2([rawValue], fileName, { - type: rawValue.type, - lastModified: rawValue.lastModified - }); - } else if (isBlob2(rawValue)) { - value = new File2([rawValue], fileName === void 0 ? "blob" : fileName, { - type: rawValue.type - }); - } else if (fileName) { - throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); - } else { - value = String(rawValue); - } - const values = __classPrivateFieldGet3(this, _FormData_entries, "f").get(name); - if (!values) { - return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); - } - if (!append2) { - return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]); - } - values.push(value); - }, Symbol.iterator)]() { - return this.entries(); - } - forEach(callback, thisArg) { - for (const [name, value] of this) { - callback.call(thisArg, value, name, this); - } - } - get [Symbol.toStringTag]() { - return "FormData"; - } - [import_util4.inspect.custom]() { - return this[Symbol.toStringTag]; - } -}; - -// node_modules/formdata-node/lib/esm/index.js -init_Blob(); -init_File(); - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); -var import_abort_controller = __toESM(require_abort_controller(), 1); -var import_node_fs = require("node:fs"); - -// node_modules/form-data-encoder/lib/esm/util/createBoundary.js -var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; -function createBoundary() { - let size = 16; - let res = ""; - while (size--) { - res += alphabet[Math.random() * alphabet.length << 0]; - } - return res; -} -var createBoundary_default = createBoundary; - -// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js -var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); -function isPlainObject2(value) { - if (getType(value) !== "object") { - return false; - } - const pp = Object.getPrototypeOf(value); - if (pp === null || pp === void 0) { - return true; - } - const Ctor = pp.constructor && pp.constructor.toString(); - return Ctor === Object.toString(); -} -var isPlainObject_default = isPlainObject2; - -// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js -var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { - if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { - return "\r\n"; - } - return match; -}); -var normalizeValue_default = normalizeValue2; - -// node_modules/form-data-encoder/lib/esm/util/escapeName.js -var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); -var escapeName_default = escapeName; - -// node_modules/form-data-encoder/lib/esm/util/isFunction.js -var isFunction3 = (value) => typeof value === "function"; -var isFunction_default = isFunction3; - -// node_modules/form-data-encoder/lib/esm/util/isFileLike.js -var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); - -// node_modules/form-data-encoder/lib/esm/util/isFormData.js -var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); - -// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js -var __classPrivateFieldSet3 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet4 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _FormDataEncoder_instances; -var _FormDataEncoder_CRLF; -var _FormDataEncoder_CRLF_BYTES; -var _FormDataEncoder_CRLF_BYTES_LENGTH; -var _FormDataEncoder_DASHES; -var _FormDataEncoder_encoder; -var _FormDataEncoder_footer; -var _FormDataEncoder_form; -var _FormDataEncoder_options; -var _FormDataEncoder_getFieldHeader; -var defaultOptions = { - enableAdditionalHeaders: false -}; -var FormDataEncoder = class { - constructor(form, boundaryOrOptions, options) { - _FormDataEncoder_instances.add(this); - _FormDataEncoder_CRLF.set(this, "\r\n"); - _FormDataEncoder_CRLF_BYTES.set(this, void 0); - _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); - _FormDataEncoder_DASHES.set(this, "-".repeat(2)); - _FormDataEncoder_encoder.set(this, new TextEncoder()); - _FormDataEncoder_footer.set(this, void 0); - _FormDataEncoder_form.set(this, void 0); - _FormDataEncoder_options.set(this, void 0); - if (!isFormData2(form)) { - throw new TypeError("Expected first argument to be a FormData instance."); - } - let boundary; - if (isPlainObject_default(boundaryOrOptions)) { - options = boundaryOrOptions; - } else { - boundary = boundaryOrOptions; - } - if (!boundary) { - boundary = createBoundary_default(); - } - if (typeof boundary !== "string") { - throw new TypeError("Expected boundary argument to be a string."); - } - if (options && !isPlainObject_default(options)) { - throw new TypeError("Expected options argument to be an object."); - } - __classPrivateFieldSet3(this, _FormDataEncoder_form, form, "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")), "f"); - __classPrivateFieldSet3(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); - this.boundary = `form-data-boundary-${boundary}`; - this.contentType = `multipart/form-data; boundary=${this.boundary}`; - __classPrivateFieldSet3(this, _FormDataEncoder_footer, __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); - this.contentLength = String(this.getContentLength()); - this.headers = Object.freeze({ - "Content-Type": this.contentType, - "Content-Length": this.contentLength - }); - Object.defineProperties(this, { - boundary: { writable: false, configurable: false }, - contentType: { writable: false, configurable: false }, - contentLength: { writable: false, configurable: false }, - headers: { writable: false, configurable: false } - }); - } - getContentLength() { - let length = 0; - for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f")) { - const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); - length += __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; - length += isFileLike(value) ? value.size : value.byteLength; - length += __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); - } - return length + __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f").byteLength; - } - *values() { - for (const [name, raw] of __classPrivateFieldGet4(this, _FormDataEncoder_form, "f").entries()) { - const value = isFileLike(raw) ? raw : __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); - yield __classPrivateFieldGet4(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); - yield value; - yield __classPrivateFieldGet4(this, _FormDataEncoder_CRLF_BYTES, "f"); - } - yield __classPrivateFieldGet4(this, _FormDataEncoder_footer, "f"); - } - async *encode() { - for (const part of this.values()) { - if (isFileLike(part)) { - yield* part.stream(); - } else { - yield part; - } - } - } - [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { - let header = ""; - header += `${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; - header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; - if (isFileLike(value)) { - header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`; - header += `Content-Type: ${value.type || "application/octet-stream"}`; - } - if (__classPrivateFieldGet4(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { - header += `${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; - } - return __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); - }, Symbol.iterator)]() { - return this.values(); - } - [Symbol.asyncIterator]() { - return this.encode(); - } -}; - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_node_stream = require("node:stream"); - -// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs -var MultipartBody = class { - constructor(body) { - this.body = body; - } - get [Symbol.toStringTag]() { - return "MultipartBody"; - } -}; - -// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs -var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); -var fileFromPathWarned = false; -async function fileFromPath3(path2, ...args) { - const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); - if (!fileFromPathWarned) { - console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path2)}) instead`); - fileFromPathWarned = true; - } - return await _fileFromPath(path2, ...args); -} -var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); -var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); -async function getMultipartRequestOptions2(form, opts) { - const encoder = new FormDataEncoder(form); - const readable = import_node_stream.Readable.from(encoder); - const body = new MultipartBody(readable); - const headers = { - ...opts.headers, - ...encoder.headers, - "Content-Length": encoder.contentLength - }; - return { ...opts, body, headers }; -} -function getRuntime() { - if (typeof AbortController === "undefined") { - globalThis.AbortController = import_abort_controller.AbortController; - } - return { - kind: "node", - fetch: nf.default, - Request: nf.Request, - Response: nf.Response, - Headers: nf.Headers, - FormData: FormData4, - Blob: Blob3, - File: File2, - ReadableStream: import_ponyfill_es2018.ReadableStream, - getMultipartRequestOptions: getMultipartRequestOptions2, - getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, - fileFromPath: fileFromPath3, - isFsReadStream: (value) => value instanceof import_node_fs.ReadStream - }; -} - -// node_modules/@anthropic-ai/sdk/_shims/index.mjs -if (!kind) - setShims(getRuntime(), { auto: true }); - -// node_modules/@anthropic-ai/sdk/error.mjs -var error_exports = {}; -__export(error_exports, { - APIConnectionError: () => APIConnectionError, - APIConnectionTimeoutError: () => APIConnectionTimeoutError, - APIError: () => APIError, - APIUserAbortError: () => APIUserAbortError, - AnthropicError: () => AnthropicError, - AuthenticationError: () => AuthenticationError, - BadRequestError: () => BadRequestError, - ConflictError: () => ConflictError, - InternalServerError: () => InternalServerError, - NotFoundError: () => NotFoundError, - PermissionDeniedError: () => PermissionDeniedError, - RateLimitError: () => RateLimitError, - UnprocessableEntityError: () => UnprocessableEntityError -}); -var AnthropicError = class extends Error { -}; -var APIError = class extends AnthropicError { - constructor(status, error, message, headers) { - super(`${APIError.makeMessage(status, error, message)}`); - this.status = status; - this.headers = headers; - this.error = error; - } - static makeMessage(status, error, message) { - const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; - if (status && msg) { - return `${status} ${msg}`; - } - if (status) { - return `${status} status code (no body)`; - } - if (msg) { - return msg; - } - return "(no status code or body)"; - } - static generate(status, errorResponse, message, headers) { - if (!status) { - return new APIConnectionError({ cause: castToError(errorResponse) }); - } - const error = errorResponse; - if (status === 400) { - return new BadRequestError(status, error, message, headers); - } - if (status === 401) { - return new AuthenticationError(status, error, message, headers); - } - if (status === 403) { - return new PermissionDeniedError(status, error, message, headers); - } - if (status === 404) { - return new NotFoundError(status, error, message, headers); - } - if (status === 409) { - return new ConflictError(status, error, message, headers); - } - if (status === 422) { - return new UnprocessableEntityError(status, error, message, headers); - } - if (status === 429) { - return new RateLimitError(status, error, message, headers); - } - if (status >= 500) { - return new InternalServerError(status, error, message, headers); - } - return new APIError(status, error, message, headers); - } -}; -var APIUserAbortError = class extends APIError { - constructor({ message } = {}) { - super(void 0, void 0, message || "Request was aborted.", void 0); - this.status = void 0; - } -}; -var APIConnectionError = class extends APIError { - constructor({ message, cause }) { - super(void 0, void 0, message || "Connection error.", void 0); - this.status = void 0; - if (cause) - this.cause = cause; - } -}; -var APIConnectionTimeoutError = class extends APIConnectionError { - constructor({ message } = {}) { - super({ message: message ?? "Request timed out." }); - } -}; -var BadRequestError = class extends APIError { - constructor() { - super(...arguments); - this.status = 400; - } -}; -var AuthenticationError = class extends APIError { - constructor() { - super(...arguments); - this.status = 401; - } -}; -var PermissionDeniedError = class extends APIError { - constructor() { - super(...arguments); - this.status = 403; - } -}; -var NotFoundError = class extends APIError { - constructor() { - super(...arguments); - this.status = 404; - } -}; -var ConflictError = class extends APIError { - constructor() { - super(...arguments); - this.status = 409; - } -}; -var UnprocessableEntityError = class extends APIError { - constructor() { - super(...arguments); - this.status = 422; - } -}; -var RateLimitError = class extends APIError { - constructor() { - super(...arguments); - this.status = 429; - } -}; -var InternalServerError = class extends APIError { -}; - -// node_modules/@anthropic-ai/sdk/streaming.mjs -var Stream = class { - constructor(iterator, controller) { - this.iterator = iterator; - this.controller = controller; - } - static fromSSEResponse(response, controller) { - let consumed = false; - async function* iterator() { - if (consumed) { - throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); - } - consumed = true; - let done = false; - try { - for await (const sse of _iterSSEMessages(response, controller)) { - if (sse.event === "completion") { - try { - yield JSON.parse(sse.data); - } catch (e3) { - console.error(`Could not parse message into JSON:`, sse.data); - console.error(`From chunk:`, sse.raw); - throw e3; - } - } - if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { - try { - yield JSON.parse(sse.data); - } catch (e3) { - console.error(`Could not parse message into JSON:`, sse.data); - console.error(`From chunk:`, sse.raw); - throw e3; - } - } - if (sse.event === "ping") { - continue; - } - if (sse.event === "error") { - const errText = sse.data; - const errJSON = safeJSON(errText); - const errMessage = errJSON ? void 0 : errText; - throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); - } - } - done = true; - } catch (e3) { - if (e3 instanceof Error && e3.name === "AbortError") - return; - throw e3; - } finally { - if (!done) - controller.abort(); - } - } - return new Stream(iterator, controller); - } - static fromReadableStream(readableStream, controller) { - let consumed = false; - async function* iterLines() { - const lineDecoder = new LineDecoder(); - const iter = readableStreamAsyncIterable(readableStream); - for await (const chunk of iter) { - for (const line of lineDecoder.decode(chunk)) { - yield line; - } - } - for (const line of lineDecoder.flush()) { - yield line; - } - } - async function* iterator() { - if (consumed) { - throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); - } - consumed = true; - let done = false; - try { - for await (const line of iterLines()) { - if (done) - continue; - if (line) - yield JSON.parse(line); - } - done = true; - } catch (e3) { - if (e3 instanceof Error && e3.name === "AbortError") - return; - throw e3; - } finally { - if (!done) - controller.abort(); - } - } - return new Stream(iterator, controller); - } - [Symbol.asyncIterator]() { - return this.iterator(); - } - tee() { - const left = []; - const right = []; - const iterator = this.iterator(); - const teeIterator = (queue) => { - return { - next: () => { - if (queue.length === 0) { - const result = iterator.next(); - left.push(result); - right.push(result); - } - return queue.shift(); - } - }; - }; - return [ - new Stream(() => teeIterator(left), this.controller), - new Stream(() => teeIterator(right), this.controller) - ]; - } - toReadableStream() { - const self2 = this; - let iter; - const encoder = new TextEncoder(); - return new ReadableStream({ - async start() { - iter = self2[Symbol.asyncIterator](); - }, - async pull(ctrl) { - try { - const { value, done } = await iter.next(); - if (done) - return ctrl.close(); - const bytes = encoder.encode(JSON.stringify(value) + "\n"); - ctrl.enqueue(bytes); - } catch (err) { - ctrl.error(err); - } - }, - async cancel() { - await iter.return?.(); - } - }); - } -}; -async function* _iterSSEMessages(response, controller) { - if (!response.body) { - controller.abort(); - throw new AnthropicError(`Attempted to iterate over a response with no body`); - } - const sseDecoder = new SSEDecoder(); - const lineDecoder = new LineDecoder(); - const iter = readableStreamAsyncIterable(response.body); - for await (const sseChunk of iterSSEChunks(iter)) { - for (const line of lineDecoder.decode(sseChunk)) { - const sse = sseDecoder.decode(line); - if (sse) - yield sse; - } - } - for (const line of lineDecoder.flush()) { - const sse = sseDecoder.decode(line); - if (sse) - yield sse; - } -} -async function* iterSSEChunks(iterator) { - let data = new Uint8Array(); - for await (const chunk of iterator) { - if (chunk == null) { - continue; - } - const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; - let newData = new Uint8Array(data.length + binaryChunk.length); - newData.set(data); - newData.set(binaryChunk, data.length); - data = newData; - let patternIndex; - while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { - yield data.slice(0, patternIndex); - data = data.slice(patternIndex); - } - } - if (data.length > 0) { - yield data; - } -} -function findDoubleNewlineIndex(buffer) { - const newline = 10; - const carriage = 13; - for (let i3 = 0; i3 < buffer.length - 2; i3++) { - if (buffer[i3] === newline && buffer[i3 + 1] === newline) { - return i3 + 2; - } - if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { - return i3 + 2; - } - if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { - return i3 + 4; - } - } - return -1; -} -var SSEDecoder = class { - constructor() { - this.event = null; - this.data = []; - this.chunks = []; - } - decode(line) { - if (line.endsWith("\r")) { - line = line.substring(0, line.length - 1); - } - if (!line) { - if (!this.event && !this.data.length) - return null; - const sse = { - event: this.event, - data: this.data.join("\n"), - raw: this.chunks - }; - this.event = null; - this.data = []; - this.chunks = []; - return sse; - } - this.chunks.push(line); - if (line.startsWith(":")) { - return null; - } - let [fieldname, _3, value] = partition(line, ":"); - if (value.startsWith(" ")) { - value = value.substring(1); - } - if (fieldname === "event") { - this.event = value; - } else if (fieldname === "data") { - this.data.push(value); - } - return null; - } -}; -var LineDecoder = class { - constructor() { - this.buffer = []; - this.trailingCR = false; - } - decode(chunk) { - let text = this.decodeText(chunk); - if (this.trailingCR) { - text = "\r" + text; - this.trailingCR = false; - } - if (text.endsWith("\r")) { - this.trailingCR = true; - text = text.slice(0, -1); - } - if (!text) { - return []; - } - const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); - let lines = text.split(LineDecoder.NEWLINE_REGEXP); - if (trailingNewline) { - lines.pop(); - } - if (lines.length === 1 && !trailingNewline) { - this.buffer.push(lines[0]); - return []; - } - if (this.buffer.length > 0) { - lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; - this.buffer = []; - } - if (!trailingNewline) { - this.buffer = [lines.pop() || ""]; - } - return lines; - } - decodeText(bytes) { - if (bytes == null) - return ""; - if (typeof bytes === "string") - return bytes; - if (typeof Buffer !== "undefined") { - if (bytes instanceof Buffer) { - return bytes.toString(); - } - if (bytes instanceof Uint8Array) { - return Buffer.from(bytes).toString(); - } - throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); - } - if (typeof TextDecoder !== "undefined") { - if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { - this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); - return this.textDecoder.decode(bytes); - } - throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); - } - throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); - } - flush() { - if (!this.buffer.length && !this.trailingCR) { - return []; - } - const lines = [this.buffer.join("")]; - this.buffer = []; - this.trailingCR = false; - return lines; - } -}; -LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); -LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; -function partition(str, delimiter) { - const index = str.indexOf(delimiter); - if (index !== -1) { - return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; - } - return [str, "", ""]; -} -function readableStreamAsyncIterable(stream4) { - if (stream4[Symbol.asyncIterator]) - return stream4; - const reader = stream4.getReader(); - return { - async next() { - try { - const result = await reader.read(); - if (result?.done) - reader.releaseLock(); - return result; - } catch (e3) { - reader.releaseLock(); - throw e3; - } - }, - async return() { - const cancelPromise = reader.cancel(); - reader.releaseLock(); - await cancelPromise; - return { done: true, value: void 0 }; - }, - [Symbol.asyncIterator]() { - return this; - } - }; -} - -// node_modules/@anthropic-ai/sdk/uploads.mjs -var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; -var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); -var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; -async function toFile(value, name, options) { - value = await value; - options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); - if (isResponseLike(value)) { - const blob = await value.blob(); - name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); - return new File([blob], name, options); - } - const bits = await getBytes(value); - name || (name = getName(value) ?? "unknown_file"); - if (!options.type) { - const type = bits[0]?.type; - if (typeof type === "string") { - options = { ...options, type }; - } - } - return new File(bits, name, options); -} -async function getBytes(value) { - let parts = []; - if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { - parts.push(value); - } else if (isBlobLike(value)) { - parts.push(await value.arrayBuffer()); - } else if (isAsyncIterableIterator(value)) { - for await (const chunk of value) { - parts.push(chunk); - } - } else { - throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); - } - return parts; -} -function propsForError(value) { - const props = Object.getOwnPropertyNames(value); - return `[${props.map((p3) => `"${p3}"`).join(", ")}]`; -} -function getName(value) { - return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); -} -var getStringFromMaybeBuffer = (x2) => { - if (typeof x2 === "string") - return x2; - if (typeof Buffer !== "undefined" && x2 instanceof Buffer) - return String(x2); - return void 0; -}; -var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; -var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; - -// node_modules/@anthropic-ai/sdk/core.mjs -var __classPrivateFieldSet5 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet6 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _AbstractPage_client; -async function defaultParseResponse(props) { - const { response } = props; - if (props.options.stream) { - debug("response", response.status, response.url, response.headers, response.body); - if (props.options.__streamClass) { - return props.options.__streamClass.fromSSEResponse(response, props.controller); - } - return Stream.fromSSEResponse(response, props.controller); - } - if (response.status === 204) { - return null; - } - if (props.options.__binaryResponse) { - return response; - } - const contentType = response.headers.get("content-type"); - const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); - if (isJSON) { - const json = await response.json(); - debug("response", response.status, response.url, response.headers, json); - return json; - } - const text = await response.text(); - debug("response", response.status, response.url, response.headers, text); - return text; -} -var APIPromise = class extends Promise { - constructor(responsePromise, parseResponse = defaultParseResponse) { - super((resolve) => { - resolve(null); - }); - this.responsePromise = responsePromise; - this.parseResponse = parseResponse; - } - _thenUnwrap(transform) { - return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); - } - asResponse() { - return this.responsePromise.then((p3) => p3.response); - } - async withResponse() { - const [data, response] = await Promise.all([this.parse(), this.asResponse()]); - return { data, response }; - } - parse() { - if (!this.parsedPromise) { - this.parsedPromise = this.responsePromise.then(this.parseResponse); - } - return this.parsedPromise; - } - then(onfulfilled, onrejected) { - return this.parse().then(onfulfilled, onrejected); - } - catch(onrejected) { - return this.parse().catch(onrejected); - } - finally(onfinally) { - return this.parse().finally(onfinally); - } -}; -var APIClient = class { - constructor({ - baseURL, - maxRetries = 2, - timeout = 6e5, - httpAgent, - fetch: overridenFetch - }) { - this.baseURL = baseURL; - this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); - this.timeout = validatePositiveInteger("timeout", timeout); - this.httpAgent = httpAgent; - this.fetch = overridenFetch ?? fetch; - } - authHeaders(opts) { - return {}; - } - defaultHeaders(opts) { - return { - Accept: "application/json", - "Content-Type": "application/json", - "User-Agent": this.getUserAgent(), - ...getPlatformHeaders(), - ...this.authHeaders(opts) - }; - } - validateHeaders(headers, customHeaders) { - } - defaultIdempotencyKey() { - return `stainless-node-retry-${uuid4()}`; - } - get(path2, opts) { - return this.methodRequest("get", path2, opts); - } - post(path2, opts) { - return this.methodRequest("post", path2, opts); - } - patch(path2, opts) { - return this.methodRequest("patch", path2, opts); - } - put(path2, opts) { - return this.methodRequest("put", path2, opts); - } - delete(path2, opts) { - return this.methodRequest("delete", path2, opts); - } - methodRequest(method, path2, opts) { - return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path2, ...opts2 }))); - } - getAPIList(path2, Page, opts) { - return this.requestAPIList(Page, { method: "get", path: path2, ...opts }); - } - calculateContentLength(body) { - if (typeof body === "string") { - if (typeof Buffer !== "undefined") { - return Buffer.byteLength(body, "utf8").toString(); - } - if (typeof TextEncoder !== "undefined") { - const encoder = new TextEncoder(); - const encoded = encoder.encode(body); - return encoded.length.toString(); - } - } - return null; - } - buildRequest(options) { - const { method, path: path2, query, headers = {} } = options; - const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; - const contentLength = this.calculateContentLength(body); - const url2 = this.buildURL(path2, query); - if ("timeout" in options) - validatePositiveInteger("timeout", options.timeout); - const timeout = options.timeout ?? this.timeout; - const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); - const minAgentTimeout = timeout + 1e3; - if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { - httpAgent.options.timeout = minAgentTimeout; - } - if (this.idempotencyHeader && method !== "get") { - if (!options.idempotencyKey) - options.idempotencyKey = this.defaultIdempotencyKey(); - headers[this.idempotencyHeader] = options.idempotencyKey; - } - const reqHeaders = this.buildHeaders({ options, headers, contentLength }); - const req = { - method, - ...body && { body }, - headers: reqHeaders, - ...httpAgent && { agent: httpAgent }, - signal: options.signal ?? null - }; - return { req, url: url2, timeout }; - } - buildHeaders({ options, headers, contentLength }) { - const reqHeaders = {}; - if (contentLength) { - reqHeaders["content-length"] = contentLength; - } - const defaultHeaders = this.defaultHeaders(options); - applyHeadersMut(reqHeaders, defaultHeaders); - applyHeadersMut(reqHeaders, headers); - if (isMultipartBody(options.body) && kind !== "node") { - delete reqHeaders["content-type"]; - } - this.validateHeaders(reqHeaders, headers); - return reqHeaders; - } - async prepareOptions(options) { - } - async prepareRequest(request, { url: url2, options }) { - } - parseHeaders(headers) { - return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; - } - makeStatusError(status, error, message, headers) { - return APIError.generate(status, error, message, headers); - } - request(options, remainingRetries = null) { - return new APIPromise(this.makeRequest(options, remainingRetries)); - } - async makeRequest(optionsInput, retriesRemaining) { - const options = await optionsInput; - if (retriesRemaining == null) { - retriesRemaining = options.maxRetries ?? this.maxRetries; - } - await this.prepareOptions(options); - const { req, url: url2, timeout } = this.buildRequest(options); - await this.prepareRequest(req, { url: url2, options }); - debug("request", url2, options, req.headers); - if (options.signal?.aborted) { - throw new APIUserAbortError(); - } - const controller = new AbortController(); - const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); - if (response instanceof Error) { - if (options.signal?.aborted) { - throw new APIUserAbortError(); - } - if (retriesRemaining) { - return this.retryRequest(options, retriesRemaining); - } - if (response.name === "AbortError") { - throw new APIConnectionTimeoutError(); - } - throw new APIConnectionError({ cause: response }); - } - const responseHeaders = createResponseHeaders(response.headers); - if (!response.ok) { - if (retriesRemaining && this.shouldRetry(response)) { - const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; - debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); - return this.retryRequest(options, retriesRemaining, responseHeaders); - } - const errText = await response.text().catch((e3) => castToError(e3).message); - const errJSON = safeJSON(errText); - const errMessage = errJSON ? void 0 : errText; - const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; - debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); - const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); - throw err; - } - return { response, options, controller }; - } - requestAPIList(Page, options) { - const request = this.makeRequest(options, null); - return new PagePromise(this, request, Page); - } - buildURL(path2, query) { - const url2 = isAbsoluteURL2(path2) ? new URL(path2) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path2.startsWith("/") ? path2.slice(1) : path2)); - const defaultQuery = this.defaultQuery(); - if (!isEmptyObj(defaultQuery)) { - query = { ...defaultQuery, ...query }; - } - if (typeof query === "object" && query && !Array.isArray(query)) { - url2.search = this.stringifyQuery(query); - } - return url2.toString(); - } - stringifyQuery(query) { - return Object.entries(query).filter(([_3, value]) => typeof value !== "undefined").map(([key, value]) => { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; - } - if (value === null) { - return `${encodeURIComponent(key)}=`; - } - throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); - }).join("&"); - } - async fetchWithTimeout(url2, init, ms, controller) { - const { signal, ...options } = init || {}; - if (signal) - signal.addEventListener("abort", () => controller.abort()); - const timeout = setTimeout(() => controller.abort(), ms); - return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { - clearTimeout(timeout); - }); - } - getRequestClient() { - return { fetch: this.fetch }; - } - shouldRetry(response) { - const shouldRetryHeader = response.headers.get("x-should-retry"); - if (shouldRetryHeader === "true") - return true; - if (shouldRetryHeader === "false") - return false; - if (response.status === 408) - return true; - if (response.status === 409) - return true; - if (response.status === 429) - return true; - if (response.status >= 500) - return true; - return false; - } - async retryRequest(options, retriesRemaining, responseHeaders) { - let timeoutMillis; - const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; - if (retryAfterMillisHeader) { - const timeoutMs = parseFloat(retryAfterMillisHeader); - if (!Number.isNaN(timeoutMs)) { - timeoutMillis = timeoutMs; - } - } - const retryAfterHeader = responseHeaders?.["retry-after"]; - if (retryAfterHeader && !timeoutMillis) { - const timeoutSeconds = parseFloat(retryAfterHeader); - if (!Number.isNaN(timeoutSeconds)) { - timeoutMillis = timeoutSeconds * 1e3; - } else { - timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); - } - } - if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { - const maxRetries = options.maxRetries ?? this.maxRetries; - timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); - } - await sleep(timeoutMillis); - return this.makeRequest(options, retriesRemaining - 1); - } - calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { - const initialRetryDelay = 0.5; - const maxRetryDelay = 8; - const numRetries = maxRetries - retriesRemaining; - const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); - const jitter = 1 - Math.random() * 0.25; - return sleepSeconds * jitter * 1e3; - } - getUserAgent() { - return `${this.constructor.name}/JS ${VERSION3}`; - } -}; -var AbstractPage = class { - constructor(client, response, body, options) { - _AbstractPage_client.set(this, void 0); - __classPrivateFieldSet5(this, _AbstractPage_client, client, "f"); - this.options = options; - this.response = response; - this.body = body; - } - hasNextPage() { - const items = this.getPaginatedItems(); - if (!items.length) - return false; - return this.nextPageInfo() != null; - } - async getNextPage() { - const nextInfo = this.nextPageInfo(); - if (!nextInfo) { - throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); - } - const nextOptions = { ...this.options }; - if ("params" in nextInfo && typeof nextOptions.query === "object") { - nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; - } else if ("url" in nextInfo) { - const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; - for (const [key, value] of params) { - nextInfo.url.searchParams.set(key, value); - } - nextOptions.query = void 0; - nextOptions.path = nextInfo.url.toString(); - } - return await __classPrivateFieldGet6(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); - } - async *iterPages() { - let page = this; - yield page; - while (page.hasNextPage()) { - page = await page.getNextPage(); - yield page; - } - } - async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { - for await (const page of this.iterPages()) { - for (const item of page.getPaginatedItems()) { - yield item; - } - } - } -}; -var PagePromise = class extends APIPromise { - constructor(client, request, Page) { - super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); - } - async *[Symbol.asyncIterator]() { - const page = await this; - for await (const item of page) { - yield item; - } - } -}; -var createResponseHeaders = (headers) => { - return new Proxy(Object.fromEntries( - headers.entries() - ), { - get(target, name) { - const key = name.toString(); - return target[key.toLowerCase()] || target[key]; - } - }); -}; -var getPlatformProperties = () => { - if (typeof Deno !== "undefined" && Deno.build != null) { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": normalizePlatform(Deno.build.os), - "X-Stainless-Arch": normalizeArch(Deno.build.arch), - "X-Stainless-Runtime": "deno", - "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" - }; - } - if (typeof EdgeRuntime !== "undefined") { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": `other:${EdgeRuntime}`, - "X-Stainless-Runtime": "edge", - "X-Stainless-Runtime-Version": process.version - }; - } - if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": normalizePlatform(process.platform), - "X-Stainless-Arch": normalizeArch(process.arch), - "X-Stainless-Runtime": "node", - "X-Stainless-Runtime-Version": process.version - }; - } - const browserInfo = getBrowserInfo(); - if (browserInfo) { - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": "unknown", - "X-Stainless-Runtime": `browser:${browserInfo.browser}`, - "X-Stainless-Runtime-Version": browserInfo.version - }; - } - return { - "X-Stainless-Lang": "js", - "X-Stainless-Package-Version": VERSION3, - "X-Stainless-OS": "Unknown", - "X-Stainless-Arch": "unknown", - "X-Stainless-Runtime": "unknown", - "X-Stainless-Runtime-Version": "unknown" - }; -}; -function getBrowserInfo() { - if (typeof navigator === "undefined" || !navigator) { - return null; - } - const browserPatterns = [ - { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, - { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } - ]; - for (const { key, pattern } of browserPatterns) { - const match = pattern.exec(navigator.userAgent); - if (match) { - const major = match[1] || 0; - const minor = match[2] || 0; - const patch = match[3] || 0; - return { browser: key, version: `${major}.${minor}.${patch}` }; - } - } - return null; -} -var normalizeArch = (arch) => { - if (arch === "x32") - return "x32"; - if (arch === "x86_64" || arch === "x64") - return "x64"; - if (arch === "arm") - return "arm"; - if (arch === "aarch64" || arch === "arm64") - return "arm64"; - if (arch) - return `other:${arch}`; - return "unknown"; -}; -var normalizePlatform = (platform) => { - platform = platform.toLowerCase(); - if (platform.includes("ios")) - return "iOS"; - if (platform === "android") - return "Android"; - if (platform === "darwin") - return "MacOS"; - if (platform === "win32") - return "Windows"; - if (platform === "freebsd") - return "FreeBSD"; - if (platform === "openbsd") - return "OpenBSD"; - if (platform === "linux") - return "Linux"; - if (platform) - return `Other:${platform}`; - return "Unknown"; -}; -var _platformHeaders; -var getPlatformHeaders = () => { - return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); -}; -var safeJSON = (text) => { - try { - return JSON.parse(text); - } catch (err) { - return void 0; - } -}; -var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); -var isAbsoluteURL2 = (url2) => { - return startsWithSchemeRegexp.test(url2); -}; -var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); -var validatePositiveInteger = (name, n2) => { - if (typeof n2 !== "number" || !Number.isInteger(n2)) { - throw new AnthropicError(`${name} must be an integer`); - } - if (n2 < 0) { - throw new AnthropicError(`${name} must be a positive integer`); - } - return n2; -}; -var castToError = (err) => { - if (err instanceof Error) - return err; - return new Error(err); -}; -var readEnv = (env2) => { - if (typeof process !== "undefined") { - return process.env?.[env2]?.trim() ?? void 0; - } - if (typeof Deno !== "undefined") { - return Deno.env?.get?.(env2)?.trim(); - } - return void 0; -}; -function isEmptyObj(obj) { - if (!obj) - return true; - for (const _k in obj) - return false; - return true; -} -function hasOwn(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); -} -function applyHeadersMut(targetHeaders, newHeaders) { - for (const k4 in newHeaders) { - if (!hasOwn(newHeaders, k4)) - continue; - const lowerKey = k4.toLowerCase(); - if (!lowerKey) - continue; - const val = newHeaders[k4]; - if (val === null) { - delete targetHeaders[lowerKey]; - } else if (val !== void 0) { - targetHeaders[lowerKey] = val; - } - } -} -function debug(action, ...args) { - if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { - console.log(`Anthropic:DEBUG:${action}`, ...args); - } -} -var uuid4 = () => { - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c2) => { - const r3 = Math.random() * 16 | 0; - const v2 = c2 === "x" ? r3 : r3 & 3 | 8; - return v2.toString(16); - }); -}; - -// node_modules/@anthropic-ai/sdk/resource.mjs -var APIResource = class { - constructor(client) { - this._client = client; - } -}; - -// node_modules/@anthropic-ai/sdk/resources/completions.mjs -var Completions = class extends APIResource { - create(body, options) { - return this._client.post("/v1/complete", { - body, - timeout: 6e5, - ...options, - stream: body.stream ?? false - }); - } -}; -(function(Completions2) { -})(Completions || (Completions = {})); - -// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs -var __classPrivateFieldSet6 = function(receiver, state, value, kind2, f4) { - if (kind2 === "m") - throw new TypeError("Private method is not writable"); - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state.set(receiver, value), value; -}; -var __classPrivateFieldGet7 = function(receiver, state, kind2, f4) { - if (kind2 === "a" && !f4) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f4 : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state.get(receiver); -}; -var _MessageStream_instances; -var _MessageStream_currentMessageSnapshot; -var _MessageStream_connectedPromise; -var _MessageStream_resolveConnectedPromise; -var _MessageStream_rejectConnectedPromise; -var _MessageStream_endPromise; -var _MessageStream_resolveEndPromise; -var _MessageStream_rejectEndPromise; -var _MessageStream_listeners; -var _MessageStream_ended; -var _MessageStream_errored; -var _MessageStream_aborted; -var _MessageStream_catchingPromiseCreated; -var _MessageStream_getFinalMessage; -var _MessageStream_getFinalText; -var _MessageStream_handleError; -var _MessageStream_beginRequest; -var _MessageStream_addStreamEvent; -var _MessageStream_endRequest; -var _MessageStream_accumulateMessage; -var MessageStream = class { - constructor() { - _MessageStream_instances.add(this); - this.messages = []; - this.receivedMessages = []; - _MessageStream_currentMessageSnapshot.set(this, void 0); - this.controller = new AbortController(); - _MessageStream_connectedPromise.set(this, void 0); - _MessageStream_resolveConnectedPromise.set(this, () => { - }); - _MessageStream_rejectConnectedPromise.set(this, () => { - }); - _MessageStream_endPromise.set(this, void 0); - _MessageStream_resolveEndPromise.set(this, () => { - }); - _MessageStream_rejectEndPromise.set(this, () => { - }); - _MessageStream_listeners.set(this, {}); - _MessageStream_ended.set(this, false); - _MessageStream_errored.set(this, false); - _MessageStream_aborted.set(this, false); - _MessageStream_catchingPromiseCreated.set(this, false); - _MessageStream_handleError.set(this, (error) => { - __classPrivateFieldSet6(this, _MessageStream_errored, true, "f"); - if (error instanceof Error && error.name === "AbortError") { - error = new APIUserAbortError(); - } - if (error instanceof APIUserAbortError) { - __classPrivateFieldSet6(this, _MessageStream_aborted, true, "f"); - return this._emit("abort", error); - } - if (error instanceof AnthropicError) { - return this._emit("error", error); - } - if (error instanceof Error) { - const anthropicError = new AnthropicError(error.message); - anthropicError.cause = error; - return this._emit("error", anthropicError); - } - return this._emit("error", new AnthropicError(String(error))); - }); - __classPrivateFieldSet6(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_resolveConnectedPromise, resolve, "f"); - __classPrivateFieldSet6(this, _MessageStream_rejectConnectedPromise, reject, "f"); - }), "f"); - __classPrivateFieldSet6(this, _MessageStream_endPromise, new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_resolveEndPromise, resolve, "f"); - __classPrivateFieldSet6(this, _MessageStream_rejectEndPromise, reject, "f"); - }), "f"); - __classPrivateFieldGet7(this, _MessageStream_connectedPromise, "f").catch(() => { - }); - __classPrivateFieldGet7(this, _MessageStream_endPromise, "f").catch(() => { - }); - } - static fromReadableStream(stream4) { - const runner = new MessageStream(); - runner._run(() => runner._fromReadableStream(stream4)); - return runner; - } - static createMessage(messages, params, options) { - const runner = new MessageStream(); - for (const message of params.messages) { - runner._addMessageParam(message); - } - runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); - return runner; - } - _run(executor) { - executor().then(() => { - this._emitFinal(); - this._emit("end"); - }, __classPrivateFieldGet7(this, _MessageStream_handleError, "f")); - } - _addMessageParam(message) { - this.messages.push(message); - } - _addMessage(message, emit = true) { - this.receivedMessages.push(message); - if (emit) { - this._emit("message", message); - } - } - async _createMessage(messages, params, options) { - const signal = options?.signal; - if (signal) { - if (signal.aborted) - this.controller.abort(); - signal.addEventListener("abort", () => this.controller.abort()); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); - const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); - this._connected(); - for await (const event of stream4) { - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); - } - if (stream4.controller.signal?.aborted) { - throw new APIUserAbortError(); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); - } - _connected() { - if (this.ended) - return; - __classPrivateFieldGet7(this, _MessageStream_resolveConnectedPromise, "f").call(this); - this._emit("connect"); - } - get ended() { - return __classPrivateFieldGet7(this, _MessageStream_ended, "f"); - } - get errored() { - return __classPrivateFieldGet7(this, _MessageStream_errored, "f"); - } - get aborted() { - return __classPrivateFieldGet7(this, _MessageStream_aborted, "f"); - } - abort() { - this.controller.abort(); - } - on(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); - listeners.push({ listener }); - return this; - } - off(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; - if (!listeners) - return this; - const index = listeners.findIndex((l3) => l3.listener === listener); - if (index >= 0) - listeners.splice(index, 1); - return this; - } - once(event, listener) { - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = []); - listeners.push({ listener, once: true }); - return this; - } - emitted(event) { - return new Promise((resolve, reject) => { - __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); - if (event !== "error") - this.once("error", reject); - this.once(event, resolve); - }); - } - async done() { - __classPrivateFieldSet6(this, _MessageStream_catchingPromiseCreated, true, "f"); - await __classPrivateFieldGet7(this, _MessageStream_endPromise, "f"); - } - get currentMessage() { - return __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - } - async finalMessage() { - await this.done(); - return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); - } - async finalText() { - await this.done(); - return __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); - } - _emit(event, ...args) { - if (__classPrivateFieldGet7(this, _MessageStream_ended, "f")) - return; - if (event === "end") { - __classPrivateFieldSet6(this, _MessageStream_ended, true, "f"); - __classPrivateFieldGet7(this, _MessageStream_resolveEndPromise, "f").call(this); - } - const listeners = __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event]; - if (listeners) { - __classPrivateFieldGet7(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); - listeners.forEach(({ listener }) => listener(...args)); - } - if (event === "abort") { - const error = args[0]; - if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { - Promise.reject(error); - } - __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); - __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); - this._emit("end"); - return; - } - if (event === "error") { - const error = args[0]; - if (!__classPrivateFieldGet7(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { - Promise.reject(error); - } - __classPrivateFieldGet7(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); - __classPrivateFieldGet7(this, _MessageStream_rejectEndPromise, "f").call(this, error); - this._emit("end"); - } - } - _emitFinal() { - const finalMessage = this.receivedMessages.at(-1); - if (finalMessage) { - this._emit("finalMessage", __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); - } - } - async _fromReadableStream(readableStream, options) { - const signal = options?.signal; - if (signal) { - if (signal.aborted) - this.controller.abort(); - signal.addEventListener("abort", () => this.controller.abort()); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); - this._connected(); - const stream4 = Stream.fromReadableStream(readableStream, this.controller); - for await (const event of stream4) { - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); - } - if (stream4.controller.signal?.aborted) { - throw new APIUserAbortError(); - } - __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); - } - [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { - if (this.receivedMessages.length === 0) { - throw new AnthropicError("stream ended without producing a Message with role=assistant"); - } - return this.receivedMessages.at(-1); - }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { - if (this.receivedMessages.length === 0) { - throw new AnthropicError("stream ended without producing a Message with role=assistant"); - } - const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); - if (textBlocks.length === 0) { - throw new AnthropicError("stream ended without producing a content block with type=text"); - } - return textBlocks.join(" "); - }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { - if (this.ended) - return; - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); - }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { - if (this.ended) - return; - const messageSnapshot = __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); - this._emit("streamEvent", event, messageSnapshot); - switch (event.type) { - case "content_block_delta": { - if (event.delta.type === "text_delta") { - this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); - } - break; - } - case "message_stop": { - this._addMessageParam(messageSnapshot); - this._addMessage(messageSnapshot, true); - break; - } - case "content_block_stop": { - this._emit("contentBlock", messageSnapshot.content.at(-1)); - break; - } - case "message_start": { - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); - break; - } - case "content_block_start": - case "message_delta": - break; - } - }, _MessageStream_endRequest = function _MessageStream_endRequest2() { - if (this.ended) { - throw new AnthropicError(`stream has ended, this shouldn't happen`); - } - const snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - if (!snapshot) { - throw new AnthropicError(`request ended without sending any chunks`); - } - __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f"); - return snapshot; - }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { - let snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f"); - if (event.type === "message_start") { - if (snapshot) { - throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); - } - return event.message; - } - if (!snapshot) { - throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); - } - switch (event.type) { - case "message_stop": - return snapshot; - case "message_delta": - snapshot.stop_reason = event.delta.stop_reason; - snapshot.stop_sequence = event.delta.stop_sequence; - snapshot.usage.output_tokens = event.usage.output_tokens; - return snapshot; - case "content_block_start": - snapshot.content.push(event.content_block); - return snapshot; - case "content_block_delta": { - const snapshotContent = snapshot.content.at(event.index); - if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { - snapshotContent.text += event.delta.text; - } - return snapshot; - } - case "content_block_stop": - return snapshot; - } - }, Symbol.asyncIterator)]() { - const pushQueue = []; - const readQueue = []; - let done = false; - this.on("streamEvent", (event) => { - const reader = readQueue.shift(); - if (reader) { - reader.resolve(event); - } else { - pushQueue.push(event); - } - }); - this.on("end", () => { - done = true; - for (const reader of readQueue) { - reader.resolve(void 0); - } - readQueue.length = 0; - }); - this.on("abort", (err) => { - done = true; - for (const reader of readQueue) { - reader.reject(err); - } - readQueue.length = 0; - }); - this.on("error", (err) => { - done = true; - for (const reader of readQueue) { - reader.reject(err); - } - readQueue.length = 0; - }); - return { - next: async () => { - if (!pushQueue.length) { - if (done) { - return { value: void 0, done: true }; - } - return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); - } - const chunk = pushQueue.shift(); - return { value: chunk, done: false }; - }, - return: async () => { - this.abort(); - return { value: void 0, done: true }; - } - }; - } - toReadableStream() { - const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); - return stream4.toReadableStream(); - } -}; - -// node_modules/@anthropic-ai/sdk/resources/messages.mjs -var Messages = class extends APIResource { - create(body, options) { - return this._client.post("/v1/messages", { - body, - timeout: 6e5, - ...options, - stream: body.stream ?? false - }); - } - stream(body, options) { - return MessageStream.createMessage(this, body, options); - } -}; -(function(Messages2) { -})(Messages || (Messages = {})); - -// node_modules/@anthropic-ai/sdk/index.mjs -var _a; -var Anthropic = class extends APIClient { - constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey3 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { - const options = { - apiKey: apiKey3, - authToken, - ...opts, - baseURL: baseURL || `https://api.anthropic.com` - }; - super({ - baseURL: options.baseURL, - timeout: options.timeout ?? 6e5, - httpAgent: options.httpAgent, - maxRetries: options.maxRetries, - fetch: options.fetch - }); - this.completions = new Completions(this); - this.messages = new Messages(this); - this._options = options; - this.apiKey = apiKey3; - this.authToken = authToken; - } - defaultQuery() { - return this._options.defaultQuery; - } - defaultHeaders(opts) { - return { - ...super.defaultHeaders(opts), - "anthropic-version": "2023-06-01", - ...this._options.defaultHeaders - }; - } - validateHeaders(headers, customHeaders) { - if (this.apiKey && headers["x-api-key"]) { - return; - } - if (customHeaders["x-api-key"] === null) { - return; - } - if (this.authToken && headers["authorization"]) { - return; - } - if (customHeaders["authorization"] === null) { - return; - } - throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); - } - authHeaders(opts) { - const apiKeyAuth = this.apiKeyAuth(opts); - const bearerAuth = this.bearerAuth(opts); - if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { - return apiKeyAuth; - } - if (bearerAuth != null && !isEmptyObj(bearerAuth)) { - return bearerAuth; - } - return {}; - } - apiKeyAuth(opts) { - if (this.apiKey == null) { - return {}; - } - return { "X-Api-Key": this.apiKey }; - } - bearerAuth(opts) { - if (this.authToken == null) { - return {}; - } - return { Authorization: `Bearer ${this.authToken}` }; - } -}; -_a = Anthropic; -Anthropic.Anthropic = _a; -Anthropic.HUMAN_PROMPT = "\n\nHuman:"; -Anthropic.AI_PROMPT = "\n\nAssistant:"; -Anthropic.AnthropicError = AnthropicError; -Anthropic.APIError = APIError; -Anthropic.APIConnectionError = APIConnectionError; -Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; -Anthropic.APIUserAbortError = APIUserAbortError; -Anthropic.NotFoundError = NotFoundError; -Anthropic.ConflictError = ConflictError; -Anthropic.RateLimitError = RateLimitError; -Anthropic.BadRequestError = BadRequestError; -Anthropic.AuthenticationError = AuthenticationError; -Anthropic.InternalServerError = InternalServerError; -Anthropic.PermissionDeniedError = PermissionDeniedError; -Anthropic.UnprocessableEntityError = UnprocessableEntityError; -var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; -var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; -(function(Anthropic2) { - Anthropic2.toFile = toFile; - Anthropic2.fileFromPath = fileFromPath; - Anthropic2.Completions = Completions; - Anthropic2.Messages = Messages; -})(Anthropic || (Anthropic = {})); -var sdk_default = Anthropic; - -// src/engine/anthropic.ts -var config4 = getConfig(); -var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; -var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var provider2 = config4?.OCO_AI_PROVIDER; -var apiKey2 = config4?.OCO_ANTHROPIC_API_KEY; -var [command2, mode2] = process.argv.slice(2); -if (provider2 === "anthropic" && !apiKey2 && command2 !== "config" && mode2 !== "set" /* set */) { - ae("opencommit"); - ce( - "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY=<your token> . If you are using Claude, make sure you add payment details, so API works.`" - ); - ce( - "For help look into README https://github.com/di-sukharev/opencommit#setup" - ); - process.exit(1); -} -var MODEL2 = config4?.OCO_MODEL; -if (provider2 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL2) && command2 !== "config" && mode2 !== "set" /* set */) { - ce( - `${source_default.red("\u2716")} Unsupported model ${MODEL2} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( - ", " - )}` - ); - process.exit(1); -} -var AnthropicAi = class { - anthropicAiApiConfiguration = { - apiKey: apiKey2 - }; - anthropicAI; - constructor() { - this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); - } - generateCommitMessage = async (messages) => { - const systemMessage = messages.find((msg) => msg.role === "system")?.content; - const restMessages = messages.filter((msg) => msg.role !== "system"); - const params = { - model: MODEL2, - system: systemMessage, - messages: restMessages, - temperature: 0, - top_p: 0.1, - max_tokens: MAX_TOKENS_OUTPUT2 - }; - try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); - if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { - throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); - } - const data = await this.anthropicAI.messages.create(params); - const message = data?.content[0].text; - return message; - } catch (error) { - ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); - const err = error; - ce(`${source_default.red("\u2716")} ${err?.message || err}`); - if (axios_default.isAxiosError(error) && error.response?.status === 401) { - const anthropicAiError = error.response.data.error; - if (anthropicAiError?.message) - ce(anthropicAiError.message); - ce( - "For help look into README https://github.com/di-sukharev/opencommit#setup" - ); - } - throw err; - } - }; -}; -var anthropicAi = new AnthropicAi(); - -// src/engine/testAi.ts -var TestAi = class { - async generateCommitMessage(messages) { - return "test commit message"; - } -}; -var testAi = new TestAi(); - // src/utils/engine.ts function getEngine() { - const config8 = getConfig(); - if (config8?.OCO_AI_PROVIDER == "ollama") { + const config7 = getConfig(); + const provider = config7?.OCO_AI_PROVIDER; + if (provider?.startsWith("ollama")) { + const model = provider.split("/")[1]; + if (model) { + ollamaAi.setModel(model); + } return ollamaAi; - } else if (config8?.OCO_AI_PROVIDER == "anthropic") { - return anthropicAi; - } else if (config8?.OCO_AI_PROVIDER == "test") { - return testAi; } return api; } // src/modules/commitlint/config.ts -var config5 = getConfig(); -var translation2 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config4 = getConfig(); +var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -54015,15 +27584,15 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config6 = getConfig(); -var translation3 = i18n[config6?.OCO_LANGUAGE || "en"]; +var config5 = getConfig(); +var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config6?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config6?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config6?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { @@ -54055,12 +27624,12 @@ var INIT_DIFF_PROMPT = { }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config6?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config6?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config6?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config6?.OCO_PROMPT_MODULE) { + switch (config5?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -54105,9 +27674,9 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config7 = getConfig(); -var MAX_TOKENS_INPUT3 = config7?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT3 = config7?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config6 = getConfig(); +var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; @@ -54130,8 +27699,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a3, b3) => a3 + b3, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT3 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT3; + ).reduce((a2, b2) => a2 + b2, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -54244,12 +27813,12 @@ function randomIntFromInterval(min, max) { } // src/utils/sleep.ts -function sleep2(ms) { +function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // src/github-action.ts -var GITHUB_TOKEN = import_core5.default.getInput("GITHUB_TOKEN"); +var GITHUB_TOKEN = import_core3.default.getInput("GITHUB_TOKEN"); var octokit = import_github.default.getOctokit(GITHUB_TOKEN); var context = import_github.default.context; var owner = context.repo.owner; @@ -54280,9 +27849,9 @@ async function improveMessagesInChunks(diffsAndSHAs) { try { const chunkOfImprovedMessages = await Promise.all(chunkOfPromises); const chunkOfImprovedMessagesBySha = chunkOfImprovedMessages.map( - (improvedMsg, i3) => { + (improvedMsg, i2) => { const index = improvedMessagesAndSHAs.length; - const sha = diffsAndSHAs[index + i3].sha; + const sha = diffsAndSHAs[index + i2].sha; return { sha, msg: improvedMsg }; } ); @@ -54291,12 +27860,12 @@ async function improveMessagesInChunks(diffsAndSHAs) { ce( `Improved ${chunkOfPromises.length} messages. Sleeping for ${sleepFor}` ); - await sleep2(sleepFor); + await sleep(sleepFor); } catch (error) { ce(error); const sleepFor = 6e4 + 1e3 * randomIntFromInterval(1, 5); ce(`Retrying after sleeping for ${sleepFor}`); - await sleep2(sleepFor); + await sleep(sleepFor); step -= chunkSize; } } @@ -54333,12 +27902,12 @@ async function improveCommitMessages(commitsToImprove) { console.log("No changes in commit messages detected, skipping rebase"); return; } - const createCommitMessageFile = (message, index) => (0, import_fs3.writeFileSync)(`./commit-${index}.txt`, message); + const createCommitMessageFile = (message, index) => (0, import_fs2.writeFileSync)(`./commit-${index}.txt`, message); improvedMessagesWithSHAs.forEach( - ({ msg }, i3) => createCommitMessageFile(msg, i3) + ({ msg }, i2) => createCommitMessageFile(msg, i2) ); - (0, import_fs3.writeFileSync)(`./count.txt`, "0"); - (0, import_fs3.writeFileSync)( + (0, import_fs2.writeFileSync)(`./count.txt`, "0"); + (0, import_fs2.writeFileSync)( "./rebase-exec.sh", `#!/bin/bash count=$(cat count.txt) @@ -54357,10 +27926,10 @@ async function improveCommitMessages(commitsToImprove) { } } ); - const deleteCommitMessageFile = (index) => (0, import_fs3.unlinkSync)(`./commit-${index}.txt`); - commitsToImprove.forEach((_commit, i3) => deleteCommitMessageFile(i3)); - (0, import_fs3.unlinkSync)("./count.txt"); - (0, import_fs3.unlinkSync)("./rebase-exec.sh"); + const deleteCommitMessageFile = (index) => (0, import_fs2.unlinkSync)(`./commit-${index}.txt`); + commitsToImprove.forEach((_commit, i2) => deleteCommitMessageFile(i2)); + (0, import_fs2.unlinkSync)("./count.txt"); + (0, import_fs2.unlinkSync)("./rebase-exec.sh"); ce("Force pushing non-interactively rebased commits into remote."); await import_exec.default.exec("git", ["status"]); await import_exec.default.exec("git", ["push", `--force`]); @@ -54381,21 +27950,16 @@ async function run() { await improveCommitMessages(commits); } else { ce("Wrong action."); - import_core5.default.error( + import_core3.default.error( `OpenCommit was called on ${import_github.default.context.payload.action}. OpenCommit is supposed to be used on "push" action.` ); } } catch (error) { const err = error?.message || error; - import_core5.default.setFailed(err); + import_core3.default.setFailed(err); } } run(); -/*! - * humanize-ms - index.js - * Copyright(c) 2014 dead_horse <dead_horse@qq.com> - * MIT Licensed - */ /*! * is-plain-object <https://github.com/jonschlinkert/is-plain-object> * @@ -54414,21 +27978,3 @@ run(); * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ -/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> & David Frank */ -/*! formdata-polyfill. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ -/*! node-domexception. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ -/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */ -/** - * @license - * web-streams-polyfill v3.3.3 - * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. - * This code is released under the MIT license. - * SPDX-License-Identifier: MIT - */ -/** - * @license - * web-streams-polyfill v4.0.0-beta.3 - * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. - * This code is released under the MIT license. - * SPDX-License-Identifier: MIT - */ diff --git a/src/commands/config.ts b/src/commands/config.ts index d877db3..8009a19 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -82,7 +82,7 @@ export const configValidators = { //need api key unless running locally with ollama validateConfig( 'OpenAI API_KEY', - value || config.OCO_ANTHROPIC_API_KEY || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', + value || config.OCO_ANTHROPIC_API_KEY || config.OCO_AI_PROVIDER.startsWith('ollama') || config.OCO_AI_PROVIDER == 'test', 'You need to provide an OpenAI/Anthropic API key' ); validateConfig( @@ -223,10 +223,9 @@ export const configValidators = { '', 'openai', 'anthropic', - 'ollama', 'test' - ].includes(value), - `${value} is not supported yet, use 'ollama' 'anthropic' or 'openai' (default)` + ].includes(value) || value.startsWith('ollama'), + `${value} is not supported yet, use 'ollama/{model}' 'anthropic' or 'openai' (default)` ); return value; }, diff --git a/src/engine/ollama.ts b/src/engine/ollama.ts index f431ee1..2bf7c00 100644 --- a/src/engine/ollama.ts +++ b/src/engine/ollama.ts @@ -3,10 +3,15 @@ import { ChatCompletionRequestMessage } from 'openai'; import { AiEngine } from './Engine'; export class OllamaAi implements AiEngine { + private model = "mistral"; // as default model of Ollama + + setModel(model: string) { + this.model = model; + } async generateCommitMessage( messages: Array<ChatCompletionRequestMessage> ): Promise<string | undefined> { - const model = 'mistral'; // todo: allow other models + const model = this.model; //console.log(messages); //process.exit() diff --git a/src/utils/engine.ts b/src/utils/engine.ts index 2694c05..bd85119 100644 --- a/src/utils/engine.ts +++ b/src/utils/engine.ts @@ -7,13 +7,18 @@ import { testAi } from '../engine/testAi'; export function getEngine(): AiEngine { const config = getConfig(); - if (config?.OCO_AI_PROVIDER == 'ollama') { + const provider = config?.OCO_AI_PROVIDER; + if (provider?.startsWith('ollama')) { + const model = provider.split('/')[1]; + if (model) { + ollamaAi.setModel(model); + } return ollamaAi; } else if (config?.OCO_AI_PROVIDER == 'anthropic') { return anthropicAi; } else if (config?.OCO_AI_PROVIDER == 'test') { return testAi; } - //open ai gpt by default + // open ai gpt by default return api; } From f814c6b89d38daf061f7d8e669d251eb9e9585ec Mon Sep 17 00:00:00 2001 From: Jakub Rosa <jakub.rosa.95@gmail.com> Date: Thu, 9 May 2024 10:23:00 +0200 Subject: [PATCH 10/11] add support for Azure OpenAI API - continue MR 167 (#324) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ feat(api.ts): add support for Azure OpenAI API The Azure OpenAI API is now supported in addition to the OpenAI API. The API type can be specified in the configuration file using the OPENAI_API_TYPE key. If the key is not specified, the default value is 'openai'. The AzureOpenAIApi class is added to the utils folder to handle the Azure OpenAI API calls. The createChatCompletion method is implemented in the AzureOpenAIApi class to handle the chat completion requests. The method is called in the generateCommitMessage method in the OpenAi class if the apiType is set to 'azure'. * πŸ› fix(AzureOpenAI.ts): fix import path for AxiosRequestConfig to avoid conflicts with openai's axios dependency In AzureOpenAI.ts, the import path for AxiosRequestConfig was changed to avoid conflicts with openai's axios dependency, which was causing lint errors. * πŸ”§ fix(AzureOpenAI.ts): import RequiredError to fix error handling and remove commented out debug code The RequiredError class was not being imported from the openai/dist/base module, causing errors to be thrown incorrectly. This has been fixed by importing the RequiredError class. Debug code has been removed and comments have been updated to reflect the changes made. * πŸ”‡ chore(AzureOpenAI.ts): remove console.log statement and translate Japanese comment The commented console.log statement was removed to improve code cleanliness. * πŸ”₯ refactoring(api.ts, AzureOpenAI.ts): Leverage openai npm package πŸ› fix(config.ts): API Key string validation * ✨ (README.md): update opencommit command to set OCO_AI_PROVIDER instead of OPENAI_API_TYPE to improve consistency and clarity in configuration ♻️ (config.ts): update OCO_AI_PROVIDER enum in configValidators to include 'azure' and remove unnecessary conditionals to improve maintainability and extensibility ⬆️ (config.ts): add OCO_AZURE_API_VERSION to ConfigType and getConfig() to support new azure api version configuration ♻️ (engine/ollama.ts): add space between temperature and top_p properties to improve readability ♻️ (engine/openAi.ts): refactor OpenAi class to improve readability and maintainability by extracting configuration logic into separate switch statement πŸ”§ (generateCommitMessageFromGitDiff.ts): refactor MAX_TOKENS_INPUT and MAX_TOKENS_OUTPUT lines to improve readability πŸ”§ (generateCommitMessageFromGitDiff.ts): refactor generateCommitMessageByDiff and getMessagesPromisesByChangesInFile functions to use destructuring and improve readability ♻️ (generateCommitMessageFromGitDiff.ts): refactor getCommitMsgsPromisesFromFileDiffs function to use destructuring and improve readability πŸ“ (modules/commitlint/config.ts): add missing types to function parameters and improve readability by removing unnecessary comments and whitespace πŸ“ (modules/commitlint/utils.ts): fix indentation and add missing types to function parameters πŸ“ (prompts.ts): update INIT_MAIN_PROMPT description to include clarification on the use of present tense and line length πŸ“ (version.ts): fix import statements and add missing types to function parameters * ✨ (package.json): add @azure/openai dependency to support integration with Azure AI services πŸ”§ (config.ts): change CONFIG_KEYS.OCO_AZURE_API_VERSION to CONFIG_KEYS.OCO_AZURE_ENDPOINT to improve semantics and allow configuration of Azure endpoint URL ♻️ (config.ts): refactor configValidators to use OCO_AZURE_ENDPOINT instead of OCO_AZURE_API_VERSION and update validation message for OCO_AZURE_ENDPOINT ✨ (config.ts): add OCO_AZURE_ENDPOINT to getConfig function to retrieve Azure endpoint configuration from environment variables ✨ (azure.ts): introduce a new file azure.ts to implement Azure AI engine ✨ (azure.ts): implement generateCommitMessage function in Azure AI engine ✨ (prompts.ts): add a new line to INIT_MAIN_PROMPT to mention that changes within a single file should be described with a single commit message ♻️ (engine.ts): refactor getEngine function to add support for 'azure' as the AI provider and return the azure engine * πŸ“ (prompts.ts): remove unnecessary information about crafting a concise commit message with a one single message for OCO_ONE_LINE_COMMIT configuration * 3.0.14 (#333) * test: βœ… add the first E2E test and configuration to CI (#316) * add tests * Add push config (#220) * feat: add instructions and support for configuring gpt-4-turbo (#320) * 3.0.12 * build * feat: add 'gpt-4-turbo' to supported models in README and config validation --------- Co-authored-by: di-sukharev <dim.sukharev@gmail.com> * βœ… fix the broken E2E tests due to the addition of OCO_GITPUSH (#321) * test(oneFile.test.ts): update test expectations to match new push prompt text * build * Feat: Add Claude 3 support (#318) * 3.0.12 * build * feat: anthropic claude 3 support * fix: add system prompt * fix: type check * fix: package version * fix: update anthropic for dependency bug fix * feat: update build files * feat: update version number --------- Co-authored-by: di-sukharev <dim.sukharev@gmail.com> * πŸ›bug fix: enable to use the new format of OpenAI's project API Key (#328) * fix(config.ts): remove validation for OCO_OPENAI_API_KEY length to accommodate variable key lengths * build * ♻️ refactor(config.ts): Addition of UnitTest environment and unittest for commands/config.ts#getConfig (#330) * feat(jest.config.ts): update jest preset for TS ESM support and ignore patterns feat(package.json): add test:unit script with NODE_OPTIONS for ESM refactor(src/commands/config.ts): improve dotenv usage with dynamic paths feat(src/commands/config.ts): allow custom config and env paths in getConfig refactor(src/commands/config.ts): streamline environment variable access feat(test/unit): add unit tests for config handling and utility functions - Implement unit tests for `getConfig` function to ensure correct behavior in various scenarios including default values, global config, and local env file precedence. - Add utility function `prepareFile` for creating temporary files during tests, facilitating testing of file-based configurations. * feat(e2e.yml): add unit-test job to GitHub Actions for running unit tests on pull requests * ci(test.yml): add GitHub Actions workflow for unit and e2e tests on pull requests * refactor(config.ts): streamline environment variable access using process.env directly test(config.test.ts): add setup and teardown for environment variables in tests to ensure test isolation * feat(package.json): add `test:all` script to run all tests in Docker refactor(package.json): consolidate Docker build steps into `test:docker-build` script for DRY principle fix(package.json): ensure `test:unit:docker` and `test:e2e:docker` scripts use the same Docker image and remove container after run chore(test/Dockerfile): remove default CMD to allow dynamic test script execution in Docker * refactor(config.test.ts): anonymize API keys in tests for better security practices * feat(config.test.ts): add tests for OCO_ANTHROPIC_API_KEY configuration * refactor(config.ts): streamline path imports and remove unused DotenvParseOutput - Simplify path module imports by removing default import and using named imports for `pathJoin` and `pathResolve`. - Remove unused `DotenvParseOutput` import to clean up the code. * refactor(config.test.ts): simplify API key mock values for clarity in tests * test(config.test.ts): remove tests for default config values and redundant cases - Removed tests that checked for default config values when no config or env files are present, as these scenarios are now handled differently. - Eliminated tests for empty global config and local env files to streamline testing focus on actual config loading logic. - Removed test for prioritizing local env over global config due to changes in config loading strategy, simplifying the configuration management. * new version --------- Co-authored-by: Takanori Matsumoto <matscube@gmail.com> Co-authored-by: Moret84 <aurelienrivet@hotmail.fr> Co-authored-by: yowatari <4982161+YOwatari@users.noreply.github.com> Co-authored-by: metavind <94786679+metavind@users.noreply.github.com> * 3.0.15 * build * πŸ› (prepare-commit-msg-hook.ts): improve error message to cover missing OCO_ANTHROPIC_API_KEY and OCO_AZURE_API_KEY in addition to OCO_OPENAI_API_KEY * πŸ› (azure.ts): fix check for OCO_AI_PROVIDER to properly assign provider variable πŸ› (azure.ts): initialize OpenAIClient only if provider is 'azure' πŸ”§ (Dockerfile): rearrange instructions to optimize caching by copying package.json and package-lock.json first before running npm ci and copying the rest of the files πŸ”§ (e2e/noChanges.test.ts): remove unnecessary line break πŸ”§ (e2e/oneFile.test.ts): remove unnecessary line break --------- Co-authored-by: Takuya Ono <takuya-o@users.osdn.me> Co-authored-by: GPT10 <57486732+di-sukharev@users.noreply.github.com> Co-authored-by: Takanori Matsumoto <matscube@gmail.com> Co-authored-by: Moret84 <aurelienrivet@hotmail.fr> Co-authored-by: yowatari <4982161+YOwatari@users.noreply.github.com> Co-authored-by: metavind <94786679+metavind@users.noreply.github.com> Co-authored-by: di-sukharev <dim.sukharev@gmail.com> --- README.md | 14 + out/cli.cjs | 23066 ++++++++++++-- out/github-action.cjs | 36808 ++++++++++++++++++++-- package-lock.json | 162 +- package.json | 3 +- src/commands/commit.ts | 12 + src/commands/config.ts | 58 +- src/commands/prepare-commit-msg-hook.ts | 4 +- src/engine/azure.ts | 109 + src/engine/ollama.ts | 2 +- src/generateCommitMessageFromGitDiff.ts | 18 +- src/modules/commitlint/config.ts | 4 +- src/modules/commitlint/utils.ts | 8 +- src/prompts.ts | 2 +- src/utils/engine.ts | 3 + src/version.ts | 6 +- test/Dockerfile | 7 +- test/e2e/noChanges.test.ts | 1 - test/e2e/oneFile.test.ts | 1 - 19 files changed, 55035 insertions(+), 5253 deletions(-) create mode 100644 src/engine/azure.ts diff --git a/README.md b/README.md index 1d8933a..b19b7f9 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,20 @@ oco config set OCO_MODEL=gpt-4-0125-preview Make sure that you spell it `gpt-4` (lowercase) and that you have API access to the 4th model. Even if you have ChatGPT+, that doesn't necessarily mean that you have API access to GPT-4. +### Switch to Azure OpenAI + +By default OpenCommit uses [OpenAI](https://openai.com). + +You could switch to [Azure OpenAI Service](https://learn.microsoft.com/azure/cognitive-services/openai/)πŸš€ + +```sh +opencommit config set OCO_AI_PROVIDER=azure +``` + +Of course need to set 'OPENAI_API_KEY'. And also need to set the +'OPENAI_BASE_PATH' for the endpoint and set the deployment name to +'model'. + ### Locale configuration To globally specify the language used to generate commit messages: diff --git a/out/cli.cjs b/out/cli.cjs index 6938b59..c6c20ae 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -6,9 +6,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; +var __export = (target, all3) => { + for (var name in all3) + __defProp(target, name, { get: all3[name], enumerable: true }); +}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -27,7 +34,7 @@ var require_windows = __commonJS({ "node_modules/isexe/windows.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs4 = require("fs"); + var fs5 = require("fs"); function checkPathExt(path5, options) { var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT; if (!pathext) { @@ -37,8 +44,8 @@ var require_windows = __commonJS({ if (pathext.indexOf("") !== -1) { return true; } - for (var i2 = 0; i2 < pathext.length; i2++) { - var p4 = pathext[i2].toLowerCase(); + for (var i3 = 0; i3 < pathext.length; i3++) { + var p4 = pathext[i3].toLowerCase(); if (p4 && path5.substr(-p4.length).toLowerCase() === p4) { return true; } @@ -52,12 +59,12 @@ var require_windows = __commonJS({ return checkPathExt(path5, options); } function isexe(path5, options, cb) { - fs4.stat(path5, function(er, stat) { - cb(er, er ? false : checkStat(stat, path5, options)); + fs5.stat(path5, function(er2, stat) { + cb(er2, er2 ? false : checkStat(stat, path5, options)); }); } function sync(path5, options) { - return checkStat(fs4.statSync(path5), path5, options); + return checkStat(fs5.statSync(path5), path5, options); } } }); @@ -67,14 +74,14 @@ var require_mode = __commonJS({ "node_modules/isexe/mode.js"(exports, module2) { module2.exports = isexe; isexe.sync = sync; - var fs4 = require("fs"); + var fs5 = require("fs"); function isexe(path5, options, cb) { - fs4.stat(path5, function(er, stat) { - cb(er, er ? false : checkStat(stat, options)); + fs5.stat(path5, function(er2, stat) { + cb(er2, er2 ? false : checkStat(stat, options)); }); } function sync(path5, options) { - return checkStat(fs4.statSync(path5), options); + return checkStat(fs5.statSync(path5), options); } function checkStat(stat, options) { return stat.isFile() && checkMode(stat, options); @@ -85,11 +92,11 @@ var require_mode = __commonJS({ var gid = stat.gid; var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid(); var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid(); - var u2 = parseInt("100", 8); - var g3 = parseInt("010", 8); - var o2 = parseInt("001", 8); - var ug = u2 | g3; - var ret = mod & o2 || mod & g3 && gid === myGid || mod & u2 && uid === myUid || mod & ug && myUid === 0; + var u3 = parseInt("100", 8); + var g4 = parseInt("010", 8); + var o3 = parseInt("001", 8); + var ug = u3 | g4; + var ret = mod & o3 || mod & g4 && gid === myGid || mod & u3 && uid === myUid || mod & ug && myUid === 0; return ret; } } @@ -98,7 +105,7 @@ var require_mode = __commonJS({ // node_modules/isexe/index.js var require_isexe = __commonJS({ "node_modules/isexe/index.js"(exports, module2) { - var fs4 = require("fs"); + var fs5 = require("fs"); var core; if (process.platform === "win32" || global.TESTING_WINDOWS) { core = require_windows(); @@ -117,33 +124,33 @@ var require_isexe = __commonJS({ throw new TypeError("callback not provided"); } return new Promise(function(resolve, reject) { - isexe(path5, options || {}, function(er, is) { - if (er) { - reject(er); + isexe(path5, options || {}, function(er2, is) { + if (er2) { + reject(er2); } else { resolve(is); } }); }); } - core(path5, options || {}, function(er, is) { - if (er) { - if (er.code === "EACCES" || options && options.ignoreErrors) { - er = null; + core(path5, options || {}, function(er2, is) { + if (er2) { + if (er2.code === "EACCES" || options && options.ignoreErrors) { + er2 = null; is = false; } } - cb(er, is); + cb(er2, is); }); } function sync(path5, options) { try { return core.sync(path5, options || {}); - } catch (er) { - if (options && options.ignoreErrors || er.code === "EACCES") { + } catch (er2) { + if (options && options.ignoreErrors || er2.code === "EACCES") { return false; } else { - throw er; + throw er2; } } } @@ -185,27 +192,27 @@ var require_which = __commonJS({ opt = {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - const step = (i2) => new Promise((resolve, reject) => { - if (i2 === pathEnv.length) + const step = (i3) => new Promise((resolve, reject) => { + if (i3 === pathEnv.length) return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd)); - const ppRaw = pathEnv[i2]; + const ppRaw = pathEnv[i3]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - resolve(subStep(p4, i2, 0)); + resolve(subStep(p4, i3, 0)); }); - const subStep = (p4, i2, ii) => new Promise((resolve, reject) => { + const subStep = (p4, i3, ii) => new Promise((resolve, reject) => { if (ii === pathExt.length) - return resolve(step(i2 + 1)); + return resolve(step(i3 + 1)); const ext = pathExt[ii]; - isexe(p4 + ext, { pathExt: pathExtExe }, (er, is) => { - if (!er && is) { + isexe(p4 + ext, { pathExt: pathExtExe }, (er2, is) => { + if (!er2 && is) { if (opt.all) found.push(p4 + ext); else return resolve(p4 + ext); } - return resolve(subStep(p4, i2, ii + 1)); + return resolve(subStep(p4, i3, ii + 1)); }); }); return cb ? step(0).then((res) => cb(null, res), cb) : step(0); @@ -214,13 +221,13 @@ var require_which = __commonJS({ opt = opt || {}; const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; - for (let i2 = 0; i2 < pathEnv.length; i2++) { - const ppRaw = pathEnv[i2]; + for (let i3 = 0; i3 < pathEnv.length; i3++) { + const ppRaw = pathEnv[i3]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = path5.join(pathPart, cmd); const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - for (let j3 = 0; j3 < pathExt.length; j3++) { - const cur = p4 + pathExt[j3]; + for (let j4 = 0; j4 < pathExt.length; j4++) { + const cur = p4 + pathExt[j4]; try { const is = isexe.sync(cur, { pathExt: pathExtExe }); if (is) { @@ -285,7 +292,7 @@ var require_resolveCommand = __commonJS({ path: env2[getPathKey({ env: env2 })], pathExt: withoutPathExt ? path5.delimiter : void 0 }); - } catch (e2) { + } catch (e3) { } finally { if (shouldSwitchCwd) { process.chdir(cwd); @@ -360,17 +367,17 @@ var require_shebang_command = __commonJS({ var require_readShebang = __commonJS({ "node_modules/cross-spawn/lib/util/readShebang.js"(exports, module2) { "use strict"; - var fs4 = require("fs"); + var fs5 = require("fs"); var shebangCommand = require_shebang_command(); - function readShebang(command2) { + function readShebang(command4) { const size = 150; const buffer = Buffer.alloc(size); let fd; try { - fd = fs4.openSync(command2, "r"); - fs4.readSync(fd, buffer, 0, size, 0); - fs4.closeSync(fd); - } catch (e2) { + fd = fs5.openSync(command4, "r"); + fs5.readSync(fd, buffer, 0, size, 0); + fs5.closeSync(fd); + } catch (e3) { } return shebangCommand(buffer.toString()); } @@ -417,7 +424,7 @@ var require_parse = __commonJS({ } return parsed; } - function parse(command2, args, options) { + function parse(command4, args, options) { if (args && !Array.isArray(args)) { options = args; args = null; @@ -425,12 +432,12 @@ var require_parse = __commonJS({ args = args ? args.slice(0) : []; options = Object.assign({}, options); const parsed = { - command: command2, + command: command4, args, options, file: void 0, original: { - command: command2, + command: command4, args } }; @@ -497,14 +504,14 @@ var require_cross_spawn = __commonJS({ var cp = require("child_process"); var parse = require_parse(); var enoent = require_enoent(); - function spawn(command2, args, options) { - const parsed = parse(command2, args, options); + function spawn(command4, args, options) { + const parsed = parse(command4, args, options); const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); enoent.hookChildProcess(spawned, parsed); return spawned; } - function spawnSync(command2, args, options) { - const parsed = parse(command2, args, options); + function spawnSync(command4, args, options) { + const parsed = parse(command4, args, options); const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); return result; @@ -554,11 +561,11 @@ var require_signals = __commonJS({ // node_modules/signal-exit/index.js var require_signal_exit = __commonJS({ "node_modules/signal-exit/index.js"(exports, module2) { - var process5 = global.process; - var processOk = function(process6) { - return process6 && typeof process6 === "object" && typeof process6.removeListener === "function" && typeof process6.emit === "function" && typeof process6.reallyExit === "function" && typeof process6.listeners === "function" && typeof process6.kill === "function" && typeof process6.pid === "number" && typeof process6.on === "function"; + var process9 = global.process; + var processOk = function(process10) { + return process10 && typeof process10 === "object" && typeof process10.removeListener === "function" && typeof process10.emit === "function" && typeof process10.reallyExit === "function" && typeof process10.listeners === "function" && typeof process10.kill === "function" && typeof process10.pid === "number" && typeof process10.on === "function"; }; - if (!processOk(process5)) { + if (!processOk(process9)) { module2.exports = function() { return function() { }; @@ -566,15 +573,15 @@ var require_signal_exit = __commonJS({ } else { assert = require("assert"); signals = require_signals(); - isWin = /^win/i.test(process5.platform); + isWin = /^win/i.test(process9.platform); EE = require("events"); if (typeof EE !== "function") { EE = EE.EventEmitter; } - if (process5.__signal_exit_emitter__) { - emitter = process5.__signal_exit_emitter__; + if (process9.__signal_exit_emitter__) { + emitter = process9.__signal_exit_emitter__; } else { - emitter = process5.__signal_exit_emitter__ = new EE(); + emitter = process9.__signal_exit_emitter__ = new EE(); emitter.count = 0; emitter.emitted = {}; } @@ -611,12 +618,12 @@ var require_signal_exit = __commonJS({ loaded = false; signals.forEach(function(sig) { try { - process5.removeListener(sig, sigListeners[sig]); - } catch (er) { + process9.removeListener(sig, sigListeners[sig]); + } catch (er2) { } }); - process5.emit = originalProcessEmit; - process5.reallyExit = originalProcessReallyExit; + process9.emit = originalProcessEmit; + process9.reallyExit = originalProcessReallyExit; emitter.count -= 1; }; module2.exports.unload = unload; @@ -633,7 +640,7 @@ var require_signal_exit = __commonJS({ if (!processOk(global.process)) { return; } - var listeners = process5.listeners(sig); + var listeners = process9.listeners(sig); if (listeners.length === emitter.count) { unload(); emit("exit", null, sig); @@ -641,7 +648,7 @@ var require_signal_exit = __commonJS({ if (isWin && sig === "SIGHUP") { sig = "SIGINT"; } - process5.kill(process5.pid, sig); + process9.kill(process9.pid, sig); } }; }); @@ -657,35 +664,35 @@ var require_signal_exit = __commonJS({ emitter.count += 1; signals = signals.filter(function(sig) { try { - process5.on(sig, sigListeners[sig]); + process9.on(sig, sigListeners[sig]); return true; - } catch (er) { + } catch (er2) { return false; } }); - process5.emit = processEmit; - process5.reallyExit = processReallyExit; + process9.emit = processEmit; + process9.reallyExit = processReallyExit; }; module2.exports.load = load; - originalProcessReallyExit = process5.reallyExit; + originalProcessReallyExit = process9.reallyExit; processReallyExit = function processReallyExit2(code) { if (!processOk(global.process)) { return; } - process5.exitCode = code || 0; - emit("exit", process5.exitCode, null); - emit("afterexit", process5.exitCode, null); - originalProcessReallyExit.call(process5, process5.exitCode); + process9.exitCode = code || 0; + emit("exit", process9.exitCode, null); + emit("afterexit", process9.exitCode, null); + originalProcessReallyExit.call(process9, process9.exitCode); }; - originalProcessEmit = process5.emit; + originalProcessEmit = process9.emit; processEmit = function processEmit2(ev, arg) { if (ev === "exit" && processOk(global.process)) { if (arg !== void 0) { - process5.exitCode = arg; + process9.exitCode = arg; } var ret = originalProcessEmit.apply(this, arguments); - emit("exit", process5.exitCode, null); - emit("afterexit", process5.exitCode, null); + emit("exit", process9.exitCode, null); + emit("afterexit", process9.exitCode, null); return ret; } else { return originalProcessEmit.apply(this, arguments); @@ -769,7 +776,7 @@ var require_get_stream = __commonJS({ this.name = "MaxBufferError"; } }; - async function getStream2(inputStream, options) { + async function getStream3(inputStream, options) { if (!inputStream) { throw new Error("Expected a stream"); } @@ -802,9 +809,9 @@ var require_get_stream = __commonJS({ }); return stream5.getBufferedValue(); } - module2.exports = getStream2; - module2.exports.buffer = (stream5, options) => getStream2(stream5, { ...options, encoding: "buffer" }); - module2.exports.array = (stream5, options) => getStream2(stream5, { ...options, array: true }); + module2.exports = getStream3; + module2.exports.buffer = (stream5, options) => getStream3(stream5, { ...options, encoding: "buffer" }); + module2.exports.array = (stream5, options) => getStream3(stream5, { ...options, array: true }); module2.exports.MaxBufferError = MaxBufferError; } }); @@ -838,8 +845,8 @@ var require_merge_stream = __commonJS({ return sources.length == 0; } function remove(source) { - sources = sources.filter(function(it) { - return it !== source; + sources = sources.filter(function(it2) { + return it2 !== source; }); if (!sources.length && output.readable) { output.end(); @@ -857,21 +864,21 @@ var require_src = __commonJS({ var CSI = `${ESC}[`; var beep = "\x07"; var cursor = { - to(x4, y5) { - if (!y5) - return `${CSI}${x4 + 1}G`; - return `${CSI}${y5 + 1};${x4 + 1}H`; + to(x5, y6) { + if (!y6) + return `${CSI}${x5 + 1}G`; + return `${CSI}${y6 + 1};${x5 + 1}H`; }, - move(x4, y5) { + move(x5, y6) { let ret = ""; - if (x4 < 0) - ret += `${CSI}${-x4}D`; - else if (x4 > 0) - ret += `${CSI}${x4}C`; - if (y5 < 0) - ret += `${CSI}${-y5}A`; - else if (y5 > 0) - ret += `${CSI}${y5}B`; + if (x5 < 0) + ret += `${CSI}${-x5}D`; + else if (x5 > 0) + ret += `${CSI}${x5}C`; + if (y6 < 0) + ret += `${CSI}${-y6}A`; + else if (y6 > 0) + ret += `${CSI}${y6}B`; return ret; }, up: (count = 1) => `${CSI}${count}A`, @@ -899,8 +906,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i2 = 0; i2 < count; i2++) - clear += this.line + (i2 < count - 1 ? cursor.up() : ""); + for (let i3 = 0; i3 < count; i3++) + clear += this.line + (i3 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -926,33 +933,33 @@ var require_picocolors = __commonJS({ let nextIndex = end.indexOf(close); return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end; }; - var createColors = (enabled = isColorSupported) => ({ - isColorSupported: enabled, - reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, - bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, - dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, - italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, - underline: enabled ? formatter("\x1B[4m", "\x1B[24m") : String, - inverse: enabled ? formatter("\x1B[7m", "\x1B[27m") : String, - hidden: enabled ? formatter("\x1B[8m", "\x1B[28m") : String, - strikethrough: enabled ? formatter("\x1B[9m", "\x1B[29m") : String, - black: enabled ? formatter("\x1B[30m", "\x1B[39m") : String, - red: enabled ? formatter("\x1B[31m", "\x1B[39m") : String, - green: enabled ? formatter("\x1B[32m", "\x1B[39m") : String, - yellow: enabled ? formatter("\x1B[33m", "\x1B[39m") : String, - blue: enabled ? formatter("\x1B[34m", "\x1B[39m") : String, - magenta: enabled ? formatter("\x1B[35m", "\x1B[39m") : String, - cyan: enabled ? formatter("\x1B[36m", "\x1B[39m") : String, - white: enabled ? formatter("\x1B[37m", "\x1B[39m") : String, - gray: enabled ? formatter("\x1B[90m", "\x1B[39m") : String, - bgBlack: enabled ? formatter("\x1B[40m", "\x1B[49m") : String, - bgRed: enabled ? formatter("\x1B[41m", "\x1B[49m") : String, - bgGreen: enabled ? formatter("\x1B[42m", "\x1B[49m") : String, - bgYellow: enabled ? formatter("\x1B[43m", "\x1B[49m") : String, - bgBlue: enabled ? formatter("\x1B[44m", "\x1B[49m") : String, - bgMagenta: enabled ? formatter("\x1B[45m", "\x1B[49m") : String, - bgCyan: enabled ? formatter("\x1B[46m", "\x1B[49m") : String, - bgWhite: enabled ? formatter("\x1B[47m", "\x1B[49m") : String + var createColors = (enabled2 = isColorSupported) => ({ + isColorSupported: enabled2, + reset: enabled2 ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, + bold: enabled2 ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, + dim: enabled2 ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, + italic: enabled2 ? formatter("\x1B[3m", "\x1B[23m") : String, + underline: enabled2 ? formatter("\x1B[4m", "\x1B[24m") : String, + inverse: enabled2 ? formatter("\x1B[7m", "\x1B[27m") : String, + hidden: enabled2 ? formatter("\x1B[8m", "\x1B[28m") : String, + strikethrough: enabled2 ? formatter("\x1B[9m", "\x1B[29m") : String, + black: enabled2 ? formatter("\x1B[30m", "\x1B[39m") : String, + red: enabled2 ? formatter("\x1B[31m", "\x1B[39m") : String, + green: enabled2 ? formatter("\x1B[32m", "\x1B[39m") : String, + yellow: enabled2 ? formatter("\x1B[33m", "\x1B[39m") : String, + blue: enabled2 ? formatter("\x1B[34m", "\x1B[39m") : String, + magenta: enabled2 ? formatter("\x1B[35m", "\x1B[39m") : String, + cyan: enabled2 ? formatter("\x1B[36m", "\x1B[39m") : String, + white: enabled2 ? formatter("\x1B[37m", "\x1B[39m") : String, + gray: enabled2 ? formatter("\x1B[90m", "\x1B[39m") : String, + bgBlack: enabled2 ? formatter("\x1B[40m", "\x1B[49m") : String, + bgRed: enabled2 ? formatter("\x1B[41m", "\x1B[49m") : String, + bgGreen: enabled2 ? formatter("\x1B[42m", "\x1B[49m") : String, + bgYellow: enabled2 ? formatter("\x1B[43m", "\x1B[49m") : String, + bgBlue: enabled2 ? formatter("\x1B[44m", "\x1B[49m") : String, + bgMagenta: enabled2 ? formatter("\x1B[45m", "\x1B[49m") : String, + bgCyan: enabled2 ? formatter("\x1B[46m", "\x1B[49m") : String, + bgWhite: enabled2 ? formatter("\x1B[47m", "\x1B[49m") : String }); module2.exports = createColors(); module2.exports.createColors = createColors; @@ -966,8 +973,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } return fn.apply(thisArg, args); }; @@ -990,10 +997,10 @@ var require_utils = __commonJS({ function isBuffer2(val) { return val !== null && !isUndefined2(val) && val.constructor !== null && !isUndefined2(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val); } - function isArrayBuffer2(val) { + function isArrayBuffer3(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData2(val) { + function isFormData3(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -1001,7 +1008,7 @@ var require_utils = __commonJS({ if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { - result = val && val.buffer && isArrayBuffer2(val.buffer); + result = val && val.buffer && isArrayBuffer3(val.buffer); } return result; } @@ -1011,10 +1018,10 @@ var require_utils = __commonJS({ function isNumber2(val) { return typeof val === "number"; } - function isObject2(val) { + function isObject3(val) { return val !== null && typeof val === "object"; } - function isPlainObject2(val) { + function isPlainObject4(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -1024,17 +1031,17 @@ var require_utils = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile2(val) { + function isFile3(val) { return toString3.call(val) === "[object File]"; } - function isBlob2(val) { + function isBlob4(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction2(val) { + function isFunction4(val) { return toString3.call(val) === "[object Function]"; } function isStream3(val) { - return isObject2(val) && isFunction2(val.pipe); + return isObject3(val) && isFunction4(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -1056,8 +1063,8 @@ var require_utils = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { for (var key in obj) { @@ -1070,9 +1077,9 @@ var require_utils = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject2(result[key]) && isPlainObject2(val)) { + if (isPlainObject4(result[key]) && isPlainObject4(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject2(val)) { + } else if (isPlainObject4(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -1080,20 +1087,20 @@ var require_utils = __commonJS({ result[key] = val; } } - for (var i2 = 0, l = arguments.length; i2 < l; i2++) { - forEach2(arguments[i2], assignValue); + for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + forEach2(arguments[i3], assignValue); } return result; } - function extend2(a2, b6, thisArg) { - forEach2(b6, function assignValue(val, key) { + function extend3(a4, b7, thisArg) { + forEach2(b7, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a2[key] = bind2(val, thisArg); + a4[key] = bind2(val, thisArg); } else { - a2[key] = val; + a4[key] = val; } }); - return a2; + return a4; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -1103,25 +1110,25 @@ var require_utils = __commonJS({ } module2.exports = { isArray: isArray2, - isArrayBuffer: isArrayBuffer2, + isArrayBuffer: isArrayBuffer3, isBuffer: isBuffer2, - isFormData: isFormData2, + isFormData: isFormData3, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, - isObject: isObject2, - isPlainObject: isPlainObject2, + isObject: isObject3, + isPlainObject: isPlainObject4, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile2, - isBlob: isBlob2, - isFunction: isFunction2, + isFile: isFile3, + isBlob: isBlob4, + isFunction: isFunction4, isStream: isStream3, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, forEach: forEach2, merge: merge2, - extend: extend2, + extend: extend3, trim: trim2, stripBOM: stripBOM2 }; @@ -1136,9 +1143,9 @@ var require_buildURL = __commonJS({ function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } - module2.exports = function buildURL2(url3, params, paramsSerializer) { + module2.exports = function buildURL2(url2, params, paramsSerializer) { if (!params) { - return url3; + return url2; } var serializedParams; if (paramsSerializer) { @@ -1156,25 +1163,25 @@ var require_buildURL = __commonJS({ } else { val = [val]; } - utils.forEach(val, function parseValue(v4) { - if (utils.isDate(v4)) { - v4 = v4.toISOString(); - } else if (utils.isObject(v4)) { - v4 = JSON.stringify(v4); + utils.forEach(val, function parseValue(v5) { + if (utils.isDate(v5)) { + v5 = v5.toISOString(); + } else if (utils.isObject(v5)) { + v5 = JSON.stringify(v5); } - parts.push(encode3(key) + "=" + encode3(v4)); + parts.push(encode3(key) + "=" + encode3(v5)); }); }); serializedParams = parts.join("&"); } if (serializedParams) { - var hashmarkIndex = url3.indexOf("#"); + var hashmarkIndex = url2.indexOf("#"); if (hashmarkIndex !== -1) { - url3 = url3.slice(0, hashmarkIndex); + url2 = url2.slice(0, hashmarkIndex); } - url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url3; + return url2; }; } }); @@ -1232,12 +1239,12 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config8, code, request, response) { - error.config = config8; + module2.exports = function enhanceError(error, config10, code, request3, response) { + error.config = config10; if (code) { error.code = code; } - error.request = request; + error.request = request3; error.response = response; error.isAxiosError = true; error.toJSON = function toJSON2() { @@ -1277,9 +1284,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config8, code, request, response) { + module2.exports = function createError(message, config10, code, request3, response) { var error = new Error(message); - return enhanceError(error, config8, code, request, response); + return enhanceError(error, config10, code, request3, response); }; } }); @@ -1311,7 +1318,7 @@ var require_cookies = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { return { write: function write(name, value, expires, path5, domain, secure) { var cookie = []; @@ -1338,7 +1345,7 @@ var require_cookies = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return { write: function write() { }, @@ -1356,8 +1363,8 @@ var require_cookies = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL2(url3) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); + module2.exports = function isAbsoluteURL3(url2) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); }; } }); @@ -1376,10 +1383,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL2 = require_isAbsoluteURL(); + var isAbsoluteURL3 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL2(requestedURL)) { + if (baseURL && !isAbsoluteURL3(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -1415,14 +1422,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i2; + var i3; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i2 = line.indexOf(":"); - key = utils.trim(line.substr(0, i2)).toLowerCase(); - val = utils.trim(line.substr(i2 + 1)); + i3 = line.indexOf(":"); + key = utils.trim(line.substr(0, i3)).toLowerCase(); + val = utils.trim(line.substr(i3 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -1444,12 +1451,12 @@ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; var utils = require_utils(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; - function resolveURL(url3) { - var href = url3; + function resolveURL(url2) { + var href = url2; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -1471,7 +1478,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -1508,45 +1515,45 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config8) { + module2.exports = function xhrAdapter(config10) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config8.data; - var requestHeaders = config8.headers; - var responseType = config8.responseType; + var requestData = config10.data; + var requestHeaders = config10.headers; + var responseType = config10.responseType; var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config10.cancelToken) { + config10.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config10.signal) { + config10.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } - var request = new XMLHttpRequest(); - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + var request3 = new XMLHttpRequest(); + if (config10.auth) { + var username = config10.auth.username || ""; + var password = config10.auth.password ? unescape(encodeURIComponent(config10.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL2(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + var fullPath = buildFullPath2(config10.baseURL, config10.url); + request3.open(config10.method.toUpperCase(), buildURL2(fullPath, config10.params, config10.paramsSerializer), true); + request3.timeout = config10.timeout; function onloadend() { - if (!request) { + if (!request3) { return; } - var responseHeaders = "getAllResponseHeaders" in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; + var responseHeaders = "getAllResponseHeaders" in request3 ? parseHeaders(request3.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === "text" || responseType === "json" ? request3.responseText : request3.response; var response = { data: responseData, - status: request.status, - statusText: request.statusText, + status: request3.status, + statusText: request3.statusText, headers: responseHeaders, - config: config8, - request + config: config10, + request: request3 }; settle2(function _resolve(value) { resolve(value); @@ -1555,91 +1562,91 @@ var require_xhr = __commonJS({ reject(err); done(); }, response); - request = null; + request3 = null; } - if ("onloadend" in request) { - request.onloadend = onloadend; + if ("onloadend" in request3) { + request3.onloadend = onloadend; } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + request3.onreadystatechange = function handleLoad() { + if (!request3 || request3.readyState !== 4) { return; } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { + if (request3.status === 0 && !(request3.responseURL && request3.responseURL.indexOf("file:") === 0)) { return; } setTimeout(onloadend); }; } - request.onabort = function handleAbort() { - if (!request) { + request3.onabort = function handleAbort() { + if (!request3) { return; } - reject(createError("Request aborted", config8, "ECONNABORTED", request)); - request = null; + reject(createError("Request aborted", config10, "ECONNABORTED", request3)); + request3 = null; }; - request.onerror = function handleError() { - reject(createError("Network Error", config8, null, request)); - request = null; + request3.onerror = function handleError() { + reject(createError("Network Error", config10, null, request3)); + request3 = null; }; - request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config8.transitional || transitionalDefaults; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + request3.ontimeout = function handleTimeout() { + var timeoutErrorMessage = config10.timeout ? "timeout of " + config10.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config10.transitional || transitionalDefaults; + if (config10.timeoutErrorMessage) { + timeoutErrorMessage = config10.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config8, + config10, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", - request + request3 )); - request = null; + request3 = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config8.withCredentials || isURLSameOrigin(fullPath)) && config8.xsrfCookieName ? cookies.read(config8.xsrfCookieName) : void 0; + var xsrfValue = (config10.withCredentials || isURLSameOrigin(fullPath)) && config10.xsrfCookieName ? cookies.read(config10.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config8.xsrfHeaderName] = xsrfValue; + requestHeaders[config10.xsrfHeaderName] = xsrfValue; } } - if ("setRequestHeader" in request) { + if ("setRequestHeader" in request3) { utils.forEach(requestHeaders, function setRequestHeader(val, key) { if (typeof requestData === "undefined" && key.toLowerCase() === "content-type") { delete requestHeaders[key]; } else { - request.setRequestHeader(key, val); + request3.setRequestHeader(key, val); } }); } - if (!utils.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils.isUndefined(config10.withCredentials)) { + request3.withCredentials = !!config10.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request3.responseType = config10.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", config8.onDownloadProgress); + if (typeof config10.onDownloadProgress === "function") { + request3.addEventListener("progress", config10.onDownloadProgress); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config8.onUploadProgress); + if (typeof config10.onUploadProgress === "function" && request3.upload) { + request3.upload.addEventListener("progress", config10.onUploadProgress); } - if (config8.cancelToken || config8.signal) { + if (config10.cancelToken || config10.signal) { onCanceled = function(cancel) { - if (!request) { + if (!request3) { return; } reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); - request.abort(); - request = null; + request3.abort(); + request3 = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config10.cancelToken && config10.cancelToken.subscribe(onCanceled); + if (config10.signal) { + config10.signal.aborted ? onCanceled() : config10.signal.addEventListener("abort", onCanceled); } } if (!requestData) { requestData = null; } - request.send(requestData); + request3.send(requestData); }); }; } @@ -1648,18 +1655,18 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s = 1e3; - var m4 = s * 60; - var h4 = m4 * 60; - var d6 = h4 * 24; - var w6 = d6 * 7; - var y5 = d6 * 365.25; + var s2 = 1e3; + var m5 = s2 * 60; + var h4 = m5 * 60; + var d7 = h4 * 24; + var w7 = d7 * 7; + var y6 = d7 * 365.25; module2.exports = function(val, options) { options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { + var type2 = typeof val; + if (type2 === "string" && val.length > 0) { return parse(val); - } else if (type === "number" && isFinite(val)) { + } else if (type2 === "number" && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( @@ -1677,86 +1684,86 @@ var require_ms = __commonJS({ if (!match) { return; } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { + var n2 = parseFloat(match[1]); + var type2 = (match[2] || "ms").toLowerCase(); + switch (type2) { case "years": case "year": case "yrs": case "yr": case "y": - return n * y5; + return n2 * y6; case "weeks": case "week": case "w": - return n * w6; + return n2 * w7; case "days": case "day": case "d": - return n * d6; + return n2 * d7; case "hours": case "hour": case "hrs": case "hr": case "h": - return n * h4; + return n2 * h4; case "minutes": case "minute": case "mins": case "min": case "m": - return n * m4; + return n2 * m5; case "seconds": case "second": case "secs": case "sec": case "s": - return n * s; + return n2 * s2; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n; + return n2; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d6) { - return Math.round(ms / d6) + "d"; + if (msAbs >= d7) { + return Math.round(ms / d7) + "d"; } if (msAbs >= h4) { return Math.round(ms / h4) + "h"; } - if (msAbs >= m4) { - return Math.round(ms / m4) + "m"; + if (msAbs >= m5) { + return Math.round(ms / m5) + "m"; } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; + if (msAbs >= s2) { + return Math.round(ms / s2) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d6) { - return plural(ms, msAbs, d6, "day"); + if (msAbs >= d7) { + return plural(ms, msAbs, d7, "day"); } if (msAbs >= h4) { return plural(ms, msAbs, h4, "hour"); } - if (msAbs >= m4) { - return plural(ms, msAbs, m4, "minute"); + if (msAbs >= m5) { + return plural(ms, msAbs, m5, "minute"); } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); + if (msAbs >= s2) { + return plural(ms, msAbs, s2, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n2, name) { + var isPlural = msAbs >= n2 * 1.5; + return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); } } }); @@ -1768,11 +1775,11 @@ var require_common = __commonJS({ createDebug.debug = createDebug; createDebug.default = createDebug; createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; + createDebug.disable = disable2; + createDebug.enable = enable2; + createDebug.enabled = enabled2; createDebug.humanize = require_ms(); - createDebug.destroy = destroy; + createDebug.destroy = destroy2; Object.keys(env2).forEach((key) => { createDebug[key] = env2[key]; }); @@ -1781,8 +1788,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i2 = 0; i2 < namespace.length; i2++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i2); + for (let i3 = 0; i3 < namespace.length; i3++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i3); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -1793,11 +1800,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug(...args) { - if (!debug.enabled) { + function debug2(...args) { + if (!debug2.enabled) { return; } - const self2 = debug; + const self2 = debug2; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -1827,12 +1834,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend3; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { enumerable: true, configurable: false, get: () => { @@ -1845,33 +1852,33 @@ var require_common = __commonJS({ } return enabledCache; }, - set: (v4) => { - enableOverride = v4; + set: (v5) => { + enableOverride = v5; } }); if (typeof createDebug.init === "function") { - createDebug.init(debug); + createDebug.init(debug2); } - return debug; + return debug2; } - function extend2(namespace, delimiter) { + function extend3(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); newDebug.log = this.log; return newDebug; } - function enable(namespaces) { + function enable2(namespaces) { createDebug.save(namespaces); createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i2; + let i3; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i2 = 0; i2 < len; i2++) { - if (!split[i2]) { + for (i3 = 0; i3 < len; i3++) { + if (!split[i3]) { continue; } - namespaces = split[i2].replace(/\*/g, ".*?"); + namespaces = split[i3].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -1879,7 +1886,7 @@ var require_common = __commonJS({ } } } - function disable() { + function disable2() { const namespaces = [ ...createDebug.names.map(toNamespace), ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) @@ -1887,19 +1894,19 @@ var require_common = __commonJS({ createDebug.enable(""); return namespaces; } - function enabled(name) { + function enabled2(name) { if (name[name.length - 1] === "*") { return true; } - let i2; + let i3; let len; - for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { - if (createDebug.skips[i2].test(name)) { + for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { + if (createDebug.skips[i3].test(name)) { return false; } } - for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { - if (createDebug.names[i2].test(name)) { + for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { + if (createDebug.names[i3].test(name)) { return true; } } @@ -1914,7 +1921,7 @@ var require_common = __commonJS({ } return val; } - function destroy() { + function destroy2() { console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); } createDebug.enable(createDebug.load()); @@ -2061,15 +2068,15 @@ var require_browser = __commonJS({ } } function load() { - let r2; + let r3; try { - r2 = exports.storage.getItem("debug"); + r3 = exports.storage.getItem("debug"); } catch (error) { } - if (!r2 && typeof process !== "undefined" && "env" in process) { - r2 = process.env.DEBUG; + if (!r3 && typeof process !== "undefined" && "env" in process) { + r3 = process.env.DEBUG; } - return r2; + return r3; } function localstorage() { try { @@ -2079,9 +2086,9 @@ var require_browser = __commonJS({ } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.j = function(v4) { + formatters.j = function(v5) { try { - return JSON.stringify(v4); + return JSON.stringify(v5); } catch (error) { return "[UnexpectedJSONParseError]: " + error.message; } @@ -2106,7 +2113,7 @@ var require_has_flag = __commonJS({ var require_supports_color = __commonJS({ "node_modules/supports-color/index.js"(exports, module2) { "use strict"; - var os3 = require("os"); + var os4 = require("os"); var tty2 = require("tty"); var hasFlag2 = require_has_flag(); var { env: env2 } = process; @@ -2154,7 +2161,7 @@ var require_supports_color = __commonJS({ return min; } if (process.platform === "win32") { - const osRelease = os3.release().split("."); + const osRelease = os4.release().split("."); if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { return Number(osRelease[2]) >= 14931 ? 3 : 2; } @@ -2208,14 +2215,14 @@ var require_supports_color = __commonJS({ var require_node = __commonJS({ "node_modules/debug/src/node.js"(exports, module2) { var tty2 = require("tty"); - var util2 = require("util"); + var util3 = require("util"); exports.init = init; - exports.log = log; + exports.log = log2; exports.formatArgs = formatArgs; exports.save = save; exports.load = load; exports.useColors = useColors; - exports.destroy = util2.deprecate( + exports.destroy = util3.deprecate( () => { }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." @@ -2308,8 +2315,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_6, k6) => { - return k6.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_7, k7) => { + return k7.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -2345,8 +2352,8 @@ var require_node = __commonJS({ } return new Date().toISOString() + " "; } - function log(...args) { - return process.stderr.write(util2.format(...args) + "\n"); + function log2(...args) { + return process.stderr.write(util3.format(...args) + "\n"); } function save(namespaces) { if (namespaces) { @@ -2358,22 +2365,22 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug) { - debug.inspectOpts = {}; + function init(debug2) { + debug2.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i2 = 0; i2 < keys.length; i2++) { - debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; + for (let i3 = 0; i3 < keys.length; i3++) { + debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; } } module2.exports = require_common()(exports); var { formatters } = module2.exports; - formatters.o = function(v4) { + formatters.o = function(v5) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v4, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util3.inspect(v5, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; - formatters.O = function(v4) { + formatters.O = function(v5) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v4, this.inspectOpts); + return util3.inspect(v5, this.inspectOpts); }; } }); @@ -2392,19 +2399,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug; + var debug2; module2.exports = function() { - if (!debug) { + if (!debug2) { try { - debug = require_src2()("follow-redirects"); + debug2 = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug !== "function") { - debug = function() { + if (typeof debug2 !== "function") { + debug2 = function() { }; } } - debug.apply(null, arguments); + debug2.apply(null, arguments); }; } }); @@ -2412,13 +2419,32 @@ var require_debug = __commonJS({ // node_modules/follow-redirects/index.js var require_follow_redirects = __commonJS({ "node_modules/follow-redirects/index.js"(exports, module2) { - var url3 = require("url"); - var URL2 = url3.URL; - var http2 = require("http"); - var https2 = require("https"); + var url2 = require("url"); + var URL2 = url2.URL; + var http3 = require("http"); + var https3 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug = require_debug(); + var debug2 = require_debug(); + var useNativeURL = false; + try { + assert(new URL2()); + } catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -2437,7 +2463,8 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded" + "Maximum number of redirects exceeded", + RedirectionError ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -2447,6 +2474,7 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); + var destroy2 = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -2462,15 +2490,25 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - self2._processResponse(response); + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); + } }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); + this._currentRequest.abort(); this.emit("abort"); }; + RedirectableRequest.prototype.destroy = function(error) { + destroyRequest(this._currentRequest, error); + destroy2.call(this, error); + return this; + }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -2478,7 +2516,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction2(encoding)) { + if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -2498,10 +2536,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { + if (isFunction4(data)) { callback = data; data = encoding = null; - } else if (isFunction2(encoding)) { + } else if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -2551,6 +2589,7 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -2570,6 +2609,7 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); + this.on("close", clearTimer); return this; }; [ @@ -2578,8 +2618,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a2, b6) { - return this._currentRequest[method](a2, b6); + RedirectableRequest.prototype[method] = function(a4, b7) { + return this._currentRequest[method](a4, b7); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -2613,34 +2653,33 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - this.emit("error", new TypeError("Unsupported protocol " + protocol)); - return; + throw new TypeError("Unsupported protocol " + protocol); } if (this._options.agents) { var scheme = protocol.slice(0, -1); this._options.agent = this._options.agents[scheme]; } - var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request._redirectable = this; + var request3 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); + request3._redirectable = this; for (var event of events) { - request.on(event, eventHandlers[event]); + request3.on(event, eventHandlers[event]); } - this._currentUrl = /^\//.test(this._options.path) ? url3.format(this._options) : this._options.path; + this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; if (this._isRedirect) { - var i2 = 0; + var i3 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { - if (request === self2._currentRequest) { + if (request3 === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i2 < buffers.length) { - var buffer = buffers[i2++]; - if (!request.finished) { - request.write(buffer.data, buffer.encoding, writeNext); + } else if (i3 < buffers.length) { + var buffer = buffers[i3++]; + if (!request3.finished) { + request3.write(buffer.data, buffer.encoding, writeNext); } } else if (self2._ended) { - request.end(); + request3.end(); } } })(); @@ -2663,11 +2702,10 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; + throw new TooManyRedirectsError(); } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -2683,24 +2721,17 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = url3.parse(this._currentUrl); + var currentUrlParts = parseUrl(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; - var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url3.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl; - try { - redirectUrl = url3.resolve(currentUrl, location); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - return; - } - debug("redirecting to", redirectUrl); + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); + var redirectUrl = resolveUrl(location, currentUrl); + debug2("redirecting to", redirectUrl.href); this._isRedirect = true; - var redirectUrlParts = url3.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { - removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); } - if (isFunction2(beforeRedirect)) { + if (isFunction4(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -2710,19 +2741,10 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - try { - beforeRedirect(this._options, responseDetails, requestDetails); - } catch (err) { - this.emit("error", err); - return; - } + beforeRedirect(this._options, responseDetails, requestDetails); this._sanitizeOptions(this._options); } - try { - this._performRequest(); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - } + this._performRequest(); }; function wrap(protocols) { var exports2 = { @@ -2734,26 +2756,17 @@ var require_follow_redirects = __commonJS({ var protocol = scheme + ":"; var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); - function request(input, options, callback) { - if (isString2(input)) { - var parsed; - try { - parsed = urlToOptions(new URL2(input)); - } catch (err) { - parsed = url3.parse(input); - } - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - input = parsed; - } else if (URL2 && input instanceof URL2) { - input = urlToOptions(input); + function request3(input, options, callback) { + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString2(input)) { + input = spreadUrlObject(parseUrl(input)); } else { callback = options; - options = input; + options = validateUrl(input); input = { protocol }; } - if (isFunction2(options)) { + if (isFunction4(options)) { callback = options; options = null; } @@ -2766,7 +2779,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); + debug2("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -2775,7 +2788,7 @@ var require_follow_redirects = __commonJS({ return wrappedRequest; } Object.defineProperties(wrappedProtocol, { - request: { value: request, configurable: true, enumerable: true, writable: true }, + request: { value: request3, configurable: true, enumerable: true, writable: true }, get: { value: get, configurable: true, enumerable: true, writable: true } }); }); @@ -2783,20 +2796,43 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function urlToOptions(urlObject) { - var options = { - protocol: urlObject.protocol, - hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, - hash: urlObject.hash, - search: urlObject.search, - pathname: urlObject.pathname, - path: urlObject.pathname + urlObject.search, - href: urlObject.href - }; - if (urlObject.port !== "") { - options.port = Number(urlObject.port); + function parseUrl(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url2.parse(input)); + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } } - return options; + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; + } + function spreadUrlObject(urlObject, target) { + var spread3 = target || {}; + for (var key of preservedUrlFields) { + spread3[key] = urlObject[key]; + } + if (spread3.hostname.startsWith("[")) { + spread3.hostname = spread3.hostname.slice(1, -1); + } + if (spread3.port !== "") { + spread3.port = Number(spread3.port); + } + spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; + return spread3; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -2816,16 +2852,24 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - CustomError.prototype.constructor = CustomError; - CustomError.prototype.name = "Error [" + code + "]"; + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false + } + }); return CustomError; } - function abortRequest(request) { + function destroyRequest(request3, error) { for (var event of events) { - request.removeListener(event, eventHandlers[event]); + request3.removeListener(event, eventHandlers[event]); } - request.on("error", noop2); - request.abort(); + request3.on("error", noop2); + request3.destroy(error); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -2835,13 +2879,16 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction2(value) { + function isFunction4(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } - module2.exports = wrap({ http: http2, https: https2 }); + function isURL(value) { + return URL2 && value instanceof URL2; + } + module2.exports = wrap({ http: http3, https: https3 }); module2.exports.wrap = wrap; } }); @@ -2863,13 +2910,13 @@ var require_http = __commonJS({ var settle2 = require_settle(); var buildFullPath2 = require_buildFullPath(); var buildURL2 = require_buildURL(); - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var httpFollow2 = require_follow_redirects().http; var httpsFollow2 = require_follow_redirects().https; - var url3 = require("url"); - var zlib2 = require("zlib"); - var VERSION3 = require_data().version; + var url2 = require("url"); + var zlib3 = require("zlib"); + var VERSION4 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -2889,15 +2936,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config8) { + module2.exports = function httpAdapter2(config10) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config10.cancelToken) { + config10.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config10.signal) { + config10.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -2910,8 +2957,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config8.data; - var headers = config8.headers; + var data = config10.data; + var headers = config10.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -2921,7 +2968,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION3; + headers["User-Agent"] = "axios/" + VERSION4; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -2932,24 +2979,24 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config8 + config10 )); } - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config8)); + if (config10.maxBodyLength > -1 && data.length > config10.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config10)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config8.auth) { - var username = config8.auth.username || ""; - var password = config8.auth.password || ""; + if (config10.auth) { + var username = config10.auth.username || ""; + var password = config10.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config8.baseURL, config8.url); - var parsed = url3.parse(fullPath); + var fullPath = buildFullPath2(config10.baseURL, config10.url); + var parsed = url2.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { var urlAuth = parsed.auth.split(":"); @@ -2961,41 +3008,41 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; + var agent = isHttpsRequest ? config10.httpsAgent : config10.httpAgent; try { - buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config10.params, config10.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config10; + customErr.url = config10.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config8.params, config8.paramsSerializer).replace(/^\?/, ""), - method: config8.method.toUpperCase(), + path: buildURL2(parsed.path, config10.params, config10.paramsSerializer).replace(/^\?/, ""), + method: config10.method.toUpperCase(), headers, agent, - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config10.httpAgent, https: config10.httpsAgent }, auth }; - if (config8.socketPath) { - options.socketPath = config8.socketPath; + if (config10.socketPath) { + options.socketPath = config10.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config8.proxy; + var proxy = config10.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; if (proxyUrl) { - var parsedProxyUrl = url3.parse(proxyUrl); + var parsedProxyUrl = url2.parse(proxyUrl); var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s) { - return s.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s2) { + return s2.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -3032,33 +3079,33 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { - transport = isHttpsProxy ? https2 : http2; + if (config10.transport) { + transport = config10.transport; + } else if (config10.maxRedirects === 0) { + transport = isHttpsProxy ? https3 : http3; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config10.maxRedirects) { + options.maxRedirects = config10.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config10.maxBodyLength > -1) { + options.maxBodyLength = config10.maxBodyLength; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config10.insecureHTTPParser) { + options.insecureHTTPParser = config10.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config8.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config10.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": case "deflate": - stream4 = stream4.pipe(zlib2.createUnzip()); + stream4 = stream4.pipe(zlib3.createUnzip()); delete res.headers["content-encoding"]; break; } @@ -3067,10 +3114,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config8, + config: config10, request: lastRequest }; - if (config8.responseType === "stream") { + if (config10.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -3079,12 +3126,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config10.maxContentLength > -1 && totalResponseBytes > config10.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config8.maxContentLength + " exceeded", - config8, + "maxContentLength size of " + config10.maxContentLength + " exceeded", + config10, null, lastRequest )); @@ -3095,25 +3142,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config8, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config10, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config8, null, lastRequest)); + reject(enhanceError(err, config10, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config8.responseType !== "arraybuffer") { - responseData = responseData.toString(config8.responseEncoding); - if (!config8.responseEncoding || config8.responseEncoding === "utf8") { + if (config10.responseType !== "arraybuffer") { + responseData = responseData.toString(config10.responseEncoding); + if (!config10.responseEncoding || config10.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config8, err.code, response.request, response)); + reject(enhanceError(err, config10, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -3122,17 +3169,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config10, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - var timeout = parseInt(config8.timeout, 10); + if (config10.timeout) { + var timeout = parseInt(config10.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config8, + config10, "ERR_PARSE_TIMEOUT", req )); @@ -3141,35 +3188,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + if (config10.timeoutErrorMessage) { + timeoutErrorMessage = config10.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config8.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config10.timeout + "ms exceeded"; } - var transitional2 = config8.transitional || transitionalDefaults; + var transitional2 = config10.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config8, + config10, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config8.cancelToken || config8.signal) { + if (config10.cancelToken || config10.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config10.cancelToken && config10.cancelToken.subscribe(onCanceled); + if (config10.signal) { + config10.signal.aborted ? onCanceled() : config10.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config8, null, req)); + reject(enhanceError(err, config10, null, req)); }).pipe(req); } else { req.end(data); @@ -3187,7 +3234,7 @@ var require_defaults = __commonJS({ var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE2 = { + var DEFAULT_CONTENT_TYPE = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -3209,9 +3256,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -3247,12 +3294,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw enhanceError(e2, this, "E_JSON_PARSE"); + if (e3.name === "SyntaxError") { + throw enhanceError(e3, this, "E_JSON_PARSE"); } - throw e2; + throw e3; } } } @@ -3272,11 +3319,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); module2.exports = defaults2; } @@ -3317,53 +3364,53 @@ var require_dispatchRequest = __commonJS({ var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config10) { + if (config10.cancelToken) { + config10.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { + if (config10.signal && config10.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config8) { - throwIfCancellationRequested2(config8); - config8.headers = config8.headers || {}; - config8.data = transformData2.call( - config8, - config8.data, - config8.headers, - config8.transformRequest + module2.exports = function dispatchRequest2(config10) { + throwIfCancellationRequested2(config10); + config10.headers = config10.headers || {}; + config10.data = transformData2.call( + config10, + config10.data, + config10.headers, + config10.transformRequest ); - config8.headers = utils.merge( - config8.headers.common || {}, - config8.headers[config8.method] || {}, - config8.headers + config10.headers = utils.merge( + config10.headers.common || {}, + config10.headers[config10.method] || {}, + config10.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config8.headers[method]; + delete config10.headers[method]; } ); - var adapter = config8.adapter || defaults2.adapter; - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config8); + var adapter = config10.adapter || defaults2.adapter; + return adapter(config10).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config10); response.data = transformData2.call( - config8, + config10, response.data, response.headers, - config8.transformResponse + config10.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config8); + throwIfCancellationRequested2(config10); if (reason && reason.response) { reason.response.data = transformData2.call( - config8, + config10, reason.response.data, reason.response.headers, - config8.transformResponse + config10.transformResponse ); } } @@ -3380,7 +3427,7 @@ var require_mergeConfig = __commonJS({ var utils = require_utils(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config8 = {}; + var config10 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -3448,9 +3495,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config10[prop] = configValue); }); - return config8; + return config10; }; } }); @@ -3459,17 +3506,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { - validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type2, i3) { + validators3[type2] = function validator(thing) { + return typeof thing === type2 || "a" + (i3 < 1 ? "n " : " ") + type2; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -3492,9 +3539,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i2 = keys.length; - while (i2-- > 0) { - var opt = keys[i2]; + var i3 = keys.length; + while (i3-- > 0) { + var opt = keys[i3]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -3534,22 +3581,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config8) { + Axios3.prototype.request = function request3(configOrUrl, config10) { if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; + config10 = config10 || {}; + config10.url = configOrUrl; } else { - config8 = configOrUrl || {}; + config10 = configOrUrl || {}; } - config8 = mergeConfig3(this.defaults, config8); - if (config8.method) { - config8.method = config8.method.toLowerCase(); + config10 = mergeConfig3(this.defaults, config10); + if (config10.method) { + config10.method = config10.method.toLowerCase(); } else if (this.defaults.method) { - config8.method = this.defaults.method.toLowerCase(); + config10.method = this.defaults.method.toLowerCase(); } else { - config8.method = "get"; + config10.method = "get"; } - var transitional2 = config8.transitional; + var transitional2 = config10.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -3560,7 +3607,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config10) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -3575,13 +3622,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config8); + promise = Promise.resolve(config10); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config8; + var newConfig = config10; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -3602,24 +3649,24 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config8) { - config8 = mergeConfig3(this.defaults, config8); - return buildURL2(config8.url, config8.params, config8.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config10) { + config10 = mergeConfig3(this.defaults, config10); + return buildURL2(config10.url, config10.params, config10.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { - Axios3.prototype[method] = function(url3, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios3.prototype[method] = function(url2, config10) { + return this.request(mergeConfig3(config10 || {}, { method, - url: url3, - data: (config8 || {}).data + url: url2, + data: (config10 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - Axios3.prototype[method] = function(url3, data, config8) { - return this.request(mergeConfig3(config8 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + Axios3.prototype[method] = function(url2, data, config10) { + return this.request(mergeConfig3(config10 || {}, { method, - url: url3, + url: url2, data })); }; @@ -3645,10 +3692,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i2; - var l = token._listeners.length; - for (i2 = 0; i2 < l; i2++) { - token._listeners[i2](cancel); + var i3; + var l3 = token._listeners.length; + for (i3 = 0; i3 < l3; i3++) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -3790,8 +3837,8 @@ var require_base = __commonJS({ pipes: "|" }; var BaseAPI = class { - constructor(configuration, basePath2 = exports.BASE_PATH, axios2 = axios_1.default) { - this.basePath = basePath2; + constructor(configuration, basePath3 = exports.BASE_PATH, axios2 = axios_1.default) { + this.basePath = basePath3; this.axios = axios2; if (configuration) { this.configuration = configuration; @@ -3815,25 +3862,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P4 ? value : new P4(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P4 || (P4 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3852,7 +3899,7 @@ var require_common2 = __commonJS({ } }; exports.setApiKeyToObject = function(object, keyParamName, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === "function" ? yield configuration.apiKey(keyParamName) : yield configuration.apiKey; object[keyParamName] = localVarApiKeyValue; @@ -3865,7 +3912,7 @@ var require_common2 = __commonJS({ } }; exports.setBearerAuthToObject = function(object, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.accessToken) { const accessToken = typeof configuration.accessToken === "function" ? yield configuration.accessToken() : yield configuration.accessToken; object["Authorization"] = "Bearer " + accessToken; @@ -3873,7 +3920,7 @@ var require_common2 = __commonJS({ }); }; exports.setOAuthToObject = function(object, name, scopes, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.accessToken) { const localVarAccessTokenValue = typeof configuration.accessToken === "function" ? yield configuration.accessToken(name, scopes) : yield configuration.accessToken; object["Authorization"] = "Bearer " + localVarAccessTokenValue; @@ -3897,22 +3944,22 @@ var require_common2 = __commonJS({ } } } - exports.setSearchParams = function(url3, ...objects) { - const searchParams = new URLSearchParams(url3.search); + exports.setSearchParams = function(url2, ...objects) { + const searchParams = new URLSearchParams(url2.search); setFlattenedQueryParams(searchParams, objects); - url3.search = searchParams.toString(); + url2.search = searchParams.toString(); }; exports.serializeDataIfNeeded = function(value, requestOptions, configuration) { const nonString = typeof value !== "string"; const needsSerialization = nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers["Content-Type"]) : nonString; return needsSerialization ? JSON.stringify(value !== void 0 ? value : {}) : value || ""; }; - exports.toPathString = function(url3) { - return url3.pathname + url3.search + url3.hash; + exports.toPathString = function(url2) { + return url2.pathname + url2.search + url2.hash; }; exports.createRequestFunction = function(axiosArgs, globalAxios, BASE_PATH, configuration) { - return (axios2 = globalAxios, basePath2 = BASE_PATH) => { - const axiosRequestArgs = Object.assign(Object.assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath2) + axiosArgs.url }); + return (axios2 = globalAxios, basePath3 = BASE_PATH) => { + const axiosRequestArgs = Object.assign(Object.assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath3) + axiosArgs.url }); return axios2.request(axiosRequestArgs); }; }; @@ -3923,25 +3970,25 @@ var require_common2 = __commonJS({ var require_api = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P4, generator) { function adopt(value) { - return value instanceof P3 ? value : new P3(function(resolve) { + return value instanceof P4 ? value : new P4(function(resolve) { resolve(value); }); } - return new (P3 || (P3 = Promise))(function(resolve, reject) { + return new (P4 || (P4 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3958,12 +4005,14 @@ var require_api = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -3976,7 +4025,7 @@ var require_api = __commonJS({ }; exports.OpenAIApiAxiosParamCreator = function(configuration) { return { - cancelFineTune: (fineTuneId, options = {}) => __awaiter(this, void 0, void 0, function* () { + cancelFineTune: (fineTuneId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("cancelFineTune", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}/cancel`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -3995,7 +4044,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createAnswer: (createAnswerRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createAnswer: (createAnswerRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createAnswer", "createAnswerRequest", createAnswerRequest); const localVarPath = `/answers`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4016,7 +4065,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createChatCompletion: (createChatCompletionRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createChatCompletion: (createChatCompletionRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createChatCompletion", "createChatCompletionRequest", createChatCompletionRequest); const localVarPath = `/chat/completions`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4037,7 +4086,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createClassification: (createClassificationRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createClassification: (createClassificationRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createClassification", "createClassificationRequest", createClassificationRequest); const localVarPath = `/classifications`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4058,7 +4107,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createCompletion: (createCompletionRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createCompletion: (createCompletionRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createCompletion", "createCompletionRequest", createCompletionRequest); const localVarPath = `/completions`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4079,7 +4128,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createEdit: (createEditRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createEdit: (createEditRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createEdit", "createEditRequest", createEditRequest); const localVarPath = `/edits`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4100,7 +4149,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createEmbedding: (createEmbeddingRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createEmbedding: (createEmbeddingRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createEmbedding", "createEmbeddingRequest", createEmbeddingRequest); const localVarPath = `/embeddings`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4121,7 +4170,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createFile: (file, purpose, options = {}) => __awaiter(this, void 0, void 0, function* () { + createFile: (file, purpose, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createFile", "file", file); common_1.assertParamExists("createFile", "purpose", purpose); const localVarPath = `/files`; @@ -4150,7 +4199,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createFineTune: (createFineTuneRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createFineTune: (createFineTuneRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createFineTune", "createFineTuneRequest", createFineTuneRequest); const localVarPath = `/fine-tunes`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4171,7 +4220,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImage: (createImageRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImage: (createImageRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImage", "createImageRequest", createImageRequest); const localVarPath = `/images/generations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4192,7 +4241,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -4214,8 +4263,8 @@ var require_api = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4236,7 +4285,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4251,8 +4300,8 @@ var require_api = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -4273,7 +4322,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createModeration: (createModerationRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createModeration: (createModerationRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createModeration", "createModerationRequest", createModerationRequest); const localVarPath = `/moderations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4294,7 +4343,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createSearch: (engineId, createSearchRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createSearch: (engineId, createSearchRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createSearch", "engineId", engineId); common_1.assertParamExists("createSearch", "createSearchRequest", createSearchRequest); const localVarPath = `/engines/{engine_id}/search`.replace(`{${"engine_id"}}`, encodeURIComponent(String(engineId))); @@ -4316,7 +4365,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createTranscription: (file, model, prompt, responseFormat, temperature, language, options = {}) => __awaiter(this, void 0, void 0, function* () { + createTranscription: (file, model, prompt, responseFormat, temperature, language, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createTranscription", "file", file); common_1.assertParamExists("createTranscription", "model", model); const localVarPath = `/audio/transcriptions`; @@ -4357,7 +4406,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createTranslation: (file, model, prompt, responseFormat, temperature, options = {}) => __awaiter(this, void 0, void 0, function* () { + createTranslation: (file, model, prompt, responseFormat, temperature, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createTranslation", "file", file); common_1.assertParamExists("createTranslation", "model", model); const localVarPath = `/audio/translations`; @@ -4395,7 +4444,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - deleteFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + deleteFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("deleteFile", "fileId", fileId); const localVarPath = `/files/{file_id}`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4414,7 +4463,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - deleteModel: (model, options = {}) => __awaiter(this, void 0, void 0, function* () { + deleteModel: (model, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("deleteModel", "model", model); const localVarPath = `/models/{model}`.replace(`{${"model"}}`, encodeURIComponent(String(model))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4433,7 +4482,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - downloadFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + downloadFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("downloadFile", "fileId", fileId); const localVarPath = `/files/{file_id}/content`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4452,7 +4501,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listEngines: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listEngines: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/engines`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -4470,7 +4519,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFiles: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listFiles: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/files`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -4488,7 +4537,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFineTuneEvents: (fineTuneId, stream4, options = {}) => __awaiter(this, void 0, void 0, function* () { + listFineTuneEvents: (fineTuneId, stream4, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("listFineTuneEvents", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}/events`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4510,7 +4559,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFineTunes: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listFineTunes: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/fine-tunes`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -4528,7 +4577,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listModels: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listModels: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/models`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -4546,7 +4595,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveEngine: (engineId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveEngine: (engineId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveEngine", "engineId", engineId); const localVarPath = `/engines/{engine_id}`.replace(`{${"engine_id"}}`, encodeURIComponent(String(engineId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4565,7 +4614,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveFile", "fileId", fileId); const localVarPath = `/files/{file_id}`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4584,7 +4633,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveFineTune: (fineTuneId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveFineTune: (fineTuneId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveFineTune", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4603,7 +4652,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveModel: (model, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveModel: (model, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveModel", "model", model); const localVarPath = `/models/{model}`.replace(`{${"model"}}`, encodeURIComponent(String(model))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -4628,348 +4677,348 @@ var require_api = __commonJS({ const localVarAxiosParamCreator = exports.OpenAIApiAxiosParamCreator(configuration); return { cancelFineTune(fineTuneId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.cancelFineTune(fineTuneId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createAnswer(createAnswerRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createAnswer(createAnswerRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createChatCompletion(createChatCompletionRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createChatCompletion(createChatCompletionRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createClassification(createClassificationRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createClassification(createClassificationRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createCompletion(createCompletionRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createCompletion(createCompletionRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createEdit(createEditRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createEdit(createEditRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createEmbedding(createEmbeddingRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createEmbedding(createEmbeddingRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createFile(file, purpose, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createFile(file, purpose, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createFineTune(createFineTuneRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createFineTune(createFineTuneRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createImage(createImageRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createImage(createImageRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return __awaiter2(this, void 0, void 0, function* () { + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); + createImageVariation(image, n2, size, responseFormat, user, options) { + return __awaiter2(this, void 0, void 0, function* () { + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createModeration(createModerationRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createModeration(createModerationRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createSearch(engineId, createSearchRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createSearch(engineId, createSearchRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createTranscription(file, model, prompt, responseFormat, temperature, language, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createTranslation(file, model, prompt, responseFormat, temperature, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createTranslation(file, model, prompt, responseFormat, temperature, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, deleteFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.deleteFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, deleteModel(model, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.deleteModel(model, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, downloadFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.downloadFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listEngines(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listEngines(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFiles(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFiles(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFineTuneEvents(fineTuneId, stream4, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFineTuneEvents(fineTuneId, stream4, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFineTunes(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFineTunes(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listModels(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listModels(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveEngine(engineId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveEngine(engineId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveFineTune(fineTuneId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveFineTune(fineTuneId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveModel(model, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveModel(model, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); } }; }; - exports.OpenAIApiFactory = function(configuration, basePath2, axios2) { + exports.OpenAIApiFactory = function(configuration, basePath3, axios2) { const localVarFp = exports.OpenAIApiFp(configuration); return { cancelFineTune(fineTuneId, options) { - return localVarFp.cancelFineTune(fineTuneId, options).then((request) => request(axios2, basePath2)); + return localVarFp.cancelFineTune(fineTuneId, options).then((request3) => request3(axios2, basePath3)); }, createAnswer(createAnswerRequest, options) { - return localVarFp.createAnswer(createAnswerRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createAnswer(createAnswerRequest, options).then((request3) => request3(axios2, basePath3)); }, createChatCompletion(createChatCompletionRequest, options) { - return localVarFp.createChatCompletion(createChatCompletionRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createChatCompletion(createChatCompletionRequest, options).then((request3) => request3(axios2, basePath3)); }, createClassification(createClassificationRequest, options) { - return localVarFp.createClassification(createClassificationRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createClassification(createClassificationRequest, options).then((request3) => request3(axios2, basePath3)); }, createCompletion(createCompletionRequest, options) { - return localVarFp.createCompletion(createCompletionRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createCompletion(createCompletionRequest, options).then((request3) => request3(axios2, basePath3)); }, createEdit(createEditRequest, options) { - return localVarFp.createEdit(createEditRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createEdit(createEditRequest, options).then((request3) => request3(axios2, basePath3)); }, createEmbedding(createEmbeddingRequest, options) { - return localVarFp.createEmbedding(createEmbeddingRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createEmbedding(createEmbeddingRequest, options).then((request3) => request3(axios2, basePath3)); }, createFile(file, purpose, options) { - return localVarFp.createFile(file, purpose, options).then((request) => request(axios2, basePath2)); + return localVarFp.createFile(file, purpose, options).then((request3) => request3(axios2, basePath3)); }, createFineTune(createFineTuneRequest, options) { - return localVarFp.createFineTune(createFineTuneRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createFineTune(createFineTuneRequest, options).then((request3) => request3(axios2, basePath3)); }, createImage(createImageRequest, options) { - return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createImage(createImageRequest, options).then((request3) => request3(axios2, basePath3)); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request3) => request3(axios2, basePath3)); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request3) => request3(axios2, basePath3)); }, createModeration(createModerationRequest, options) { - return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createModeration(createModerationRequest, options).then((request3) => request3(axios2, basePath3)); }, createSearch(engineId, createSearchRequest, options) { - return localVarFp.createSearch(engineId, createSearchRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createSearch(engineId, createSearchRequest, options).then((request3) => request3(axios2, basePath3)); }, createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return localVarFp.createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request) => request(axios2, basePath2)); + return localVarFp.createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request3) => request3(axios2, basePath3)); }, createTranslation(file, model, prompt, responseFormat, temperature, options) { - return localVarFp.createTranslation(file, model, prompt, responseFormat, temperature, options).then((request) => request(axios2, basePath2)); + return localVarFp.createTranslation(file, model, prompt, responseFormat, temperature, options).then((request3) => request3(axios2, basePath3)); }, deleteFile(fileId, options) { - return localVarFp.deleteFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.deleteFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, deleteModel(model, options) { - return localVarFp.deleteModel(model, options).then((request) => request(axios2, basePath2)); + return localVarFp.deleteModel(model, options).then((request3) => request3(axios2, basePath3)); }, downloadFile(fileId, options) { - return localVarFp.downloadFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.downloadFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, listEngines(options) { - return localVarFp.listEngines(options).then((request) => request(axios2, basePath2)); + return localVarFp.listEngines(options).then((request3) => request3(axios2, basePath3)); }, listFiles(options) { - return localVarFp.listFiles(options).then((request) => request(axios2, basePath2)); + return localVarFp.listFiles(options).then((request3) => request3(axios2, basePath3)); }, listFineTuneEvents(fineTuneId, stream4, options) { - return localVarFp.listFineTuneEvents(fineTuneId, stream4, options).then((request) => request(axios2, basePath2)); + return localVarFp.listFineTuneEvents(fineTuneId, stream4, options).then((request3) => request3(axios2, basePath3)); }, listFineTunes(options) { - return localVarFp.listFineTunes(options).then((request) => request(axios2, basePath2)); + return localVarFp.listFineTunes(options).then((request3) => request3(axios2, basePath3)); }, listModels(options) { - return localVarFp.listModels(options).then((request) => request(axios2, basePath2)); + return localVarFp.listModels(options).then((request3) => request3(axios2, basePath3)); }, retrieveEngine(engineId, options) { - return localVarFp.retrieveEngine(engineId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveEngine(engineId, options).then((request3) => request3(axios2, basePath3)); }, retrieveFile(fileId, options) { - return localVarFp.retrieveFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, retrieveFineTune(fineTuneId, options) { - return localVarFp.retrieveFineTune(fineTuneId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveFineTune(fineTuneId, options).then((request3) => request3(axios2, basePath3)); }, retrieveModel(model, options) { - return localVarFp.retrieveModel(model, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveModel(model, options).then((request3) => request3(axios2, basePath3)); } }; }; var OpenAIApi2 = class extends base_1.BaseAPI { cancelFineTune(fineTuneId, options) { - return exports.OpenAIApiFp(this.configuration).cancelFineTune(fineTuneId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).cancelFineTune(fineTuneId, options).then((request3) => request3(this.axios, this.basePath)); } createAnswer(createAnswerRequest, options) { - return exports.OpenAIApiFp(this.configuration).createAnswer(createAnswerRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createAnswer(createAnswerRequest, options).then((request3) => request3(this.axios, this.basePath)); } createChatCompletion(createChatCompletionRequest, options) { - return exports.OpenAIApiFp(this.configuration).createChatCompletion(createChatCompletionRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createChatCompletion(createChatCompletionRequest, options).then((request3) => request3(this.axios, this.basePath)); } createClassification(createClassificationRequest, options) { - return exports.OpenAIApiFp(this.configuration).createClassification(createClassificationRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createClassification(createClassificationRequest, options).then((request3) => request3(this.axios, this.basePath)); } createCompletion(createCompletionRequest, options) { - return exports.OpenAIApiFp(this.configuration).createCompletion(createCompletionRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createCompletion(createCompletionRequest, options).then((request3) => request3(this.axios, this.basePath)); } createEdit(createEditRequest, options) { - return exports.OpenAIApiFp(this.configuration).createEdit(createEditRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createEdit(createEditRequest, options).then((request3) => request3(this.axios, this.basePath)); } createEmbedding(createEmbeddingRequest, options) { - return exports.OpenAIApiFp(this.configuration).createEmbedding(createEmbeddingRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createEmbedding(createEmbeddingRequest, options).then((request3) => request3(this.axios, this.basePath)); } createFile(file, purpose, options) { - return exports.OpenAIApiFp(this.configuration).createFile(file, purpose, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createFile(file, purpose, options).then((request3) => request3(this.axios, this.basePath)); } createFineTune(createFineTuneRequest, options) { - return exports.OpenAIApiFp(this.configuration).createFineTune(createFineTuneRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createFineTune(createFineTuneRequest, options).then((request3) => request3(this.axios, this.basePath)); } createImage(createImageRequest, options) { - return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request3) => request3(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request3) => request3(this.axios, this.basePath)); } - createImageVariation(image, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request3) => request3(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { - return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request3) => request3(this.axios, this.basePath)); } createSearch(engineId, createSearchRequest, options) { - return exports.OpenAIApiFp(this.configuration).createSearch(engineId, createSearchRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createSearch(engineId, createSearchRequest, options).then((request3) => request3(this.axios, this.basePath)); } createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return exports.OpenAIApiFp(this.configuration).createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request3) => request3(this.axios, this.basePath)); } createTranslation(file, model, prompt, responseFormat, temperature, options) { - return exports.OpenAIApiFp(this.configuration).createTranslation(file, model, prompt, responseFormat, temperature, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createTranslation(file, model, prompt, responseFormat, temperature, options).then((request3) => request3(this.axios, this.basePath)); } deleteFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).deleteFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).deleteFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } deleteModel(model, options) { - return exports.OpenAIApiFp(this.configuration).deleteModel(model, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).deleteModel(model, options).then((request3) => request3(this.axios, this.basePath)); } downloadFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).downloadFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).downloadFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } listEngines(options) { - return exports.OpenAIApiFp(this.configuration).listEngines(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listEngines(options).then((request3) => request3(this.axios, this.basePath)); } listFiles(options) { - return exports.OpenAIApiFp(this.configuration).listFiles(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFiles(options).then((request3) => request3(this.axios, this.basePath)); } listFineTuneEvents(fineTuneId, stream4, options) { - return exports.OpenAIApiFp(this.configuration).listFineTuneEvents(fineTuneId, stream4, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFineTuneEvents(fineTuneId, stream4, options).then((request3) => request3(this.axios, this.basePath)); } listFineTunes(options) { - return exports.OpenAIApiFp(this.configuration).listFineTunes(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFineTunes(options).then((request3) => request3(this.axios, this.basePath)); } listModels(options) { - return exports.OpenAIApiFp(this.configuration).listModels(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listModels(options).then((request3) => request3(this.axios, this.basePath)); } retrieveEngine(engineId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveEngine(engineId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveEngine(engineId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveFineTune(fineTuneId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveFineTune(fineTuneId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveFineTune(fineTuneId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveModel(model, options) { - return exports.OpenAIApiFp(this.configuration).retrieveModel(model, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveModel(model, options).then((request3) => request3(this.axios, this.basePath)); } }; exports.OpenAIApi = OpenAIApi2; @@ -4981,7 +5030,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.2.1", + version: "3.3.0", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -5016,8 +5065,8 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream = require("stream").Stream; - var util2 = require("util"); + var Stream2 = require("stream").Stream; + var util3 = require("util"); module2.exports = DelayedStream; function DelayedStream() { this.source = null; @@ -5028,7 +5077,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream); + util3.inherits(DelayedStream, Stream2); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -5075,9 +5124,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r2 = Stream.prototype.pipe.apply(this, arguments); + var r3 = Stream2.prototype.pipe.apply(this, arguments); this.resume(); - return r2; + return r3; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -5107,8 +5156,8 @@ var require_delayed_stream = __commonJS({ // node_modules/combined-stream/lib/combined_stream.js var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { - var util2 = require("util"); - var Stream = require("stream").Stream; + var util3 = require("util"); + var Stream2 = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -5123,7 +5172,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream); + util3.inherits(CombinedStream, Stream2); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -5155,7 +5204,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); + Stream2.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -5185,8 +5234,8 @@ var require_combined_stream = __commonJS({ this._pipeNext(stream4); return; } - var getStream2 = stream4; - getStream2(function(stream5) { + var getStream3 = stream4; + getStream3(function(stream5) { var isStreamLike = CombinedStream.isStreamLike(stream5); if (isStreamLike) { stream5.on("data", this._checkDataSize.bind(this)); @@ -13823,11 +13872,11 @@ var require_mime_types = __commonJS({ exports.lookup = lookup; exports.types = /* @__PURE__ */ Object.create(null); populateMaps(exports.extensions, exports.types); - function charset(type) { - if (!type || typeof type !== "string") { + function charset(type2) { + if (!type2 || typeof type2 !== "string") { return false; } - var match = EXTRACT_TYPE_REGEXP.exec(type); + var match = EXTRACT_TYPE_REGEXP.exec(type2); var mime = match && db[match[1].toLowerCase()]; if (mime && mime.charset) { return mime.charset; @@ -13852,11 +13901,11 @@ var require_mime_types = __commonJS({ } return mime; } - function extension(type) { - if (!type || typeof type !== "string") { + function extension(type2) { + if (!type2 || typeof type2 !== "string") { return false; } - var match = EXTRACT_TYPE_REGEXP.exec(type); + var match = EXTRACT_TYPE_REGEXP.exec(type2); var exts = match && exports.extensions[match[1].toLowerCase()]; if (!exts || !exts.length) { return false; @@ -13875,15 +13924,15 @@ var require_mime_types = __commonJS({ } function populateMaps(extensions, types) { var preference = ["nginx", "apache", void 0, "iana"]; - Object.keys(db).forEach(function forEachMimeType(type) { - var mime = db[type]; + Object.keys(db).forEach(function forEachMimeType(type2) { + var mime = db[type2]; var exts = mime.extensions; if (!exts || !exts.length) { return; } - extensions[type] = exts; - for (var i2 = 0; i2 < exts.length; i2++) { - var extension2 = exts[i2]; + extensions[type2] = exts; + for (var i3 = 0; i3 < exts.length; i3++) { + var extension2 = exts[i3]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -13891,7 +13940,7 @@ var require_mime_types = __commonJS({ continue; } } - types[extension2] = type; + types[extension2] = type2; } }); } @@ -13940,9 +13989,9 @@ var require_async = __commonJS({ var require_abort = __commonJS({ "node_modules/asynckit/lib/abort.js"(exports, module2) { module2.exports = abort; - function abort(state) { - Object.keys(state.jobs).forEach(clean.bind(state)); - state.jobs = {}; + function abort(state2) { + Object.keys(state2.jobs).forEach(clean.bind(state2)); + state2.jobs = {}; } function clean(key) { if (typeof this.jobs[key] == "function") { @@ -13958,19 +14007,19 @@ var require_iterate = __commonJS({ var async = require_async(); var abort = require_abort(); module2.exports = iterate; - function iterate(list, iterator, state, callback) { - var key = state["keyedList"] ? state["keyedList"][state.index] : state.index; - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) { - if (!(key in state.jobs)) { + function iterate(list, iterator, state2, callback) { + var key = state2["keyedList"] ? state2["keyedList"][state2.index] : state2.index; + state2.jobs[key] = runJob(iterator, key, list[key], function(error, output) { + if (!(key in state2.jobs)) { return; } - delete state.jobs[key]; + delete state2.jobs[key]; if (error) { - abort(state); + abort(state2); } else { - state.results[key] = output; + state2.results[key] = output; } - callback(error, state.results); + callback(error, state2.results); }); } function runJob(iterator, key, item, callback) { @@ -13988,8 +14037,8 @@ var require_iterate = __commonJS({ // node_modules/asynckit/lib/state.js var require_state = __commonJS({ "node_modules/asynckit/lib/state.js"(exports, module2) { - module2.exports = state; - function state(list, sortMethod) { + module2.exports = state2; + function state2(list, sortMethod) { var isNamedList = !Array.isArray(list), initState = { index: 0, keyedList: isNamedList || sortMethod ? Object.keys(list) : null, @@ -13998,8 +14047,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b6) { - return sortMethod(list[a2], list[b6]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a4, b7) { + return sortMethod(list[a4], list[b7]); }); } return initState; @@ -14032,21 +14081,21 @@ var require_parallel = __commonJS({ var terminator = require_terminator(); module2.exports = parallel; function parallel(list, iterator, callback) { - var state = initState(list); - while (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, function(error, result) { + var state2 = initState(list); + while (state2.index < (state2["keyedList"] || list).length) { + iterate(list, iterator, state2, function(error, result) { if (error) { callback(error, result); return; } - if (Object.keys(state.jobs).length === 0) { - callback(null, state.results); + if (Object.keys(state2.jobs).length === 0) { + callback(null, state2.results); return; } }); - state.index++; + state2.index++; } - return terminator.bind(state, callback); + return terminator.bind(state2, callback); } } }); @@ -14061,26 +14110,26 @@ var require_serialOrdered = __commonJS({ module2.exports.ascending = ascending; module2.exports.descending = descending; function serialOrdered(list, iterator, sortMethod, callback) { - var state = initState(list, sortMethod); - iterate(list, iterator, state, function iteratorHandler(error, result) { + var state2 = initState(list, sortMethod); + iterate(list, iterator, state2, function iteratorHandler(error, result) { if (error) { callback(error, result); return; } - state.index++; - if (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, iteratorHandler); + state2.index++; + if (state2.index < (state2["keyedList"] || list).length) { + iterate(list, iterator, state2, iteratorHandler); return; } - callback(null, state.results); + callback(null, state2.results); }); - return terminator.bind(state, callback); + return terminator.bind(state2, callback); } - function ascending(a2, b6) { - return a2 < b6 ? -1 : a2 > b6 ? 1 : 0; + function ascending(a4, b7) { + return a4 < b7 ? -1 : a4 > b7 ? 1 : 0; } - function descending(a2, b6) { - return -1 * ascending(a2, b6); + function descending(a4, b7) { + return -1 * ascending(a4, b7); } } }); @@ -14123,21 +14172,21 @@ var require_populate = __commonJS({ var require_form_data = __commonJS({ "node_modules/form-data/lib/form_data.js"(exports, module2) { var CombinedStream = require_combined_stream(); - var util2 = require("util"); + var util3 = require("util"); var path5 = require("path"); - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var parseUrl = require("url").parse; - var fs4 = require("fs"); - var Stream = require("stream").Stream; + var fs5 = require("fs"); + var Stream2 = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); + module2.exports = FormData5; + util3.inherits(FormData5, CombinedStream); + function FormData5(options) { + if (!(this instanceof FormData5)) { + return new FormData5(options); } this._overheadLength = 0; this._valueLength = 0; @@ -14148,9 +14197,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { + FormData5.LINE_BREAK = "\r\n"; + FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData5.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -14159,7 +14208,7 @@ var require_form_data = __commonJS({ if (typeof value == "number") { value = "" + value; } - if (util2.isArray(value)) { + if (util3.isArray(value)) { this._error(new Error("Arrays are not supported.")); return; } @@ -14170,7 +14219,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData3.prototype._trackLength = function(header, value, options) { + FormData5.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -14180,20 +14229,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { + this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData3.prototype._lengthRetriever = function(value, callback) { + FormData5.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs4.stat(value.path, function(err, stat) { + fs5.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -14215,7 +14264,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData3.prototype._multiPartHeader = function(field, value, options) { + FormData5.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -14241,12 +14290,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; + return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; }; - FormData3.prototype._getContentDisposition = function(value, options) { + FormData5.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path5.normalize(options.filepath).replace(/\\/g, "/"); @@ -14260,7 +14309,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData3.prototype._getContentType = function(value, options) { + FormData5.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -14275,13 +14324,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; + contentType = FormData5.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData3.prototype._multiPartFooter = function() { + FormData5.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData3.LINE_BREAK; + var footer = FormData5.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -14289,10 +14338,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; + FormData5.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; }; - FormData3.prototype.getHeaders = function(userHeaders) { + FormData5.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -14304,40 +14353,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData3.prototype.setBoundary = function(boundary) { + FormData5.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData3.prototype.getBoundary = function() { + FormData5.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData3.prototype.getBuffer = function() { + FormData5.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { - if (typeof this._streams[i2] !== "function") { - if (Buffer.isBuffer(this._streams[i2])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); + for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { + if (typeof this._streams[i3] !== "function") { + if (Buffer.isBuffer(this._streams[i3])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); } - if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); + if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData3.prototype._generateBoundary = function() { + FormData5.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i2 = 0; i2 < 24; i2++) { + for (var i3 = 0; i3 < 24; i3++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData3.prototype.getLengthSync = function() { + FormData5.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14347,14 +14396,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData3.prototype.hasKnownLength = function() { + FormData5.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData3.prototype.getLength = function(cb) { + FormData5.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -14374,8 +14423,8 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData3.prototype.submit = function(params, cb) { - var request, options, defaults2 = { method: "post" }; + FormData5.prototype.submit = function(params, cb) { + var request3, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); options = populate({ @@ -14392,9 +14441,9 @@ var require_form_data = __commonJS({ } options.headers = this.getHeaders(params.headers); if (options.protocol == "https:") { - request = https2.request(options); + request3 = https3.request(options); } else { - request = http2.request(options); + request3 = http3.request(options); } this.getLength(function(err, length) { if (err && err !== "Unknown stream") { @@ -14402,31 +14451,31 @@ var require_form_data = __commonJS({ return; } if (length) { - request.setHeader("Content-Length", length); + request3.setHeader("Content-Length", length); } - this.pipe(request); + this.pipe(request3); if (cb) { var onResponse; var callback = function(error, responce) { - request.removeListener("error", callback); - request.removeListener("response", onResponse); + request3.removeListener("error", callback); + request3.removeListener("response", onResponse); return cb.call(this, error, responce); }; onResponse = callback.bind(this, null); - request.on("error", callback); - request.on("response", onResponse); + request3.on("error", callback); + request3.on("response", onResponse); } }.bind(this)); - return request; + return request3; }; - FormData3.prototype._error = function(err) { + FormData5.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData3.prototype.toString = function() { + FormData5.prototype.toString = function() { return "[object FormData]"; }; } @@ -14473,25 +14522,25 @@ var require_configuration = __commonJS({ var require_dist = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m4[k6]; + k22 = k7; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m5[k7]; } }); - } : function(o2, m4, k6, k22) { + } : function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - o2[k22] = m4[k6]; + k22 = k7; + o3[k22] = m5[k7]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p4 in m4) + var __exportStar2 = exports && exports.__exportStar || function(m5, exports2) { + for (var p4 in m5) if (p4 !== "default" && !exports2.hasOwnProperty(p4)) - __createBinding(exports2, m4, p4); + __createBinding2(exports2, m5, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_api(), exports); - __exportStar(require_configuration(), exports); + __exportStar2(require_api(), exports); + __exportStar2(require_configuration(), exports); } }); @@ -14500,14 +14549,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.0.3", + version: "16.4.5", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - require: "./lib/main.js", types: "./lib/main.d.ts", + require: "./lib/main.js", default: "./lib/main.js" }, "./config": "./config.js", @@ -14524,6 +14573,7 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", + "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -14531,6 +14581,7 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, + funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -14543,19 +14594,22 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@types/node": "^17.0.9", + "@definitelytyped/dtslint": "^0.0.133", + "@types/node": "^18.11.3", decache: "^4.6.1", - dtslint: "^3.7.0", - sinon: "^12.0.1", - standard: "^16.0.4", + sinon: "^14.0.1", + standard: "^17.0.0", "standard-markdown": "^7.1.0", - "standard-version": "^9.3.2", - tap: "^15.1.6", + "standard-version": "^9.5.0", + tap: "^16.3.0", tar: "^6.1.11", - typescript: "^4.5.4" + typescript: "^4.8.4" }, engines: { node: ">=12" + }, + browser: { + fs: false } }; } @@ -14564,9 +14618,10 @@ var require_package2 = __commonJS({ // node_modules/dotenv/lib/main.js var require_main = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs4 = require("fs"); + var fs5 = require("fs"); var path5 = require("path"); - var os3 = require("os"); + var os4 = require("os"); + var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -14589,57 +14644,240 @@ var require_main = __commonJS({ } return obj; } - function _log(message) { - console.log(`[dotenv@${version}][DEBUG] ${message}`); - } - function _resolveHome(envPath) { - return envPath[0] === "~" ? path5.join(os3.homedir(), envPath.slice(1)) : envPath; - } - function config8(options) { - let dotenvPath = path5.resolve(process.cwd(), ".env"); - let encoding = "utf8"; - const debug = Boolean(options && options.debug); - const override = Boolean(options && options.override); - if (options) { - if (options.path != null) { - dotenvPath = _resolveHome(options.path); - } - if (options.encoding != null) { - encoding = options.encoding; + function _parseVault(options) { + const vaultPath = _vaultPath(options); + const result = DotenvModule.configDotenv({ path: vaultPath }); + if (!result.parsed) { + const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); + err.code = "MISSING_DATA"; + throw err; + } + const keys = _dotenvKey(options).split(","); + const length = keys.length; + let decrypted; + for (let i3 = 0; i3 < length; i3++) { + try { + const key = keys[i3].trim(); + const attrs = _instructions(result, key); + decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); + break; + } catch (error) { + if (i3 + 1 >= length) { + throw error; + } } } + return DotenvModule.parse(decrypted); + } + function _log(message) { + console.log(`[dotenv@${version}][INFO] ${message}`); + } + function _warn(message) { + console.log(`[dotenv@${version}][WARN] ${message}`); + } + function _debug(message) { + console.log(`[dotenv@${version}][DEBUG] ${message}`); + } + function _dotenvKey(options) { + if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { + return options.DOTENV_KEY; + } + if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { + return process.env.DOTENV_KEY; + } + return ""; + } + function _instructions(result, dotenvKey) { + let uri; try { - const parsed = DotenvModule.parse(fs4.readFileSync(dotenvPath, { encoding })); - Object.keys(parsed).forEach(function(key) { - if (!Object.prototype.hasOwnProperty.call(process.env, key)) { - process.env[key] = parsed[key]; - } else { - if (override === true) { - process.env[key] = parsed[key]; - } - if (debug) { - if (override === true) { - _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); - } else { - _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); - } + uri = new URL(dotenvKey); + } catch (error) { + if (error.code === "ERR_INVALID_URL") { + const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + throw error; + } + const key = uri.password; + if (!key) { + const err = new Error("INVALID_DOTENV_KEY: Missing key part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environment = uri.searchParams.get("environment"); + if (!environment) { + const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; + const ciphertext = result.parsed[environmentKey]; + if (!ciphertext) { + const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); + err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; + throw err; + } + return { ciphertext, key }; + } + function _vaultPath(options) { + let possibleVaultPath = null; + if (options && options.path && options.path.length > 0) { + if (Array.isArray(options.path)) { + for (const filepath of options.path) { + if (fs5.existsSync(filepath)) { + possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; } } - }); - return { parsed }; - } catch (e2) { - if (debug) { - _log(`Failed to load ${dotenvPath} ${e2.message}`); + } else { + possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; + } + } else { + possibleVaultPath = path5.resolve(process.cwd(), ".env.vault"); + } + if (fs5.existsSync(possibleVaultPath)) { + return possibleVaultPath; + } + return null; + } + function _resolveHome(envPath) { + return envPath[0] === "~" ? path5.join(os4.homedir(), envPath.slice(1)) : envPath; + } + function _configVault(options) { + _log("Loading env from encrypted .env.vault"); + const parsed = DotenvModule._parseVault(options); + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsed, options); + return { parsed }; + } + function configDotenv(options) { + const dotenvPath = path5.resolve(process.cwd(), ".env"); + let encoding = "utf8"; + const debug2 = Boolean(options && options.debug); + if (options && options.encoding) { + encoding = options.encoding; + } else { + if (debug2) { + _debug("No encoding is specified. UTF-8 is used by default"); + } + } + let optionPaths = [dotenvPath]; + if (options && options.path) { + if (!Array.isArray(options.path)) { + optionPaths = [_resolveHome(options.path)]; + } else { + optionPaths = []; + for (const filepath of options.path) { + optionPaths.push(_resolveHome(filepath)); + } + } + } + let lastError; + const parsedAll = {}; + for (const path6 of optionPaths) { + try { + const parsed = DotenvModule.parse(fs5.readFileSync(path6, { encoding })); + DotenvModule.populate(parsedAll, parsed, options); + } catch (e3) { + if (debug2) { + _debug(`Failed to load ${path6} ${e3.message}`); + } + lastError = e3; + } + } + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsedAll, options); + if (lastError) { + return { parsed: parsedAll, error: lastError }; + } else { + return { parsed: parsedAll }; + } + } + function config10(options) { + if (_dotenvKey(options).length === 0) { + return DotenvModule.configDotenv(options); + } + const vaultPath = _vaultPath(options); + if (!vaultPath) { + _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); + return DotenvModule.configDotenv(options); + } + return DotenvModule._configVault(options); + } + function decrypt(encrypted, keyStr) { + const key = Buffer.from(keyStr.slice(-64), "hex"); + let ciphertext = Buffer.from(encrypted, "base64"); + const nonce = ciphertext.subarray(0, 12); + const authTag = ciphertext.subarray(-16); + ciphertext = ciphertext.subarray(12, -16); + try { + const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); + aesgcm.setAuthTag(authTag); + return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; + } catch (error) { + const isRange = error instanceof RangeError; + const invalidKeyLength = error.message === "Invalid key length"; + const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; + if (isRange || invalidKeyLength) { + const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } else if (decryptionFailed) { + const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + err.code = "DECRYPTION_FAILED"; + throw err; + } else { + throw error; + } + } + } + function populate(processEnv, parsed, options = {}) { + const debug2 = Boolean(options && options.debug); + const override = Boolean(options && options.override); + if (typeof parsed !== "object") { + const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + err.code = "OBJECT_REQUIRED"; + throw err; + } + for (const key of Object.keys(parsed)) { + if (Object.prototype.hasOwnProperty.call(processEnv, key)) { + if (override === true) { + processEnv[key] = parsed[key]; + } + if (debug2) { + if (override === true) { + _debug(`"${key}" is already defined and WAS overwritten`); + } else { + _debug(`"${key}" is already defined and was NOT overwritten`); + } + } + } else { + processEnv[key] = parsed[key]; } - return { error: e2 }; } } var DotenvModule = { - config: config8, - parse + configDotenv, + _configVault, + _parseVault, + config: config10, + decrypt, + parse, + populate }; + module2.exports.configDotenv = DotenvModule.configDotenv; + module2.exports._configVault = DotenvModule._configVault; + module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; + module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; + module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -14662,26 +14900,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k6 of Object.keys(obj)) { - const val = obj[k6]; + for (const k7 of Object.keys(obj)) { + const val = obj[k7]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k6 + "[]") + separator + safe(item) + eol; + out += safe(k7 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k6); + children.push(k7); } else { - out += safe(k6) + separator + safe(val) + eol; + out += safe(k7) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k6 of children) { - const nk = dotSplit(k6).join("\\."); + for (const k7 of children) { + const nk = dotSplit(k7).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k6], { + const child = encode3(obj[k7], { section, whitespace }); @@ -14697,13 +14935,13 @@ var require_ini = __commonJS({ const out = /* @__PURE__ */ Object.create(null); let p4 = out; let section = null; - const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re3 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re2); + const match = line.match(re3); if (!match) { continue; } @@ -14738,14 +14976,14 @@ var require_ini = __commonJS({ } } const remove = []; - for (const k6 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k6) || typeof out[k6] !== "object" || Array.isArray(out[k6])) { + for (const k7 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k7) || typeof out[k7] !== "object" || Array.isArray(out[k7])) { continue; } - const parts = dotSplit(k6); + const parts = dotSplit(k7); p4 = out; - const l = parts.pop(); - const nl = l.replace(/\\\./g, "."); + const l3 = parts.pop(); + const nl = l3.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; @@ -14755,11 +14993,11 @@ var require_ini = __commonJS({ } p4 = p4[part]; } - if (p4 === out && nl === l) { + if (p4 === out && nl === l3) { continue; } - p4[nl] = out[k6]; - remove.push(k6); + p4[nl] = out[k7]; + remove.push(k7); } for (const del of remove) { delete out[del]; @@ -14788,8 +15026,8 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i2 = 0, l = val.length; i2 < l; i2++) { - const c3 = val.charAt(i2); + for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { + const c3 = val.charAt(i3); if (esc) { if ("\\;#".indexOf(c3) !== -1) { unesc += c3; @@ -14890,12 +15128,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); + })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); + })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); } }); @@ -14903,35 +15141,35 @@ var require_rules = __commonJS({ var require_lib = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m4, k6, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - var desc = Object.getOwnPropertyDescriptor(m4, k6); - if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m4[k6]; + return m5[k7]; } }; } - Object.defineProperty(o2, k22, desc); - } : function(o2, m4, k6, k22) { + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { if (k22 === void 0) - k22 = k6; - o2[k22] = m4[k6]; + k22 = k7; + o3[k22] = m5[k7]; }); - var __exportStar = exports && exports.__exportStar || function(m4, exports2) { - for (var p4 in m4) + var __exportStar2 = exports && exports.__exportStar || function(m5, exports2) { + for (var p4 in m5) if (p4 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p4)) - __createBinding(exports2, m4, p4); + __createBinding2(exports2, m5, p4); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_ensure(), exports); - __exportStar(require_format(), exports); - __exportStar(require_is_ignored(), exports); - __exportStar(require_lint(), exports); - __exportStar(require_load(), exports); - __exportStar(require_parse2(), exports); - __exportStar(require_prompt(), exports); - __exportStar(require_rules(), exports); + __exportStar2(require_ensure(), exports); + __exportStar2(require_format(), exports); + __exportStar2(require_is_ignored(), exports); + __exportStar2(require_lint(), exports); + __exportStar2(require_load(), exports); + __exportStar2(require_parse2(), exports); + __exportStar2(require_prompt(), exports); + __exportStar2(require_rules(), exports); } }); @@ -14948,11 +15186,11 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s2) { + return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; }; - function getProxyForUrl2(url3) { - var parsedUrl = typeof url3 === "string" ? parseUrl(url3) : url3 || {}; + function getProxyForUrl2(url2) { + var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; var proto2 = parsedUrl.protocol; var hostname = parsedUrl.host; var port = parsedUrl.port; @@ -14972,14 +15210,14 @@ var require_proxy_from_env = __commonJS({ return proxy; } function shouldProxy(hostname, port) { - var NO_PROXY = (getEnv2("npm_config_no_proxy") || getEnv2("no_proxy")).toLowerCase(); - if (!NO_PROXY) { + var NO_PROXY2 = (getEnv2("npm_config_no_proxy") || getEnv2("no_proxy")).toLowerCase(); + if (!NO_PROXY2) { return true; } - if (NO_PROXY === "*") { + if (NO_PROXY2 === "*") { return false; } - return NO_PROXY.split(/[,\s]/).every(function(proxy) { + return NO_PROXY2.split(/[,\s]/).every(function(proxy) { if (!proxy) { return true; } @@ -15052,13 +15290,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length); + const ptr2 = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -15071,7 +15309,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -15079,8 +15317,8 @@ var require_tiktoken_bg = __commonJS({ WASM_VECTOR_LEN = offset; return ptr; } - function isLikeNone(x4) { - return x4 === void 0 || x4 === null; + function isLikeNone(x5) { + return x5 === void 0 || x5 === null; } var cachedInt32Memory0 = null; function getInt32Memory0() { @@ -15093,6 +15331,7 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -15111,124 +15350,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); + const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4); + const ptr = malloc(arg.length * 4, 4) >>> 0; getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f3, args) { + function handleError(f4, args) { try { - return f3.apply(this, args); - } catch (e2) { - wasm.__wbindgen_export_3(addHeapObject(e2)); + return f4.apply(this, args); + } catch (e3) { + wasm.__wbindgen_export_3(addHeapObject(e3)); } } + var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - return Tiktoken2.__wrap(ret); + this.__wbg_ptr = ret >>> 0; + return this; } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.ptr); + wasm.tiktoken_name(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v0; + let v1; if (r0 !== 0) { - v0 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); + v1 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); } - return v0; + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } - static __wrap(ptr) { - const obj = Object.create(Tiktoken2.prototype); - obj.ptr = ptr; - return obj; - } __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + TiktokenFinalization.unregister(this); return ptr; } free() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r22 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r2); + throw takeObject(r22); } - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v22 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v22 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { + var r22 = getInt32Memory0()[retptr / 4 + 2]; + if (r22) { throw takeObject(r1); } return takeObject(r0); @@ -15238,48 +15477,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v1; + var v22 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v22; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v0 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v0; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.ptr); + throw new Error("tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); return takeObject(ret); } }; @@ -15288,7 +15527,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { + module2.exports.__wbg_stringify_daa6661e90c04140 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -15299,19 +15538,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { + module2.exports.__wbg_parse_06816e879d29d4df = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -15330,15 +15569,14 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path5 = require("path"); - var fs4 = require("fs"); - var candidates = __dirname.split(path5.sep).reduce((memo, _6, index, array) => { + var fs5 = require("fs"); + var candidates = __dirname.split(path5.sep).reduce((memo, _7, index, array) => { const prefix = array.slice(0, index + 1).join(path5.sep) + path5.sep; if (!prefix.includes("node_modules" + path5.sep)) { memo.unshift( path5.join( prefix, "node_modules", - "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -15351,7 +15589,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs4.readFileSync(candidate); + bytes = fs5.readFileSync(candidate); break; } catch { } @@ -15365,6 +15603,11491 @@ var require_tiktoken = __commonJS({ } }); +// node_modules/tslib/tslib.js +var require_tslib = __commonJS({ + "node_modules/tslib/tslib.js"(exports, module2) { + var __extends2; + var __assign2; + var __rest2; + var __decorate2; + var __param2; + var __esDecorate2; + var __runInitializers2; + var __propKey2; + var __setFunctionName2; + var __metadata2; + var __awaiter2; + var __generator2; + var __exportStar2; + var __values2; + var __read2; + var __spread2; + var __spreadArrays2; + var __spreadArray2; + var __await2; + var __asyncGenerator2; + var __asyncDelegator2; + var __asyncValues2; + var __makeTemplateObject2; + var __importStar2; + var __importDefault2; + var __classPrivateFieldGet9; + var __classPrivateFieldSet8; + var __classPrivateFieldIn2; + var __createBinding2; + var __addDisposableResource2; + var __disposeResources2; + (function(factory) { + var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; + if (typeof define === "function" && define.amd) { + define("tslib", ["exports"], function(exports2) { + factory(createExporter(root, createExporter(exports2))); + }); + } else if (typeof module2 === "object" && typeof module2.exports === "object") { + factory(createExporter(root, createExporter(module2.exports))); + } else { + factory(createExporter(root)); + } + function createExporter(exports2, previous) { + if (exports2 !== root) { + if (typeof Object.create === "function") { + Object.defineProperty(exports2, "__esModule", { value: true }); + } else { + exports2.__esModule = true; + } + } + return function(id, v5) { + return exports2[id] = previous ? previous(id, v5) : v5; + }; + } + })(function(exporter) { + var extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d7, b7) { + d7.__proto__ = b7; + } || function(d7, b7) { + for (var p4 in b7) + if (Object.prototype.hasOwnProperty.call(b7, p4)) + d7[p4] = b7[p4]; + }; + __extends2 = function(d7, b7) { + if (typeof b7 !== "function" && b7 !== null) + throw new TypeError("Class extends value " + String(b7) + " is not a constructor or null"); + extendStatics(d7, b7); + function __() { + this.constructor = d7; + } + d7.prototype = b7 === null ? Object.create(b7) : (__.prototype = b7.prototype, new __()); + }; + __assign2 = Object.assign || function(t2) { + for (var s2, i3 = 1, n2 = arguments.length; i3 < n2; i3++) { + s2 = arguments[i3]; + for (var p4 in s2) + if (Object.prototype.hasOwnProperty.call(s2, p4)) + t2[p4] = s2[p4]; + } + return t2; + }; + __rest2 = function(s2, e3) { + var t2 = {}; + for (var p4 in s2) + if (Object.prototype.hasOwnProperty.call(s2, p4) && e3.indexOf(p4) < 0) + t2[p4] = s2[p4]; + if (s2 != null && typeof Object.getOwnPropertySymbols === "function") + for (var i3 = 0, p4 = Object.getOwnPropertySymbols(s2); i3 < p4.length; i3++) { + if (e3.indexOf(p4[i3]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p4[i3])) + t2[p4[i3]] = s2[p4[i3]]; + } + return t2; + }; + __decorate2 = function(decorators, target, key, desc) { + var c3 = arguments.length, r3 = c3 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d7; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r3 = Reflect.decorate(decorators, target, key, desc); + else + for (var i3 = decorators.length - 1; i3 >= 0; i3--) + if (d7 = decorators[i3]) + r3 = (c3 < 3 ? d7(r3) : c3 > 3 ? d7(target, key, r3) : d7(target, key)) || r3; + return c3 > 3 && r3 && Object.defineProperty(target, key, r3), r3; + }; + __param2 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + __esDecorate2 = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f4) { + if (f4 !== void 0 && typeof f4 !== "function") + throw new TypeError("Function expected"); + return f4; + } + var kind2 = contextIn.kind, key = kind2 === "getter" ? "get" : kind2 === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _7, done = false; + for (var i3 = decorators.length - 1; i3 >= 0; i3--) { + var context = {}; + for (var p4 in contextIn) + context[p4] = p4 === "access" ? {} : contextIn[p4]; + for (var p4 in contextIn.access) + context.access[p4] = contextIn.access[p4]; + context.addInitializer = function(f4) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f4 || null)); + }; + var result = (0, decorators[i3])(kind2 === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind2 === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_7 = accept(result.get)) + descriptor.get = _7; + if (_7 = accept(result.set)) + descriptor.set = _7; + if (_7 = accept(result.init)) + initializers.unshift(_7); + } else if (_7 = accept(result)) { + if (kind2 === "field") + initializers.unshift(_7); + else + descriptor[key] = _7; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; + }; + __runInitializers2 = function(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i3 = 0; i3 < initializers.length; i3++) { + value = useValue ? initializers[i3].call(thisArg, value) : initializers[i3].call(thisArg); + } + return useValue ? value : void 0; + }; + __propKey2 = function(x5) { + return typeof x5 === "symbol" ? x5 : "".concat(x5); + }; + __setFunctionName2 = function(f4, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f4, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); + }; + __metadata2 = function(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + }; + __awaiter2 = function(thisArg, _arguments, P4, generator) { + function adopt(value) { + return value instanceof P4 ? value : new P4(function(resolve) { + resolve(value); + }); + } + return new (P4 || (P4 = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e3) { + reject(e3); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e3) { + reject(e3); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + __generator2 = function(thisArg, body) { + var _7 = { label: 0, sent: function() { + if (t2[0] & 1) + throw t2[1]; + return t2[1]; + }, trys: [], ops: [] }, f4, y6, t2, g4; + return g4 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g4[Symbol.iterator] = function() { + return this; + }), g4; + function verb(n2) { + return function(v5) { + return step([n2, v5]); + }; + } + function step(op) { + if (f4) + throw new TypeError("Generator is already executing."); + while (g4 && (g4 = 0, op[0] && (_7 = 0)), _7) + try { + if (f4 = 1, y6 && (t2 = op[0] & 2 ? y6["return"] : op[0] ? y6["throw"] || ((t2 = y6["return"]) && t2.call(y6), 0) : y6.next) && !(t2 = t2.call(y6, op[1])).done) + return t2; + if (y6 = 0, t2) + op = [op[0] & 2, t2.value]; + switch (op[0]) { + case 0: + case 1: + t2 = op; + break; + case 4: + _7.label++; + return { value: op[1], done: false }; + case 5: + _7.label++; + y6 = op[1]; + op = [0]; + continue; + case 7: + op = _7.ops.pop(); + _7.trys.pop(); + continue; + default: + if (!(t2 = _7.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _7 = 0; + continue; + } + if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) { + _7.label = op[1]; + break; + } + if (op[0] === 6 && _7.label < t2[1]) { + _7.label = t2[1]; + t2 = op; + break; + } + if (t2 && _7.label < t2[2]) { + _7.label = t2[2]; + _7.ops.push(op); + break; + } + if (t2[2]) + _7.ops.pop(); + _7.trys.pop(); + continue; + } + op = body.call(thisArg, _7); + } catch (e3) { + op = [6, e3]; + y6 = 0; + } finally { + f4 = t2 = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + }; + __exportStar2 = function(m5, o3) { + for (var p4 in m5) + if (p4 !== "default" && !Object.prototype.hasOwnProperty.call(o3, p4)) + __createBinding2(o3, m5, p4); + }; + __createBinding2 = Object.create ? function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m5[k7]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + o3[k22] = m5[k7]; + }; + __values2 = function(o3) { + var s2 = typeof Symbol === "function" && Symbol.iterator, m5 = s2 && o3[s2], i3 = 0; + if (m5) + return m5.call(o3); + if (o3 && typeof o3.length === "number") + return { + next: function() { + if (o3 && i3 >= o3.length) + o3 = void 0; + return { value: o3 && o3[i3++], done: !o3 }; + } + }; + throw new TypeError(s2 ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + __read2 = function(o3, n2) { + var m5 = typeof Symbol === "function" && o3[Symbol.iterator]; + if (!m5) + return o3; + var i3 = m5.call(o3), r3, ar2 = [], e3; + try { + while ((n2 === void 0 || n2-- > 0) && !(r3 = i3.next()).done) + ar2.push(r3.value); + } catch (error) { + e3 = { error }; + } finally { + try { + if (r3 && !r3.done && (m5 = i3["return"])) + m5.call(i3); + } finally { + if (e3) + throw e3.error; + } + } + return ar2; + }; + __spread2 = function() { + for (var ar2 = [], i3 = 0; i3 < arguments.length; i3++) + ar2 = ar2.concat(__read2(arguments[i3])); + return ar2; + }; + __spreadArrays2 = function() { + for (var s2 = 0, i3 = 0, il = arguments.length; i3 < il; i3++) + s2 += arguments[i3].length; + for (var r3 = Array(s2), k7 = 0, i3 = 0; i3 < il; i3++) + for (var a4 = arguments[i3], j4 = 0, jl = a4.length; j4 < jl; j4++, k7++) + r3[k7] = a4[j4]; + return r3; + }; + __spreadArray2 = function(to, from, pack) { + if (pack || arguments.length === 2) + for (var i3 = 0, l3 = from.length, ar2; i3 < l3; i3++) { + if (ar2 || !(i3 in from)) { + if (!ar2) + ar2 = Array.prototype.slice.call(from, 0, i3); + ar2[i3] = from[i3]; + } + } + return to.concat(ar2 || Array.prototype.slice.call(from)); + }; + __await2 = function(v5) { + return this instanceof __await2 ? (this.v = v5, this) : new __await2(v5); + }; + __asyncGenerator2 = function(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g4 = generator.apply(thisArg, _arguments || []), i3, q6 = []; + return i3 = {}, verb("next"), verb("throw"), verb("return"), i3[Symbol.asyncIterator] = function() { + return this; + }, i3; + function verb(n2) { + if (g4[n2]) + i3[n2] = function(v5) { + return new Promise(function(a4, b7) { + q6.push([n2, v5, a4, b7]) > 1 || resume(n2, v5); + }); + }; + } + function resume(n2, v5) { + try { + step(g4[n2](v5)); + } catch (e3) { + settle2(q6[0][3], e3); + } + } + function step(r3) { + r3.value instanceof __await2 ? Promise.resolve(r3.value.v).then(fulfill, reject) : settle2(q6[0][2], r3); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle2(f4, v5) { + if (f4(v5), q6.shift(), q6.length) + resume(q6[0][0], q6[0][1]); + } + }; + __asyncDelegator2 = function(o3) { + var i3, p4; + return i3 = {}, verb("next"), verb("throw", function(e3) { + throw e3; + }), verb("return"), i3[Symbol.iterator] = function() { + return this; + }, i3; + function verb(n2, f4) { + i3[n2] = o3[n2] ? function(v5) { + return (p4 = !p4) ? { value: __await2(o3[n2](v5)), done: false } : f4 ? f4(v5) : v5; + } : f4; + } + }; + __asyncValues2 = function(o3) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m5 = o3[Symbol.asyncIterator], i3; + return m5 ? m5.call(o3) : (o3 = typeof __values2 === "function" ? __values2(o3) : o3[Symbol.iterator](), i3 = {}, verb("next"), verb("throw"), verb("return"), i3[Symbol.asyncIterator] = function() { + return this; + }, i3); + function verb(n2) { + i3[n2] = o3[n2] && function(v5) { + return new Promise(function(resolve, reject) { + v5 = o3[n2](v5), settle2(resolve, reject, v5.done, v5.value); + }); + }; + } + function settle2(resolve, reject, d7, v5) { + Promise.resolve(v5).then(function(v6) { + resolve({ value: v6, done: d7 }); + }, reject); + } + }; + __makeTemplateObject2 = function(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; + }; + var __setModuleDefault = Object.create ? function(o3, v5) { + Object.defineProperty(o3, "default", { enumerable: true, value: v5 }); + } : function(o3, v5) { + o3["default"] = v5; + }; + __importStar2 = function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k7 in mod) + if (k7 !== "default" && Object.prototype.hasOwnProperty.call(mod, k7)) + __createBinding2(result, mod, k7); + } + __setModuleDefault(result, mod); + return result; + }; + __importDefault2 = function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + __classPrivateFieldGet9 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + __classPrivateFieldSet8 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldIn2 = function(state2, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state2 === "function" ? receiver === state2 : state2.has(receiver); + }; + __addDisposableResource2 = function(env2, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") + throw new TypeError("Object expected."); + var dispose; + if (async) { + if (!Symbol.asyncDispose) + throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) + throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + } + if (typeof dispose !== "function") + throw new TypeError("Object not disposable."); + env2.stack.push({ value, dispose, async }); + } else if (async) { + env2.stack.push({ async: true }); + } + return value; + }; + var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e3 = new Error(message); + return e3.name = "SuppressedError", e3.error = error, e3.suppressed = suppressed, e3; + }; + __disposeResources2 = function(env2) { + function fail(e3) { + env2.error = env2.hasError ? new _SuppressedError(e3, env2.error, "An error was suppressed during disposal.") : e3; + env2.hasError = true; + } + function next() { + while (env2.stack.length) { + var rec = env2.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) + return Promise.resolve(result).then(next, function(e3) { + fail(e3); + return next(); + }); + } catch (e3) { + fail(e3); + } + } + if (env2.hasError) + throw env2.error; + } + return next(); + }; + exporter("__extends", __extends2); + exporter("__assign", __assign2); + exporter("__rest", __rest2); + exporter("__decorate", __decorate2); + exporter("__param", __param2); + exporter("__esDecorate", __esDecorate2); + exporter("__runInitializers", __runInitializers2); + exporter("__propKey", __propKey2); + exporter("__setFunctionName", __setFunctionName2); + exporter("__metadata", __metadata2); + exporter("__awaiter", __awaiter2); + exporter("__generator", __generator2); + exporter("__exportStar", __exportStar2); + exporter("__createBinding", __createBinding2); + exporter("__values", __values2); + exporter("__read", __read2); + exporter("__spread", __spread2); + exporter("__spreadArrays", __spreadArrays2); + exporter("__spreadArray", __spreadArray2); + exporter("__await", __await2); + exporter("__asyncGenerator", __asyncGenerator2); + exporter("__asyncDelegator", __asyncDelegator2); + exporter("__asyncValues", __asyncValues2); + exporter("__makeTemplateObject", __makeTemplateObject2); + exporter("__importStar", __importStar2); + exporter("__importDefault", __importDefault2); + exporter("__classPrivateFieldGet", __classPrivateFieldGet9); + exporter("__classPrivateFieldSet", __classPrivateFieldSet8); + exporter("__classPrivateFieldIn", __classPrivateFieldIn2); + exporter("__addDisposableResource", __addDisposableResource2); + exporter("__disposeResources", __disposeResources2); + }); + } +}); + +// node_modules/agent-base/dist/helpers.js +var require_helpers = __commonJS({ + "node_modules/agent-base/dist/helpers.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m5[k7]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + o3[k22] = m5[k7]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v5) { + Object.defineProperty(o3, "default", { enumerable: true, value: v5 }); + } : function(o3, v5) { + o3["default"] = v5; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k7 in mod) + if (k7 !== "default" && Object.prototype.hasOwnProperty.call(mod, k7)) + __createBinding2(result, mod, k7); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.req = exports.json = exports.toBuffer = void 0; + var http3 = __importStar2(require("http")); + var https3 = __importStar2(require("https")); + async function toBuffer(stream4) { + let length = 0; + const chunks = []; + for await (const chunk of stream4) { + length += chunk.length; + chunks.push(chunk); + } + return Buffer.concat(chunks, length); + } + exports.toBuffer = toBuffer; + async function json(stream4) { + const buf = await toBuffer(stream4); + const str = buf.toString("utf8"); + try { + return JSON.parse(str); + } catch (_err) { + const err = _err; + err.message += ` (input: ${str})`; + throw err; + } + } + exports.json = json; + function req(url2, opts = {}) { + const href = typeof url2 === "string" ? url2 : url2.href; + const req2 = (href.startsWith("https:") ? https3 : http3).request(url2, opts); + const promise = new Promise((resolve, reject) => { + req2.once("response", resolve).once("error", reject).end(); + }); + req2.then = promise.then.bind(promise); + return req2; + } + exports.req = req; + } +}); + +// node_modules/agent-base/dist/index.js +var require_dist2 = __commonJS({ + "node_modules/agent-base/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m5[k7]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + o3[k22] = m5[k7]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v5) { + Object.defineProperty(o3, "default", { enumerable: true, value: v5 }); + } : function(o3, v5) { + o3["default"] = v5; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k7 in mod) + if (k7 !== "default" && Object.prototype.hasOwnProperty.call(mod, k7)) + __createBinding2(result, mod, k7); + } + __setModuleDefault(result, mod); + return result; + }; + var __exportStar2 = exports && exports.__exportStar || function(m5, exports2) { + for (var p4 in m5) + if (p4 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p4)) + __createBinding2(exports2, m5, p4); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Agent = void 0; + var net = __importStar2(require("net")); + var http3 = __importStar2(require("http")); + var https_1 = require("https"); + __exportStar2(require_helpers(), exports); + var INTERNAL = Symbol("AgentBaseInternalState"); + var Agent3 = class extends http3.Agent { + constructor(opts) { + super(opts); + this[INTERNAL] = {}; + } + isSecureEndpoint(options) { + if (options) { + if (typeof options.secureEndpoint === "boolean") { + return options.secureEndpoint; + } + if (typeof options.protocol === "string") { + return options.protocol === "https:"; + } + } + const { stack } = new Error(); + if (typeof stack !== "string") + return false; + return stack.split("\n").some((l3) => l3.indexOf("(https.js:") !== -1 || l3.indexOf("node:https:") !== -1); + } + incrementSockets(name) { + if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) { + return null; + } + if (!this.sockets[name]) { + this.sockets[name] = []; + } + const fakeSocket = new net.Socket({ writable: false }); + this.sockets[name].push(fakeSocket); + this.totalSocketCount++; + return fakeSocket; + } + decrementSockets(name, socket) { + if (!this.sockets[name] || socket === null) { + return; + } + const sockets = this.sockets[name]; + const index = sockets.indexOf(socket); + if (index !== -1) { + sockets.splice(index, 1); + this.totalSocketCount--; + if (sockets.length === 0) { + delete this.sockets[name]; + } + } + } + getName(options) { + const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options); + if (secureEndpoint) { + return https_1.Agent.prototype.getName.call(this, options); + } + return super.getName(options); + } + createSocket(req, options, cb) { + const connectOpts = { + ...options, + secureEndpoint: this.isSecureEndpoint(options) + }; + const name = this.getName(connectOpts); + const fakeSocket = this.incrementSockets(name); + Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => { + this.decrementSockets(name, fakeSocket); + if (socket instanceof http3.Agent) { + return socket.addRequest(req, connectOpts); + } + this[INTERNAL].currentSocket = socket; + super.createSocket(req, options, cb); + }, (err) => { + this.decrementSockets(name, fakeSocket); + cb(err); + }); + } + createConnection() { + const socket = this[INTERNAL].currentSocket; + this[INTERNAL].currentSocket = void 0; + if (!socket) { + throw new Error("No socket was returned in the `connect()` function"); + } + return socket; + } + get defaultPort() { + return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80); + } + set defaultPort(v5) { + if (this[INTERNAL]) { + this[INTERNAL].defaultPort = v5; + } + } + get protocol() { + return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:"); + } + set protocol(v5) { + if (this[INTERNAL]) { + this[INTERNAL].protocol = v5; + } + } + }; + exports.Agent = Agent3; + } +}); + +// node_modules/https-proxy-agent/dist/parse-proxy-response.js +var require_parse_proxy_response = __commonJS({ + "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseProxyResponse = void 0; + var debug_1 = __importDefault2(require_src2()); + var debug2 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response"); + function parseProxyResponse(socket) { + return new Promise((resolve, reject) => { + let buffersLength = 0; + const buffers = []; + function read() { + const b7 = socket.read(); + if (b7) + ondata(b7); + else + socket.once("readable", read); + } + function cleanup() { + socket.removeListener("end", onend); + socket.removeListener("error", onerror); + socket.removeListener("readable", read); + } + function onend() { + cleanup(); + debug2("onend"); + reject(new Error("Proxy connection ended before receiving CONNECT response")); + } + function onerror(err) { + cleanup(); + debug2("onerror %o", err); + reject(err); + } + function ondata(b7) { + buffers.push(b7); + buffersLength += b7.length; + const buffered = Buffer.concat(buffers, buffersLength); + const endOfHeaders = buffered.indexOf("\r\n\r\n"); + if (endOfHeaders === -1) { + debug2("have not received end of HTTP headers yet..."); + read(); + return; + } + const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n"); + const firstLine = headerParts.shift(); + if (!firstLine) { + socket.destroy(); + return reject(new Error("No header received from proxy CONNECT response")); + } + const firstLineParts = firstLine.split(" "); + const statusCode = +firstLineParts[1]; + const statusText = firstLineParts.slice(2).join(" "); + const headers = {}; + for (const header of headerParts) { + if (!header) + continue; + const firstColon = header.indexOf(":"); + if (firstColon === -1) { + socket.destroy(); + return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`)); + } + const key = header.slice(0, firstColon).toLowerCase(); + const value = header.slice(firstColon + 1).trimStart(); + const current = headers[key]; + if (typeof current === "string") { + headers[key] = [current, value]; + } else if (Array.isArray(current)) { + current.push(value); + } else { + headers[key] = value; + } + } + debug2("got proxy server response: %o %o", firstLine, headers); + cleanup(); + resolve({ + connect: { + statusCode, + statusText, + headers + }, + buffered + }); + } + socket.on("error", onerror); + socket.on("end", onend); + read(); + }); + } + exports.parseProxyResponse = parseProxyResponse; + } +}); + +// node_modules/https-proxy-agent/dist/index.js +var require_dist3 = __commonJS({ + "node_modules/https-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m5[k7]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + o3[k22] = m5[k7]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v5) { + Object.defineProperty(o3, "default", { enumerable: true, value: v5 }); + } : function(o3, v5) { + o3["default"] = v5; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k7 in mod) + if (k7 !== "default" && Object.prototype.hasOwnProperty.call(mod, k7)) + __createBinding2(result, mod, k7); + } + __setModuleDefault(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpsProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var assert_1 = __importDefault2(require("assert")); + var debug_1 = __importDefault2(require_src2()); + var agent_base_1 = require_dist2(); + var url_1 = require("url"); + var parse_proxy_response_1 = require_parse_proxy_response(); + var debug2 = (0, debug_1.default)("https-proxy-agent"); + var HttpsProxyAgent2 = class extends agent_base_1.Agent { + constructor(proxy, opts) { + super(opts); + this.options = { path: void 0 }; + this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; + this.connectOpts = { + ALPNProtocols: ["http/1.1"], + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + async connect(req, opts) { + const { proxy } = this; + if (!opts.host) { + throw new TypeError('No "host" provided'); + } + let socket; + if (proxy.protocol === "https:") { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + const servername = this.connectOpts.servername || this.connectOpts.host; + socket = tls.connect({ + ...this.connectOpts, + servername: servername && net.isIP(servername) ? void 0 : servername + }); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host; + let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r +`; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + headers.Host = `${host}:${opts.port}`; + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + payload += `${name}: ${headers[name]}\r +`; + } + const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket); + socket.write(`${payload}\r +`); + const { connect, buffered } = await proxyResponsePromise; + req.emit("proxyConnect", connect); + this.emit("proxyConnect", connect, req); + if (connect.statusCode === 200) { + req.once("socket", resume); + if (opts.secureEndpoint) { + debug2("Upgrading socket connection to TLS"); + const servername = opts.servername || opts.host; + return tls.connect({ + ...omit(opts, "host", "path", "port"), + socket, + servername: net.isIP(servername) ? void 0 : servername + }); + } + return socket; + } + socket.destroy(); + const fakeSocket = new net.Socket({ writable: false }); + fakeSocket.readable = true; + req.once("socket", (s2) => { + debug2("Replaying proxy buffer for failed request"); + (0, assert_1.default)(s2.listenerCount("data") > 0); + s2.push(buffered); + s2.push(null); + }); + return fakeSocket; + } + }; + HttpsProxyAgent2.protocols = ["http", "https"]; + exports.HttpsProxyAgent = HttpsProxyAgent2; + function resume(socket) { + socket.resume(); + } + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// node_modules/http-proxy-agent/dist/index.js +var require_dist4 = __commonJS({ + "node_modules/http-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + var desc = Object.getOwnPropertyDescriptor(m5, k7); + if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m5[k7]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m5, k7, k22) { + if (k22 === void 0) + k22 = k7; + o3[k22] = m5[k7]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v5) { + Object.defineProperty(o3, "default", { enumerable: true, value: v5 }); + } : function(o3, v5) { + o3["default"] = v5; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k7 in mod) + if (k7 !== "default" && Object.prototype.hasOwnProperty.call(mod, k7)) + __createBinding2(result, mod, k7); + } + __setModuleDefault(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var debug_1 = __importDefault2(require_src2()); + var events_1 = require("events"); + var agent_base_1 = require_dist2(); + var url_1 = require("url"); + var debug2 = (0, debug_1.default)("http-proxy-agent"); + var HttpProxyAgent2 = class extends agent_base_1.Agent { + constructor(proxy, opts) { + super(opts); + this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; + this.connectOpts = { + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + addRequest(req, opts) { + req._header = null; + this.setRequestProps(req, opts); + super.addRequest(req, opts); + } + setRequestProps(req, opts) { + const { proxy } = this; + const protocol = opts.secureEndpoint ? "https:" : "http:"; + const hostname = req.getHeader("host") || "localhost"; + const base = `${protocol}//${hostname}`; + const url2 = new url_1.URL(req.path, base); + if (opts.port !== 80) { + url2.port = String(opts.port); + } + req.path = String(url2); + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + const value = headers[name]; + if (value) { + req.setHeader(name, value); + } + } + } + async connect(req, opts) { + req._header = null; + if (!req.path.includes("://")) { + this.setRequestProps(req, opts); + } + let first; + let endOfHeaders; + debug2("Regenerating stored HTTP header string for request"); + req._implicitHeader(); + if (req.outputData && req.outputData.length > 0) { + debug2("Patching connection write() output buffer with updated header"); + first = req.outputData[0].data; + endOfHeaders = first.indexOf("\r\n\r\n") + 4; + req.outputData[0].data = req._header + first.substring(endOfHeaders); + debug2("Output buffer: %o", req.outputData[0].data); + } + let socket; + if (this.proxy.protocol === "https:") { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + socket = tls.connect(this.connectOpts); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + await (0, events_1.once)(socket, "connect"); + return socket; + } + }; + HttpProxyAgent2.protocols = ["http", "https"]; + exports.HttpProxyAgent = HttpProxyAgent2; + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// node_modules/@azure/core-tracing/dist/commonjs/state.js +var require_state2 = __commonJS({ + "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.state = void 0; + exports.state = { + instrumenterImplementation: void 0 + }; + } +}); + +// node_modules/webidl-conversions/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/webidl-conversions/lib/index.js"(exports, module2) { + "use strict"; + var conversions = {}; + module2.exports = conversions; + function sign(x5) { + return x5 < 0 ? -1 : 1; + } + function evenRound(x5) { + if (x5 % 1 === 0.5 && (x5 & 1) === 0) { + return Math.floor(x5); + } else { + return Math.round(x5); + } + } + function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + return function(V6, opts) { + if (!opts) + opts = {}; + let x5 = +V6; + if (opts.enforceRange) { + if (!Number.isFinite(x5)) { + throw new TypeError("Argument is not a finite number"); + } + x5 = sign(x5) * Math.floor(Math.abs(x5)); + if (x5 < lowerBound || x5 > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + return x5; + } + if (!isNaN(x5) && opts.clamp) { + x5 = evenRound(x5); + if (x5 < lowerBound) + x5 = lowerBound; + if (x5 > upperBound) + x5 = upperBound; + return x5; + } + if (!Number.isFinite(x5) || x5 === 0) { + return 0; + } + x5 = sign(x5) * Math.floor(Math.abs(x5)); + x5 = x5 % moduloVal; + if (!typeOpts.unsigned && x5 >= moduloBound) { + return x5 - moduloVal; + } else if (typeOpts.unsigned) { + if (x5 < 0) { + x5 += moduloVal; + } else if (x5 === -0) { + return 0; + } + } + return x5; + }; + } + conversions["void"] = function() { + return void 0; + }; + conversions["boolean"] = function(val) { + return !!val; + }; + conversions["byte"] = createNumberConversion(8, { unsigned: false }); + conversions["octet"] = createNumberConversion(8, { unsigned: true }); + conversions["short"] = createNumberConversion(16, { unsigned: false }); + conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + conversions["long"] = createNumberConversion(32, { unsigned: false }); + conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); + conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + conversions["double"] = function(V6) { + const x5 = +V6; + if (!Number.isFinite(x5)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + return x5; + }; + conversions["unrestricted double"] = function(V6) { + const x5 = +V6; + if (isNaN(x5)) { + throw new TypeError("Argument is NaN"); + } + return x5; + }; + conversions["float"] = conversions["double"]; + conversions["unrestricted float"] = conversions["unrestricted double"]; + conversions["DOMString"] = function(V6, opts) { + if (!opts) + opts = {}; + if (opts.treatNullAsEmptyString && V6 === null) { + return ""; + } + return String(V6); + }; + conversions["ByteString"] = function(V6, opts) { + const x5 = String(V6); + let c3 = void 0; + for (let i3 = 0; (c3 = x5.codePointAt(i3)) !== void 0; ++i3) { + if (c3 > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + return x5; + }; + conversions["USVString"] = function(V6) { + const S6 = String(V6); + const n2 = S6.length; + const U7 = []; + for (let i3 = 0; i3 < n2; ++i3) { + const c3 = S6.charCodeAt(i3); + if (c3 < 55296 || c3 > 57343) { + U7.push(String.fromCodePoint(c3)); + } else if (56320 <= c3 && c3 <= 57343) { + U7.push(String.fromCodePoint(65533)); + } else { + if (i3 === n2 - 1) { + U7.push(String.fromCodePoint(65533)); + } else { + const d7 = S6.charCodeAt(i3 + 1); + if (56320 <= d7 && d7 <= 57343) { + const a4 = c3 & 1023; + const b7 = d7 & 1023; + U7.push(String.fromCodePoint((2 << 15) + (2 << 9) * a4 + b7)); + ++i3; + } else { + U7.push(String.fromCodePoint(65533)); + } + } + } + } + return U7.join(""); + }; + conversions["Date"] = function(V6, opts) { + if (!(V6 instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V6)) { + return void 0; + } + return V6; + }; + conversions["RegExp"] = function(V6, opts) { + if (!(V6 instanceof RegExp)) { + V6 = new RegExp(V6); + } + return V6; + }; + } +}); + +// node_modules/whatwg-url/lib/utils.js +var require_utils2 = __commonJS({ + "node_modules/whatwg-url/lib/utils.js"(exports, module2) { + "use strict"; + module2.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i3 = 0; i3 < keys.length; ++i3) { + Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); + } + }; + module2.exports.wrapperSymbol = Symbol("wrapper"); + module2.exports.implSymbol = Symbol("impl"); + module2.exports.wrapperForImpl = function(impl) { + return impl[module2.exports.wrapperSymbol]; + }; + module2.exports.implForWrapper = function(wrapper) { + return wrapper[module2.exports.implSymbol]; + }; + } +}); + +// node_modules/tr46/lib/mappingTable.json +var require_mappingTable = __commonJS({ + "node_modules/tr46/lib/mappingTable.json"(exports, module2) { + module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; + } +}); + +// node_modules/tr46/index.js +var require_tr46 = __commonJS({ + "node_modules/tr46/index.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var mappingTable = require_mappingTable(); + var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 + }; + function normalize(str) { + return str.split("\0").map(function(s2) { + return s2.normalize("NFC"); + }).join("\0"); + } + function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + while (start <= end) { + var mid = Math.floor((start + end) / 2); + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + return null; + } + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + function countSymbols(string) { + return string.replace(regexAstralSymbols, "_").length; + } + function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + var len = countSymbols(domain_name); + for (var i3 = 0; i3 < len; ++i3) { + var codePoint = domain_name.codePointAt(i3); + var status = findStatus(codePoint); + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + processed += String.fromCodePoint(codePoint); + break; + } + } + return { + string: processed, + error: hasError + }; + } + var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + var error = false; + if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { + error = true; + } + var len = countSymbols(label); + for (var i3 = 0; i3 < len; ++i3) { + var status = findStatus(label.codePointAt(i3)); + if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { + error = true; + break; + } + } + return { + label, + error + }; + } + function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + var labels = result.string.split("."); + for (var i3 = 0; i3 < labels.length; ++i3) { + try { + var validation = validateLabel(labels[i3]); + labels[i3] = validation.label; + result.error = result.error || validation.error; + } catch (e3) { + result.error = true; + } + } + return { + string: labels.join("."), + error: result.error + }; + } + module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l3) { + try { + return punycode.toASCII(l3); + } catch (e3) { + result.error = true; + return l3; + } + }); + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + for (var i3 = 0; i3 < labels.length; ++i3) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + if (result.error) + return null; + return labels.join("."); + }; + module2.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + return { + domain: result.string, + error: result.error + }; + }; + module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + } +}); + +// node_modules/whatwg-url/lib/url-state-machine.js +var require_url_state_machine = __commonJS({ + "node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var tr46 = require_tr46(); + var specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 + }; + var failure = Symbol("failure"); + function countSymbols(str) { + return punycode.ucs2.decode(str).length; + } + function at2(input, idx) { + const c3 = input[idx]; + return isNaN(c3) ? void 0 : String.fromCodePoint(c3); + } + function isASCIIDigit(c3) { + return c3 >= 48 && c3 <= 57; + } + function isASCIIAlpha(c3) { + return c3 >= 65 && c3 <= 90 || c3 >= 97 && c3 <= 122; + } + function isASCIIAlphanumeric(c3) { + return isASCIIAlpha(c3) || isASCIIDigit(c3); + } + function isASCIIHex(c3) { + return isASCIIDigit(c3) || c3 >= 65 && c3 <= 70 || c3 >= 97 && c3 <= 102; + } + function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; + } + function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; + } + function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); + } + function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); + } + function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; + } + function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== void 0; + } + function isSpecial(url2) { + return isSpecialScheme(url2.scheme); + } + function defaultPort(scheme) { + return specialSchemes[scheme]; + } + function percentEncode(c3) { + let hex = c3.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + return "%" + hex; + } + function utf8PercentEncode(c3) { + const buf = new Buffer(c3); + let str = ""; + for (let i3 = 0; i3 < buf.length; ++i3) { + str += percentEncode(buf[i3]); + } + return str; + } + function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i3 = 0; i3 < input.length; ++i3) { + if (input[i3] !== 37) { + output.push(input[i3]); + } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { + output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); + i3 += 2; + } else { + output.push(input[i3]); + } + } + return new Buffer(output).toString(); + } + function isC0ControlPercentEncode(c3) { + return c3 <= 31 || c3 > 126; + } + var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); + function isPathPercentEncode(c3) { + return isC0ControlPercentEncode(c3) || extraPathPercentEncodeSet.has(c3); + } + var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); + function isUserinfoPercentEncode(c3) { + return isPathPercentEncode(c3) || extraUserinfoPercentEncodeSet.has(c3); + } + function percentEncodeChar(c3, encodeSetPredicate) { + const cStr = String.fromCodePoint(c3); + if (encodeSetPredicate(c3)) { + return utf8PercentEncode(cStr); + } + return cStr; + } + function parseIPv4Number(input) { + let R7 = 10; + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R7 = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R7 = 8; + } + if (input === "") { + return 0; + } + const regex = R7 === 10 ? /[^0-9]/ : R7 === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; + if (regex.test(input)) { + return failure; + } + return parseInt(input, R7); + } + function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + if (parts.length > 4) { + return input; + } + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n2 = parseIPv4Number(part); + if (n2 === failure) { + return input; + } + numbers.push(n2); + } + for (let i3 = 0; i3 < numbers.length - 1; ++i3) { + if (numbers[i3] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + let ipv4 = numbers.pop(); + let counter = 0; + for (const n2 of numbers) { + ipv4 += n2 * Math.pow(256, 3 - counter); + ++counter; + } + return ipv4; + } + function serializeIPv4(address) { + let output = ""; + let n2 = address; + for (let i3 = 1; i3 <= 4; ++i3) { + output = String(n2 % 256) + output; + if (i3 !== 4) { + output = "." + output; + } + n2 = Math.floor(n2 / 256); + } + return output; + } + function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + input = punycode.ucs2.decode(input); + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + let value = 0; + let length = 0; + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 16 + parseInt(at2(input, pointer), 16); + ++pointer; + ++length; + } + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + pointer -= length; + if (pieceIndex > 6) { + return failure; + } + let numbersSeen = 0; + while (input[pointer] !== void 0) { + let ipv4Piece = null; + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + if (!isASCIIDigit(input[pointer])) { + return failure; + } + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at2(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + ++numbersSeen; + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + if (numbersSeen !== 4) { + return failure; + } + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === void 0) { + return failure; + } + } else if (input[pointer] !== void 0) { + return failure; + } + address[pieceIndex] = value; + ++pieceIndex; + } + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + return address; + } + function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + output += address[pieceIndex].toString(16); + if (pieceIndex !== 7) { + output += ":"; + } + } + return output; + } + function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + return parseIPv6(input.substring(1, input.length - 1)); + } + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + return asciiDomain; + } + function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i3 = 0; i3 < decoded.length; ++i3) { + output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); + } + return output; + } + function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; + let currStart = null; + let currLen = 0; + for (let i3 = 0; i3 < arr.length; ++i3) { + if (arr[i3] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i3; + } + ++currLen; + } + } + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + return { + idx: maxIdx, + len: maxLen + }; + } + function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + return host; + } + function trimControlChars(url2) { + return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); + } + function trimTabAndNewline(url2) { + return url2.replace(/\u0009|\u000A|\u000D/g, ""); + } + function shortenPath(url2) { + const path5 = url2.path; + if (path5.length === 0) { + return; + } + if (url2.scheme === "file" && path5.length === 1 && isNormalizedWindowsDriveLetter(path5[0])) { + return; + } + path5.pop(); + } + function includesCredentials(url2) { + return url2.username !== "" || url2.password !== ""; + } + function cannotHaveAUsernamePasswordPort(url2) { + return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; + } + function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); + } + function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url2; + this.failure = false; + this.parseError = false; + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + cannotBeABaseURL: false + }; + const res2 = trimControlChars(this.input); + if (res2 !== this.input) { + this.parseError = true; + } + this.input = res2; + } + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + this.state = stateOverride || "scheme start"; + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + this.input = punycode.ucs2.decode(this.input); + for (; this.pointer <= this.input.length; ++this.pointer) { + const c3 = this.input[this.pointer]; + const cStr = isNaN(c3) ? void 0 : String.fromCodePoint(c3); + const ret = this["parse " + this.state](c3, cStr); + if (!ret) { + break; + } else if (ret === failure) { + this.failure = true; + break; + } + } + } + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c3, cStr) { + if (isASCIIAlpha(c3)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse scheme"] = function parseScheme(c3, cStr) { + if (isASCIIAlphanumeric(c3) || c3 === 43 || c3 === 45 || c3 === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c3 === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c3) { + if (this.base === null || this.base.cannotBeABaseURL && c3 !== 35) { + return failure; + } else if (this.base.cannotBeABaseURL && c3 === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c3) { + if (c3 === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c3) { + if (c3 === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative"] = function parseRelative(c3) { + this.url.scheme = this.base.scheme; + if (isNaN(c3)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c3 === 47) { + this.state = "relative slash"; + } else if (c3 === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c3 === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c3) { + if (isSpecial(this.url) && (c3 === 47 || c3 === 92)) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c3 === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c3) { + if (c3 === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c3) { + if (c3 !== 47 && c3 !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + return true; + }; + URLStateMachine.prototype["parse authority"] = function parseAuthority(c3, cStr) { + if (c3 === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c3, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c3 === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c3 === 91) { + this.arrFlag = true; + } else if (c3 === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse port"] = function parsePort(c3, cStr) { + if (isASCIIDigit(c3)) { + this.buffer += cStr; + } else if (isNaN(c3) || c3 === 47 || c3 === 63 || c3 === 35 || isSpecial(this.url) && c3 === 92 || this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); + URLStateMachine.prototype["parse file"] = function parseFile(c3) { + this.url.scheme = "file"; + if (c3 === 47 || c3 === 92) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c3)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c3 === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c3, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c3) { + if (c3 === 47 || c3 === 92) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file host"] = function parseFileHost(c3, cStr) { + if (isNaN(c3) || c3 === 47 || c3 === 92 || c3 === 63 || c3 === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + if (this.stateOverride) { + return false; + } + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse path start"] = function parsePathStart(c3) { + if (isSpecial(this.url)) { + if (c3 === 92) { + this.parseError = true; + } + this.state = "path"; + if (c3 !== 47 && c3 !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c3 === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c3 !== void 0) { + this.state = "path"; + if (c3 !== 47) { + --this.pointer; + } + } + return true; + }; + URLStateMachine.prototype["parse path"] = function parsePath(c3) { + if (isNaN(c3) || c3 === 47 || isSpecial(this.url) && c3 === 92 || !this.stateOverride && (c3 === 63 || c3 === 35)) { + if (isSpecial(this.url) && c3 === 92) { + this.parseError = true; + } + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c3 !== 47 && !(isSpecial(this.url) && c3 === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c3 === void 0 || c3 === 63 || c3 === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c3 === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += percentEncodeChar(c3, isPathPercentEncode); + } + return true; + }; + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c3) { + if (c3 === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (!isNaN(c3) && c3 !== 37) { + this.parseError = true; + } + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + if (!isNaN(c3)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c3, isC0ControlPercentEncode); + } + } + return true; + }; + URLStateMachine.prototype["parse query"] = function parseQuery(c3, cStr) { + if (isNaN(c3) || !this.stateOverride && c3 === 35) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + const buffer = new Buffer(this.buffer); + for (let i3 = 0; i3 < buffer.length; ++i3) { + if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { + this.url.query += percentEncode(buffer[i3]); + } else { + this.url.query += String.fromCodePoint(buffer[i3]); + } + } + this.buffer = ""; + if (c3 === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse fragment"] = function parseFragment(c3) { + if (isNaN(c3)) { + } else if (c3 === 0) { + this.parseError = true; + } else { + if (c3 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.url.fragment += percentEncodeChar(c3, isC0ControlPercentEncode); + } + return true; + }; + function serializeURL(url2, excludeFragment) { + let output = url2.scheme + ":"; + if (url2.host !== null) { + output += "//"; + if (url2.username !== "" || url2.password !== "") { + output += url2.username; + if (url2.password !== "") { + output += ":" + url2.password; + } + output += "@"; + } + output += serializeHost(url2.host); + if (url2.port !== null) { + output += ":" + url2.port; + } + } else if (url2.host === null && url2.scheme === "file") { + output += "//"; + } + if (url2.cannotBeABaseURL) { + output += url2.path[0]; + } else { + for (const string of url2.path) { + output += "/" + string; + } + } + if (url2.query !== null) { + output += "?" + url2.query; + } + if (!excludeFragment && url2.fragment !== null) { + output += "#" + url2.fragment; + } + return output; + } + function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + if (tuple.port !== null) { + result += ":" + tuple.port; + } + return result; + } + module2.exports.serializeURL = serializeURL; + module2.exports.serializeURLOrigin = function(url2) { + switch (url2.scheme) { + case "blob": + try { + return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); + } catch (e3) { + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url2.scheme, + host: url2.host, + port: url2.port + }); + case "file": + return "file://"; + default: + return "null"; + } + }; + module2.exports.basicURLParse = function(input, options) { + if (options === void 0) { + options = {}; + } + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + return usm.url; + }; + module2.exports.setTheUsername = function(url2, username) { + url2.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + } + }; + module2.exports.setThePassword = function(url2, password) { + url2.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); + } + }; + module2.exports.serializeHost = serializeHost; + module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + module2.exports.serializeInteger = function(integer) { + return String(integer); + }; + module2.exports.parseURL = function(input, options) { + if (options === void 0) { + options = {}; + } + return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); + }; + } +}); + +// node_modules/whatwg-url/lib/URL-impl.js +var require_URL_impl = __commonJS({ + "node_modules/whatwg-url/lib/URL-impl.js"(exports) { + "use strict"; + var usm = require_url_state_machine(); + exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url2 = constructorArgs[0]; + const base = constructorArgs[1]; + let parsedBase = null; + if (base !== void 0) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get href() { + return usm.serializeURL(this._url); + } + set href(v5) { + const parsedURL = usm.basicURLParse(v5); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get origin() { + return usm.serializeURLOrigin(this._url); + } + get protocol() { + return this._url.scheme + ":"; + } + set protocol(v5) { + usm.basicURLParse(v5 + ":", { url: this._url, stateOverride: "scheme start" }); + } + get username() { + return this._url.username; + } + set username(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setTheUsername(this._url, v5); + } + get password() { + return this._url.password; + } + set password(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setThePassword(this._url, v5); + } + get host() { + const url2 = this._url; + if (url2.host === null) { + return ""; + } + if (url2.port === null) { + return usm.serializeHost(url2.host); + } + return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); + } + set host(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v5, { url: this._url, stateOverride: "host" }); + } + get hostname() { + if (this._url.host === null) { + return ""; + } + return usm.serializeHost(this._url.host); + } + set hostname(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v5, { url: this._url, stateOverride: "hostname" }); + } + get port() { + if (this._url.port === null) { + return ""; + } + return usm.serializeInteger(this._url.port); + } + set port(v5) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + if (v5 === "") { + this._url.port = null; + } else { + usm.basicURLParse(v5, { url: this._url, stateOverride: "port" }); + } + } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + if (this._url.path.length === 0) { + return ""; + } + return "/" + this._url.path.join("/"); + } + set pathname(v5) { + if (this._url.cannotBeABaseURL) { + return; + } + this._url.path = []; + usm.basicURLParse(v5, { url: this._url, stateOverride: "path start" }); + } + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + return "?" + this._url.query; + } + set search(v5) { + const url2 = this._url; + if (v5 === "") { + url2.query = null; + return; + } + const input = v5[0] === "?" ? v5.substring(1) : v5; + url2.query = ""; + usm.basicURLParse(input, { url: url2, stateOverride: "query" }); + } + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + return "#" + this._url.fragment; + } + set hash(v5) { + if (v5 === "") { + this._url.fragment = null; + return; + } + const input = v5[0] === "#" ? v5.substring(1) : v5; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + toJSON() { + return this.href; + } + }; + } +}); + +// node_modules/whatwg-url/lib/URL.js +var require_URL = __commonJS({ + "node_modules/whatwg-url/lib/URL.js"(exports, module2) { + "use strict"; + var conversions = require_lib2(); + var utils = require_utils2(); + var Impl = require_URL_impl(); + var impl = utils.implSymbol; + function URL2(url2) { + if (!this || this[impl] || !(this instanceof URL2)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { + args[i3] = arguments[i3]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== void 0) { + args[1] = conversions["USVString"](args[1]); + } + module2.exports.setup(this, args); + } + URL2.prototype.toJSON = function toJSON2() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { + args[i3] = arguments[i3]; + } + return this[impl].toJSON.apply(this[impl], args); + }; + Object.defineProperty(URL2.prototype, "href", { + get() { + return this[impl].href; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].href = V6; + }, + enumerable: true, + configurable: true + }); + URL2.prototype.toString = function() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; + }; + Object.defineProperty(URL2.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].protocol = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "username", { + get() { + return this[impl].username; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].username = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "password", { + get() { + return this[impl].password; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].password = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "host", { + get() { + return this[impl].host; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].host = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].hostname = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "port", { + get() { + return this[impl].port; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].port = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].pathname = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "search", { + get() { + return this[impl].search; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].search = V6; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL2.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V6) { + V6 = conversions["USVString"](V6); + this[impl].hash = V6; + }, + enumerable: true, + configurable: true + }); + module2.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL2.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) + privateData = {}; + privateData.wrapper = obj; + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL2, + expose: { + Window: { URL: URL2 }, + Worker: { URL: URL2 } + } + }; + } +}); + +// node_modules/whatwg-url/lib/public-api.js +var require_public_api = __commonJS({ + "node_modules/whatwg-url/lib/public-api.js"(exports) { + "use strict"; + exports.URL = require_URL().interface; + exports.serializeURL = require_url_state_machine().serializeURL; + exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; + exports.basicURLParse = require_url_state_machine().basicURLParse; + exports.setTheUsername = require_url_state_machine().setTheUsername; + exports.setThePassword = require_url_state_machine().setThePassword; + exports.serializeHost = require_url_state_machine().serializeHost; + exports.serializeInteger = require_url_state_machine().serializeInteger; + exports.parseURL = require_url_state_machine().parseURL; + } +}); + +// node_modules/node-fetch/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/node-fetch/lib/index.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function _interopDefault(ex) { + return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; + } + var Stream2 = _interopDefault(require("stream")); + var http3 = _interopDefault(require("http")); + var Url = _interopDefault(require("url")); + var whatwgUrl = _interopDefault(require_public_api()); + var https3 = _interopDefault(require("https")); + var zlib3 = _interopDefault(require("zlib")); + var Readable4 = Stream2.Readable; + var BUFFER = Symbol("buffer"); + var TYPE = Symbol("type"); + var Blob4 = class { + constructor() { + this[TYPE] = ""; + const blobParts = arguments[0]; + const options = arguments[1]; + const buffers = []; + let size = 0; + if (blobParts) { + const a4 = blobParts; + const length = Number(a4.length); + for (let i3 = 0; i3 < length; i3++) { + const element = a4[i3]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob4) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === "string" ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + this[BUFFER] = Buffer.concat(buffers); + let type2 = options && options.type !== void 0 && String(options.type).toLowerCase(); + if (type2 && !/[^\u0020-\u007E]/.test(type2)) { + this[TYPE] = type2; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable4(); + readable._read = function() { + }; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return "[object Blob]"; + } + slice() { + const size = this.size; + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === void 0) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === void 0) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob4([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } + }; + Object.defineProperties(Blob4.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } + }); + Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { + value: "Blob", + writable: false, + enumerable: false, + configurable: true + }); + function FetchError(message, type2, systemError) { + Error.call(this, message); + this.message = message; + this.type = type2; + if (systemError) { + this.code = this.errno = systemError.code; + } + Error.captureStackTrace(this, this.constructor); + } + FetchError.prototype = Object.create(Error.prototype); + FetchError.prototype.constructor = FetchError; + FetchError.prototype.name = "FetchError"; + var convert; + try { + convert = require("encoding").convert; + } catch (e3) { + } + var INTERNALS = Symbol("Body internals"); + var PassThrough = Stream2.PassThrough; + function Body(body) { + var _this = this; + var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; + let size = _ref$size === void 0 ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; + if (body == null) { + body = null; + } else if (isURLSearchParams2(body)) { + body = Buffer.from(body.toString()); + } else if (isBlob4(body)) + ; + else if (Buffer.isBuffer(body)) + ; + else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream2) + ; + else { + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + if (body instanceof Stream2) { + body.on("error", function(err) { + const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); + _this[INTERNALS].error = error; + }); + } + } + Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + arrayBuffer() { + return consumeBody.call(this).then(function(buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + blob() { + let ct2 = this.headers && this.headers.get("content-type") || ""; + return consumeBody.call(this).then(function(buf) { + return Object.assign( + new Blob4([], { + type: ct2.toLowerCase() + }), + { + [BUFFER]: buf + } + ); + }); + }, + json() { + var _this2 = this; + return consumeBody.call(this).then(function(buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); + } + }); + }, + text() { + return consumeBody.call(this).then(function(buffer) { + return buffer.toString(); + }); + }, + buffer() { + return consumeBody.call(this); + }, + textConverted() { + var _this3 = this; + return consumeBody.call(this).then(function(buffer) { + return convertBody(buffer, _this3.headers); + }); + } + }; + Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } + }); + Body.mixIn = function(proto2) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + if (!(name in proto2)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto2, name, desc); + } + } + }; + function consumeBody() { + var _this4 = this; + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + this[INTERNALS].disturbed = true; + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + let body = this.body; + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + if (isBlob4(body)) { + body = body.stream(); + } + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + if (!(body instanceof Stream2)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + let accum = []; + let accumBytes = 0; + let abort = false; + return new Body.Promise(function(resolve, reject) { + let resTimeout; + if (_this4.timeout) { + resTimeout = setTimeout(function() { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); + }, _this4.timeout); + } + body.on("error", function(err) { + if (err.name === "AbortError") { + abort = true; + reject(err); + } else { + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); + } + }); + body.on("data", function(chunk) { + if (abort || chunk === null) { + return; + } + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); + return; + } + accumBytes += chunk.length; + accum.push(chunk); + }); + body.on("end", function() { + if (abort) { + return; + } + clearTimeout(resTimeout); + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); + } + }); + }); + } + function convertBody(buffer, headers) { + if (typeof convert !== "function") { + throw new Error("The package `encoding` must be installed to use the textConverted() function"); + } + const ct2 = headers.get("content-type"); + let charset = "utf-8"; + let res, str; + if (ct2) { + res = /charset=([^;]*)/i.exec(ct2); + } + str = buffer.slice(0, 1024).toString(); + if (!res && str) { + res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str); + } + if (!res && str) { + res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str); + if (!res) { + res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str); + if (res) { + res.pop(); + } + } + if (res) { + res = /charset=(.*)/i.exec(res.pop()); + } + } + if (!res && str) { + res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str); + } + if (res) { + charset = res.pop(); + if (charset === "gb2312" || charset === "gbk") { + charset = "gb18030"; + } + } + return convert(buffer, "UTF-8", charset).toString(); + } + function isURLSearchParams2(obj) { + if (typeof obj !== "object" || typeof obj.append !== "function" || typeof obj.delete !== "function" || typeof obj.get !== "function" || typeof obj.getAll !== "function" || typeof obj.has !== "function" || typeof obj.set !== "function") { + return false; + } + return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; + } + function isBlob4(obj) { + return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); + } + function clone(instance) { + let p1, p22; + let body = instance.body; + if (instance.bodyUsed) { + throw new Error("cannot clone body after it is used"); + } + if (body instanceof Stream2 && typeof body.getBoundary !== "function") { + p1 = new PassThrough(); + p22 = new PassThrough(); + body.pipe(p1); + body.pipe(p22); + instance[INTERNALS].body = p1; + body = p22; + } + return body; + } + function extractContentType(body) { + if (body === null) { + return null; + } else if (typeof body === "string") { + return "text/plain;charset=UTF-8"; + } else if (isURLSearchParams2(body)) { + return "application/x-www-form-urlencoded;charset=UTF-8"; + } else if (isBlob4(body)) { + return body.type || null; + } else if (Buffer.isBuffer(body)) { + return null; + } else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { + return null; + } else if (ArrayBuffer.isView(body)) { + return null; + } else if (typeof body.getBoundary === "function") { + return `multipart/form-data;boundary=${body.getBoundary()}`; + } else if (body instanceof Stream2) { + return null; + } else { + return "text/plain;charset=UTF-8"; + } + } + function getTotalBytes(instance) { + const body = instance.body; + if (body === null) { + return 0; + } else if (isBlob4(body)) { + return body.size; + } else if (Buffer.isBuffer(body)) { + return body.length; + } else if (body && typeof body.getLengthSync === "function") { + if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || body.hasKnownLength && body.hasKnownLength()) { + return body.getLengthSync(); + } + return null; + } else { + return null; + } + } + function writeToStream(dest, instance) { + const body = instance.body; + if (body === null) { + dest.end(); + } else if (isBlob4(body)) { + body.stream().pipe(dest); + } else if (Buffer.isBuffer(body)) { + dest.write(body); + dest.end(); + } else { + body.pipe(dest); + } + } + Body.Promise = global.Promise; + var invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; + var invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + function validateName(name) { + name = `${name}`; + if (invalidTokenRegex.test(name) || name === "") { + throw new TypeError(`${name} is not a legal HTTP header name`); + } + } + function validateValue(value) { + value = `${value}`; + if (invalidHeaderCharRegex.test(value)) { + throw new TypeError(`${value} is not a legal HTTP header value`); + } + } + function find(map, name) { + name = name.toLowerCase(); + for (const key in map) { + if (key.toLowerCase() === name) { + return key; + } + } + return void 0; + } + var MAP = Symbol("map"); + var Headers3 = class { + constructor() { + let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; + this[MAP] = /* @__PURE__ */ Object.create(null); + if (init instanceof Headers3) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + return; + } + if (init == null) + ; + else if (typeof init === "object") { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== "function") { + throw new TypeError("Header pairs must be iterable"); + } + const pairs = []; + for (const pair of init) { + if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { + throw new TypeError("Each header pair must be iterable"); + } + pairs.push(Array.from(pair)); + } + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError("Each header pair must be a name/value tuple"); + } + this.append(pair[0], pair[1]); + } + } else { + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError("Provided initializer must be an object"); + } + } + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === void 0) { + return null; + } + return this[MAP][key].join(", "); + } + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; + let pairs = getHeaders(this); + let i3 = 0; + while (i3 < pairs.length) { + var _pairs$i = pairs[i3]; + const name = _pairs$i[0], value = _pairs$i[1]; + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i3++; + } + } + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== void 0 ? key : name] = [value]; + } + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== void 0) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== void 0; + } + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== void 0) { + delete this[MAP][key]; + } + } + raw() { + return this[MAP]; + } + keys() { + return createHeadersIterator(this, "key"); + } + values() { + return createHeadersIterator(this, "value"); + } + [Symbol.iterator]() { + return createHeadersIterator(this, "key+value"); + } + }; + Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; + Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { + value: "Headers", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Headers3.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } + }); + function getHeaders(headers) { + let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind2 === "key" ? function(k7) { + return k7.toLowerCase(); + } : kind2 === "value" ? function(k7) { + return headers[MAP][k7].join(", "); + } : function(k7) { + return [k7.toLowerCase(), headers[MAP][k7].join(", ")]; + }); + } + var INTERNAL = Symbol("internal"); + function createHeadersIterator(target, kind2) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind: kind2, + index: 0 + }; + return iterator; + } + var HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError("Value of `this` is not a HeadersIterator"); + } + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind2); + const len = values.length; + if (index >= len) { + return { + value: void 0, + done: true + }; + } + this[INTERNAL].index = index + 1; + return { + value: values[index], + done: false + }; + } + }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: "HeadersIterator", + writable: false, + enumerable: false, + configurable: true + }); + function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + const hostHeaderKey = find(headers[MAP], "Host"); + if (hostHeaderKey !== void 0) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + return obj; + } + function createHeadersLenient(obj) { + const headers = new Headers3(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === void 0) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; + } + var INTERNALS$1 = Symbol("Response internals"); + var STATUS_CODES = http3.STATUS_CODES; + var Response3 = class { + constructor() { + let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + Body.call(this, body, opts); + const status = opts.status || 200; + const headers = new Headers3(opts.headers); + if (body != null && !headers.has("Content-Type")) { + const contentType = extractContentType(body); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + get url() { + return this[INTERNALS$1].url || ""; + } + get status() { + return this[INTERNALS$1].status; + } + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + get redirected() { + return this[INTERNALS$1].counter > 0; + } + get statusText() { + return this[INTERNALS$1].statusText; + } + get headers() { + return this[INTERNALS$1].headers; + } + clone() { + return new Response3(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } + }; + Body.mixIn(Response3.prototype); + Object.defineProperties(Response3.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } + }); + Object.defineProperty(Response3.prototype, Symbol.toStringTag, { + value: "Response", + writable: false, + enumerable: false, + configurable: true + }); + var INTERNALS$2 = Symbol("Request internals"); + var URL2 = Url.URL || whatwgUrl.URL; + var parse_url = Url.parse; + var format_url = Url.format; + function parseURL(urlStr) { + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL2(urlStr).toString(); + } + return parse_url(urlStr); + } + var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; + function isRequest(input) { + return typeof input === "object" && typeof input[INTERNALS$2] === "object"; + } + function isAbortSignal(signal) { + const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); + return !!(proto2 && proto2.constructor.name === "AbortSignal"); + } + var Request3 = class { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + let parsedURL; + if (!isRequest(input)) { + if (input && input.href) { + parsedURL = parseURL(input.href); + } else { + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + let method = init.method || input.method || "GET"; + method = method.toUpperCase(); + if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body"); + } + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + const headers = new Headers3(init.headers || input.headers || {}); + if (inputBody != null && !headers.has("Content-Type")) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + let signal = isRequest(input) ? input.signal : null; + if ("signal" in init) + signal = init.signal; + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError("Expected signal to be an instanceof AbortSignal"); + } + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || "follow", + headers, + parsedURL, + signal + }; + this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; + this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + get method() { + return this[INTERNALS$2].method; + } + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + get headers() { + return this[INTERNALS$2].headers; + } + get redirect() { + return this[INTERNALS$2].redirect; + } + get signal() { + return this[INTERNALS$2].signal; + } + clone() { + return new Request3(this); + } + }; + Body.mixIn(Request3.prototype); + Object.defineProperty(Request3.prototype, Symbol.toStringTag, { + value: "Request", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Request3.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } + }); + function getNodeRequestOptions(request3) { + const parsedURL = request3[INTERNALS$2].parsedURL; + const headers = new Headers3(request3[INTERNALS$2].headers); + if (!headers.has("Accept")) { + headers.set("Accept", "*/*"); + } + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError("Only absolute URLs are supported"); + } + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError("Only HTTP(S) protocols are supported"); + } + if (request3.signal && request3.body instanceof Stream2.Readable && !streamDestructionSupported) { + throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); + } + let contentLengthValue = null; + if (request3.body == null && /^(POST|PUT)$/i.test(request3.method)) { + contentLengthValue = "0"; + } + if (request3.body != null) { + const totalBytes = getTotalBytes(request3); + if (typeof totalBytes === "number") { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set("Content-Length", contentLengthValue); + } + if (!headers.has("User-Agent")) { + headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); + } + if (request3.compress && !headers.has("Accept-Encoding")) { + headers.set("Accept-Encoding", "gzip,deflate"); + } + let agent = request3.agent; + if (typeof agent === "function") { + agent = agent(parsedURL); + } + return Object.assign({}, parsedURL, { + method: request3.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); + } + function AbortError2(message) { + Error.call(this, message); + this.type = "aborted"; + this.message = message; + Error.captureStackTrace(this, this.constructor); + } + AbortError2.prototype = Object.create(Error.prototype); + AbortError2.prototype.constructor = AbortError2; + AbortError2.prototype.name = "AbortError"; + var URL$1 = Url.URL || whatwgUrl.URL; + var PassThrough$1 = Stream2.PassThrough; + var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); + }; + var isSameProtocol = function isSameProtocol2(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + return orig === dest; + }; + function fetch2(url2, opts) { + if (!fetch2.Promise) { + throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); + } + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request3 = new Request3(url2, opts); + const options = getNodeRequestOptions(request3); + const send = (options.protocol === "https:" ? https3 : http3).request; + const signal = request3.signal; + let response = null; + const abort = function abort2() { + let error = new AbortError2("The user aborted a request."); + reject(error); + if (request3.body && request3.body instanceof Stream2.Readable) { + destroyStream(request3.body, error); + } + if (!response || !response.body) + return; + response.body.emit("error", error); + }; + if (signal && signal.aborted) { + abort(); + return; + } + const abortAndFinalize = function abortAndFinalize2() { + abort(); + finalize(); + }; + const req = send(options); + let reqTimeout; + if (signal) { + signal.addEventListener("abort", abortAndFinalize); + } + function finalize() { + req.abort(); + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + clearTimeout(reqTimeout); + } + if (request3.timeout) { + req.once("socket", function(socket) { + reqTimeout = setTimeout(function() { + reject(new FetchError(`network timeout at: ${request3.url}`, "request-timeout")); + finalize(); + }, request3.timeout); + }); + } + req.on("error", function(err) { + reject(new FetchError(`request to ${request3.url} failed, reason: ${err.message}`, "system", err)); + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); + }); + fixResponseChunkedTransferBadEnding(req, function(err) { + if (signal && signal.aborted) { + return; + } + if (response && response.body) { + destroyStream(response.body, err); + } + }); + if (parseInt(process.version.substring(1)) < 14) { + req.on("socket", function(s2) { + s2.addListener("close", function(hadError) { + const hasDataListener = s2.listenerCount("data") > 0; + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + response.body.emit("error", err); + } + }); + }); + } + req.on("response", function(res) { + clearTimeout(reqTimeout); + const headers = createHeadersLenient(res.headers); + if (fetch2.isRedirect(res.statusCode)) { + const location = headers.get("Location"); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request3.url).toString(); + } catch (err) { + if (request3.redirect !== "manual") { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); + finalize(); + return; + } + } + switch (request3.redirect) { + case "error": + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request3.url}`, "no-redirect")); + finalize(); + return; + case "manual": + if (locationURL !== null) { + try { + headers.set("Location", locationURL); + } catch (err) { + reject(err); + } + } + break; + case "follow": + if (locationURL === null) { + break; + } + if (request3.counter >= request3.follow) { + reject(new FetchError(`maximum redirect reached at: ${request3.url}`, "max-redirect")); + finalize(); + return; + } + const requestOpts = { + headers: new Headers3(request3.headers), + follow: request3.follow, + counter: request3.counter + 1, + agent: request3.agent, + compress: request3.compress, + method: request3.method, + body: request3.body, + signal: request3.signal, + timeout: request3.timeout, + size: request3.size + }; + if (!isDomainOrSubdomain(request3.url, locationURL) || !isSameProtocol(request3.url, locationURL)) { + for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { + requestOpts.headers.delete(name); + } + } + if (res.statusCode !== 303 && request3.body && getTotalBytes(request3) === null) { + reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); + finalize(); + return; + } + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request3.method === "POST") { + requestOpts.method = "GET"; + requestOpts.body = void 0; + requestOpts.headers.delete("content-length"); + } + resolve(fetch2(new Request3(locationURL, requestOpts))); + finalize(); + return; + } + } + res.once("end", function() { + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + const response_options = { + url: request3.url, + status: res.statusCode, + statusText: res.statusMessage, + headers, + size: request3.size, + timeout: request3.timeout, + counter: request3.counter + }; + const codings = headers.get("Content-Encoding"); + if (!request3.compress || request3.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response3(body, response_options); + resolve(response); + return; + } + const zlibOptions2 = { + flush: zlib3.Z_SYNC_FLUSH, + finishFlush: zlib3.Z_SYNC_FLUSH + }; + if (codings == "gzip" || codings == "x-gzip") { + body = body.pipe(zlib3.createGunzip(zlibOptions2)); + response = new Response3(body, response_options); + resolve(response); + return; + } + if (codings == "deflate" || codings == "x-deflate") { + const raw = res.pipe(new PassThrough$1()); + raw.once("data", function(chunk) { + if ((chunk[0] & 15) === 8) { + body = body.pipe(zlib3.createInflate()); + } else { + body = body.pipe(zlib3.createInflateRaw()); + } + response = new Response3(body, response_options); + resolve(response); + }); + raw.on("end", function() { + if (!response) { + response = new Response3(body, response_options); + resolve(response); + } + }); + return; + } + if (codings == "br" && typeof zlib3.createBrotliDecompress === "function") { + body = body.pipe(zlib3.createBrotliDecompress()); + response = new Response3(body, response_options); + resolve(response); + return; + } + response = new Response3(body, response_options); + resolve(response); + }); + writeToStream(req, request3); + }); + } + function fixResponseChunkedTransferBadEnding(request3, errorCallback) { + let socket; + request3.on("socket", function(s2) { + socket = s2; + }); + request3.on("response", function(response) { + const headers = response.headers; + if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { + response.once("close", function(hadError) { + const hasDataListener = socket && socket.listenerCount("data") > 0; + if (hasDataListener && !hadError) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + errorCallback(err); + } + }); + } + }); + } + function destroyStream(stream4, err) { + if (stream4.destroy) { + stream4.destroy(err); + } else { + stream4.emit("error", err); + stream4.end(); + } + } + fetch2.isRedirect = function(code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + }; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = exports; + exports.Headers = Headers3; + exports.Request = Request3; + exports.Response = Response3; + exports.FetchError = FetchError; + exports.AbortError = AbortError2; + } +}); + +// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs +function t() { +} +function r2(e3) { + return "object" == typeof e3 && null !== e3 || "function" == typeof e3; +} +function n(e3, t2) { + try { + Object.defineProperty(e3, "name", { value: t2, configurable: true }); + } catch (e4) { + } +} +function u2(e3) { + return new a3(e3); +} +function c2(e3) { + return l2(e3); +} +function d6(e3) { + return s(e3); +} +function f3(e3, t2, r3) { + return i2.call(e3, t2, r3); +} +function b6(e3, t2, r3) { + f3(f3(e3, t2, r3), void 0, o2); +} +function h3(e3, t2) { + b6(e3, t2); +} +function _6(e3, t2) { + b6(e3, void 0, t2); +} +function p3(e3, t2, r3) { + return f3(e3, t2, r3); +} +function m4(e3) { + f3(e3, void 0, o2); +} +function g3(e3, t2, r3) { + if ("function" != typeof e3) + throw new TypeError("Argument is not a function"); + return Function.prototype.apply.call(e3, t2, r3); +} +function w6(e3, t2, r3) { + try { + return c2(g3(e3, t2, r3)); + } catch (e4) { + return d6(e4); + } +} +function E3(e3, t2) { + e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O4(e3) : "closed" === t2._state ? function(e4) { + O4(e4), j3(e4); + }(e3) : B2(e3, t2._storedError); +} +function P3(e3, t2) { + return Gt(e3._ownerReadableStream, t2); +} +function W5(e3) { + const t2 = e3._ownerReadableStream; + "readable" === t2._state ? A4(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { + B2(e4, t3); + }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C4](), t2._reader = void 0, e3._ownerReadableStream = void 0; +} +function k6(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released reader"); +} +function O4(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; + }); +} +function B2(e3, t2) { + O4(e3), A4(e3, t2); +} +function A4(e3, t2) { + void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function j3(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function F4(e3, t2) { + if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) + throw new TypeError(`${t2} is not an object.`); + var r3; +} +function I4(e3, t2) { + if ("function" != typeof e3) + throw new TypeError(`${t2} is not a function.`); +} +function D4(e3, t2) { + if (!function(e4) { + return "object" == typeof e4 && null !== e4 || "function" == typeof e4; + }(e3)) + throw new TypeError(`${t2} is not an object.`); +} +function $5(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); +} +function M4(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`${t2} is required in '${r3}'.`); +} +function Y2(e3) { + return Number(e3); +} +function Q4(e3) { + return 0 === e3 ? 0 : e3; +} +function N5(e3, t2) { + const r3 = Number.MAX_SAFE_INTEGER; + let o3 = Number(e3); + if (o3 = Q4(o3), !z5(o3)) + throw new TypeError(`${t2} is not a finite number`); + if (o3 = function(e4) { + return Q4(L6(e4)); + }(o3), o3 < 0 || o3 > r3) + throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); + return z5(o3) && 0 !== o3 ? o3 : 0; +} +function H4(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getReader) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function x4(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getWriter) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function V5(e3, t2) { + if (!Vt(e3)) + throw new TypeError(`${t2} is not a ReadableStream.`); +} +function U6(e3, t2) { + e3._reader._readRequests.push(t2); +} +function G5(e3, t2, r3) { + const o3 = e3._reader._readRequests.shift(); + r3 ? o3._closeSteps() : o3._chunkSteps(t2); +} +function X4(e3) { + return e3._reader._readRequests.length; +} +function J4(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!K5(t2); +} +function K5(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); +} +function Z5(e3, t2) { + const r3 = e3._readRequests; + e3._readRequests = new S5(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function ee2(e3) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); +} +function oe(e3) { + if (!r2(e3)) + return false; + if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) + return false; + try { + return e3._asyncIteratorImpl instanceof te; + } catch (e4) { + return false; + } +} +function ne(e3) { + return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); +} +function ie2(e3, t2, r3, o3, n2) { + new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); +} +function le2(e3) { + const t2 = function(e4, t3, r3) { + if (e4.slice) + return e4.slice(t3, r3); + const o3 = r3 - t3, n2 = new ArrayBuffer(o3); + return ie2(n2, 0, e4, t3, o3), n2; + }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); + return new Uint8Array(t2); +} +function se(e3) { + const t2 = e3._queue.shift(); + return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; +} +function ue2(e3, t2, r3) { + if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + var o3; + e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; +} +function ce2(e3) { + e3._queue = new S5(), e3._queueTotalSize = 0; +} +function de(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); +} +function fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); +} +function be(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableByteStream; + if ("readable" !== t3._state) + return false; + if (e4._closeRequested) + return false; + if (!e4._started) + return false; + if (J4(t3) && X4(t3) > 0) + return true; + if (Le(t3) && ze(t3) > 0) + return true; + if (ke(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); +} +function he(e3) { + Re(e3), e3._pendingPullIntos = new S5(); +} +function _e(e3, t2) { + let r3 = false; + "closed" === e3._state && (r3 = true); + const o3 = pe(t2); + "default" === t2.readerType ? G5(e3, o3, r3) : function(e4, t3, r4) { + const o4 = e4._reader._readIntoRequests.shift(); + r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); + }(e3, o3, r3); +} +function pe(e3) { + const t2 = e3.bytesFilled, r3 = e3.elementSize; + return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); +} +function me(e3, t2, r3, o3) { + e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; +} +function ye(e3, t2, r3, o3) { + let n2; + try { + n2 = t2.slice(r3, r3 + o3); + } catch (t3) { + throw Pe(e3, t3), t3; + } + me(e3, n2, 0, o3); +} +function ge(e3, t2) { + t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); +} +function we(e3, t2) { + const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a4 = t2.bytesFilled + n2, i3 = a4 - a4 % r3; + let l3 = n2, s2 = false; + i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); + const u3 = e3._queue; + for (; l3 > 0; ) { + const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; + ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; + } + return s2; +} +function Se(e3, t2, r3) { + r3.bytesFilled += t2; +} +function ve(e3) { + 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); +} +function Re(e3) { + null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); +} +function Te(e3) { + for (; e3._pendingPullIntos.length > 0; ) { + if (0 === e3._queueTotalSize) + return; + const t2 = e3._pendingPullIntos.peek(); + we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); + } +} +function qe(e3, t2) { + const r3 = e3._pendingPullIntos.peek(); + Re(e3); + "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { + "none" === t3.readerType && Ce(e4); + const r4 = e4._controlledReadableByteStream; + if (Le(r4)) + for (; ze(r4) > 0; ) + _e(r4, Ce(e4)); + }(e3, r3) : function(e4, t3, r4) { + if (Se(0, t3, r4), "none" === r4.readerType) + return ge(e4, r4), void Te(e4); + if (r4.bytesFilled < r4.elementSize) + return; + Ce(e4); + const o3 = r4.bytesFilled % r4.elementSize; + if (o3 > 0) { + const t4 = r4.byteOffset + r4.bytesFilled; + ye(e4, r4.buffer, t4 - o3, o3); + } + r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); + }(e3, t2, r3), be(e3); +} +function Ce(e3) { + return e3._pendingPullIntos.shift(); +} +function Ee(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; +} +function Pe(e3, t2) { + const r3 = e3._controlledReadableByteStream; + "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); +} +function We(e3, t2) { + const r3 = e3._queue.shift(); + e3._queueTotalSize -= r3.byteLength, ve(e3); + const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); + t2._chunkSteps(o3); +} +function ke(e3) { + const t2 = e3._controlledReadableByteStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Oe(e3, t2, r3) { + const o3 = Object.create(ReadableByteStreamController.prototype); + let n2, a4, i3; + n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { + }, a4 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c2(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0); + const l3 = t2.autoAllocateChunkSize; + if (0 === l3) + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + !function(e4, t3, r4, o4, n3, a5, i4) { + t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S5(), e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); + }(e3, o3, n2, a4, i3, r3, l3); +} +function Be(e3) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); +} +function Ae(e3) { + return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); +} +function je(e3, t2) { + e3._reader._readIntoRequests.push(t2); +} +function ze(e3) { + return e3._reader._readIntoRequests.length; +} +function Le(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!Fe(t2); +} +function Fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); +} +function Ie(e3, t2) { + const r3 = e3._readIntoRequests; + e3._readIntoRequests = new S5(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function De(e3) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); +} +function $e(e3, t2) { + const { highWaterMark: r3 } = e3; + if (void 0 === r3) + return t2; + if (ae2(r3) || r3 < 0) + throw new RangeError("Invalid highWaterMark"); + return r3; +} +function Me(e3) { + const { size: t2 } = e3; + return t2 || (() => 1); +} +function Ye(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; + return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; +} +function Qe(e3, t2) { + return I4(e3, t2), (t3) => Y2(e3(t3)); +} +function Ne(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function He(e3, t2, r3) { + return I4(e3, r3), () => w6(e3, t2, []); +} +function xe(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function Ve(e3, t2, r3) { + return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); +} +function Ge(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); +} +function Xe(e3) { + return void 0 !== e3._writer; +} +function Je(e3, t2) { + var r3; + if ("closed" === e3._state || "errored" === e3._state) + return c2(void 0); + e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); + const o3 = e3._state; + if ("closed" === o3 || "errored" === o3) + return c2(void 0); + if (void 0 !== e3._pendingAbortRequest) + return e3._pendingAbortRequest._promise; + let n2 = false; + "erroring" === o3 && (n2 = true, t2 = void 0); + const a4 = u2((r4, o4) => { + e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; + }); + return e3._pendingAbortRequest._promise = a4, n2 || et(e3, t2), a4; +} +function Ke(e3) { + const t2 = e3._state; + if ("closed" === t2 || "errored" === t2) + return d6(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); + const r3 = u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e3._closeRequest = o4; + }), o3 = e3._writer; + var n2; + return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; +} +function Ze(e3, t2) { + "writable" !== e3._state ? tt(e3) : et(e3, t2); +} +function et(e3, t2) { + const r3 = e3._writableStreamController; + e3._state = "erroring", e3._storedError = t2; + const o3 = e3._writer; + void 0 !== o3 && it(o3, t2), !function(e4) { + if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) + return false; + return true; + }(e3) && r3._started && tt(e3); +} +function tt(e3) { + e3._state = "errored", e3._writableStreamController[R6](); + const t2 = e3._storedError; + if (e3._writeRequests.forEach((e4) => { + e4._reject(t2); + }), e3._writeRequests = new S5(), void 0 === e3._pendingAbortRequest) + return void ot(e3); + const r3 = e3._pendingAbortRequest; + if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) + return r3._reject(t2), void ot(e3); + b6(e3._writableStreamController[v4](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); +} +function rt(e3) { + return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; +} +function ot(e3) { + void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); + const t2 = e3._writer; + void 0 !== t2 && St(t2, e3._storedError); +} +function nt(e3, t2) { + const r3 = e3._writer; + void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { + Rt(e4); + }(r3) : Et(r3)), e3._backpressure = t2; +} +function at(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); +} +function it(e3, t2) { + "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { + Tt(e4, t3); + }(e3, t2); +} +function st(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); +} +function ut(e3) { + e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function ct(e3) { + return e3._strategyHWM - e3._queueTotalSize; +} +function dt(e3) { + const t2 = e3._controlledWritableStream; + if (!e3._started) + return; + if (void 0 !== t2._inFlightWriteRequest) + return; + if ("erroring" === t2._state) + return void tt(t2); + if (0 === e3._queue.length) + return; + const r3 = e3._queue.peek().value; + r3 === lt ? function(e4) { + const t3 = e4._controlledWritableStream; + (function(e5) { + e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; + })(t3), se(e4); + const r4 = e4._closeAlgorithm(); + ut(e4), b6(r4, () => (function(e5) { + e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; + const t4 = e5._writer; + void 0 !== t4 && vt(t4); + }(t3), null), (e5) => (function(e6, t4) { + e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); + }(t3, e5), null)); + }(e3) : function(e4, t3) { + const r4 = e4._controlledWritableStream; + !function(e5) { + e5._inFlightWriteRequest = e5._writeRequests.shift(); + }(r4); + b6(e4._writeAlgorithm(t3), () => { + !function(e5) { + e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; + }(r4); + const t4 = r4._state; + if (se(e4), !rt(r4) && "writable" === t4) { + const t5 = bt(e4); + nt(r4, t5); + } + return dt(e4), null; + }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { + e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); + }(r4, t4), null)); + }(e3, r3); +} +function ft(e3, t2) { + "writable" === e3._controlledWritableStream._state && ht(e3, t2); +} +function bt(e3) { + return ct(e3) <= 0; +} +function ht(e3, t2) { + const r3 = e3._controlledWritableStream; + ut(e3), et(r3, t2); +} +function _t(e3) { + return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); +} +function pt(e3) { + return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); +} +function mt(e3) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); +} +function yt(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released writer"); +} +function gt(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; + }); +} +function wt(e3, t2) { + gt(e3), St(e3, t2); +} +function St(e3, t2) { + void 0 !== e3._closedPromise_reject && (m4(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); +} +function vt(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); +} +function Rt(e3) { + e3._readyPromise = u2((t2, r3) => { + e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; + }), e3._readyPromiseState = "pending"; +} +function Tt(e3, t2) { + Rt(e3), Ct(e3, t2); +} +function qt(e3) { + Rt(e3), Et(e3); +} +function Ct(e3, t2) { + void 0 !== e3._readyPromise_reject && (m4(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); +} +function Et(e3) { + void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); +} +function kt(e3, t2, r3, o3, n2, a4) { + const i3 = e3.getReader(), l3 = t2.getWriter(); + Vt(e3) && (e3._disturbed = true); + let s2, _7, g4, w7 = false, S6 = false, v5 = "readable", R7 = "writable", T6 = false, q6 = false; + const C5 = u2((e4) => { + g4 = e4; + }); + let E4 = Promise.resolve(void 0); + return u2((P4, W6) => { + let k7; + function O5() { + if (w7) + return; + const e4 = u2((e5, t3) => { + !function r4(o4) { + o4 ? e5() : f3(function() { + if (w7) + return c2(true); + return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E4 = l3.write(e6.value), m4(E4), false))); + }(), r4, t3); + }(false); + }); + m4(e4); + } + function B3() { + return v5 = "closed", r3 ? L7() : z6(() => (Ge(t2) && (T6 = rt(t2), R7 = t2._state), T6 || "closed" === R7 ? c2(void 0) : "erroring" === R7 || "errored" === R7 ? d6(_7) : (T6 = true, l3.close())), false, void 0), null; + } + function A5(e4) { + return w7 || (v5 = "errored", s2 = e4, o3 ? L7(true, e4) : z6(() => l3.abort(e4), true, e4)), null; + } + function j4(e4) { + return S6 || (R7 = "errored", _7 = e4, n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4)), null; + } + if (void 0 !== a4 && (k7 = () => { + const e4 = void 0 !== a4.reason ? a4.reason : new Wt("Aborted", "AbortError"), t3 = []; + o3 || t3.push(() => "writable" === R7 ? l3.abort(e4) : c2(void 0)), n2 || t3.push(() => "readable" === v5 ? i3.cancel(e4) : c2(void 0)), z6(() => Promise.all(t3.map((e5) => e5())), true, e4); + }, a4.aborted ? k7() : a4.addEventListener("abort", k7)), Vt(e3) && (v5 = e3._state, s2 = e3._storedError), Ge(t2) && (R7 = t2._state, _7 = t2._storedError, T6 = rt(t2)), Vt(e3) && Ge(t2) && (q6 = true, g4()), "errored" === v5) + A5(s2); + else if ("erroring" === R7 || "errored" === R7) + j4(_7); + else if ("closed" === v5) + B3(); + else if (T6 || "closed" === R7) { + const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); + n2 ? L7(true, e4) : z6(() => i3.cancel(e4), true, e4); + } + function z6(e4, t3, r4) { + function o4() { + return "writable" !== R7 || T6 ? n3() : h3(function() { + let e5; + return c2(function t4() { + if (e5 !== E4) + return e5 = E4, p3(E4, t4, t4); + }()); + }(), n3), null; + } + function n3() { + return e4 ? b6(e4(), () => F5(t3, r4), (e5) => F5(true, e5)) : F5(t3, r4), null; + } + w7 || (w7 = true, q6 ? o4() : h3(C5, o4)); + } + function L7(e4, t3) { + z6(void 0, e4, t3); + } + function F5(e4, t3) { + return S6 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a4 && a4.removeEventListener("abort", k7), e4 ? W6(t3) : P4(void 0), null; + } + w7 || (b6(i3.closed, B3, A5), b6(l3.closed, function() { + return S6 || (R7 = "closed"), null; + }, j4)), q6 ? O5() : y5(() => { + q6 = true, g4(), O5(); + }); + }); +} +function Ot(e3, t2) { + return function(e4) { + try { + return e4.getReader({ mode: "byob" }).releaseLock(), true; + } catch (e5) { + return false; + } + }(e3) ? function(e4) { + let t3, r3, o3, n2, a4, i3 = e4.getReader(), l3 = false, s2 = false, d7 = false, f4 = false, h4 = false, p4 = false; + const m5 = u2((e5) => { + a4 = e5; + }); + function y6(e5) { + _6(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h4 && p4 || a4(void 0)), null)); + } + function g4() { + l3 && (i3.releaseLock(), i3 = e4.getReader(), y6(i3), l3 = false), b6(i3.read(), (e5) => { + var t4, r4; + if (d7 = false, f4 = false, e5.done) + return h4 || o3.close(), p4 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h4 && p4 || a4(void 0), null; + const l4 = e5.value, u3 = l4; + let c3 = l4; + if (!h4 && !p4) + try { + c3 = le2(l4); + } catch (e6) { + return o3.error(e6), n2.error(e6), a4(i3.cancel(e6)), null; + } + return h4 || o3.enqueue(u3), p4 || n2.enqueue(c3), s2 = false, d7 ? S6() : f4 && v5(), null; + }, () => (s2 = false, null)); + } + function w7(t4, r4) { + l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y6(i3), l3 = true); + const u3 = r4 ? n2 : o3, c3 = r4 ? o3 : n2; + b6(i3.read(t4), (e5) => { + var t5; + d7 = false, f4 = false; + const o4 = r4 ? p4 : h4, n3 = r4 ? h4 : p4; + if (e5.done) { + o4 || u3.close(), n3 || c3.close(); + const r5 = e5.value; + return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c3.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a4(void 0), null; + } + const l4 = e5.value; + if (n3) + o4 || u3.byobRequest.respondWithNewView(l4); + else { + let e6; + try { + e6 = le2(l4); + } catch (e7) { + return u3.error(e7), c3.error(e7), a4(i3.cancel(e7)), null; + } + o4 || u3.byobRequest.respondWithNewView(l4), c3.enqueue(e6); + } + return s2 = false, d7 ? S6() : f4 && v5(), null; + }, () => (s2 = false, null)); + } + function S6() { + if (s2) + return d7 = true, c2(void 0); + s2 = true; + const e5 = o3.byobRequest; + return null === e5 ? g4() : w7(e5.view, false), c2(void 0); + } + function v5() { + if (s2) + return f4 = true, c2(void 0); + s2 = true; + const e5 = n2.byobRequest; + return null === e5 ? g4() : w7(e5.view, true), c2(void 0); + } + function R7(e5) { + if (h4 = true, t3 = e5, p4) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a4(o4); + } + return m5; + } + function T6(e5) { + if (p4 = true, r3 = e5, h4) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a4(o4); + } + return m5; + } + const q6 = new ReadableStream3({ type: "bytes", start(e5) { + o3 = e5; + }, pull: S6, cancel: R7 }), C5 = new ReadableStream3({ type: "bytes", start(e5) { + n2 = e5; + }, pull: v5, cancel: T6 }); + return y6(i3), [q6, C5]; + }(e3) : function(e4, t3) { + const r3 = e4.getReader(); + let o3, n2, a4, i3, l3, s2 = false, d7 = false, f4 = false, h4 = false; + const p4 = u2((e5) => { + l3 = e5; + }); + function m5() { + return s2 ? (d7 = true, c2(void 0)) : (s2 = true, b6(r3.read(), (e5) => { + if (d7 = false, e5.done) + return f4 || a4.close(), h4 || i3.close(), f4 && h4 || l3(void 0), null; + const t4 = e5.value, r4 = t4, o4 = t4; + return f4 || a4.enqueue(r4), h4 || i3.enqueue(o4), s2 = false, d7 && m5(), null; + }, () => (s2 = false, null)), c2(void 0)); + } + function y6(e5) { + if (f4 = true, o3 = e5, h4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p4; + } + function g4(e5) { + if (h4 = true, n2 = e5, f4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p4; + } + const w7 = new ReadableStream3({ start(e5) { + a4 = e5; + }, pull: m5, cancel: y6 }), S6 = new ReadableStream3({ start(e5) { + i3 = e5; + }, pull: m5, cancel: g4 }); + return _6(r3.closed, (e5) => (a4.error(e5), i3.error(e5), f4 && h4 || l3(void 0), null)), [w7, S6]; + }(e3); +} +function Bt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); +} +function At(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableStream; + if (!Ft(e4)) + return false; + if (!e4._started) + return false; + if (Ut(t3) && X4(t3) > 0) + return true; + if (Lt(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b6(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); +} +function jt(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function zt(e3, t2) { + const r3 = e3._controlledReadableStream; + "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); +} +function Lt(e3) { + const t2 = e3._controlledReadableStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Ft(e3) { + return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; +} +function It(e3, t2, r3, o3) { + const n2 = Object.create(ReadableStreamDefaultController.prototype); + let a4, i3, l3; + a4 = void 0 !== t2.start ? () => t2.start(n2) : () => { + }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c2(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c2(void 0), function(e4, t3, r4, o4, n3, a5, i4) { + t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a5, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b6(c2(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); + }(e3, n2, a4, i3, l3, r3, o3); +} +function Dt(e3) { + return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); +} +function $t(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function Mt(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function Yt(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function Qt(e3, t2) { + if ("bytes" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); + return e3; +} +function Nt(e3, t2) { + if ("byob" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); + return e3; +} +function Ht(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a4 = null == e3 ? void 0 : e3.signal; + return void 0 !== a4 && function(e4, t3) { + if (!function(e5) { + if ("object" != typeof e5 || null === e5) + return false; + try { + return "boolean" == typeof e5.aborted; + } catch (e6) { + return false; + } + }(e4)) + throw new TypeError(`${t3} is not an AbortSignal.`); + }(a4, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a4 }; +} +function xt(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.readable; + M4(r3, "readable", "ReadableWritablePair"), function(e4, t3) { + if (!H4(e4)) + throw new TypeError(`${t3} is not a ReadableStream.`); + }(r3, `${t2} has member 'readable' that`); + const o3 = null == e3 ? void 0 : e3.writable; + return M4(o3, "writable", "ReadableWritablePair"), function(e4, t3) { + if (!x4(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; +} +function Vt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream3); +} +function Ut(e3) { + return void 0 !== e3._reader; +} +function Gt(e3, r3) { + if (e3._disturbed = true, "closed" === e3._state) + return c2(void 0); + if ("errored" === e3._state) + return d6(e3._storedError); + Xt(e3); + const o3 = e3._reader; + if (void 0 !== o3 && Fe(o3)) { + const e4 = o3._readIntoRequests; + o3._readIntoRequests = new S5(), e4.forEach((e5) => { + e5._closeSteps(void 0); + }); + } + return p3(e3._readableStreamController[T5](r3), t); +} +function Xt(e3) { + e3._state = "closed"; + const t2 = e3._reader; + if (void 0 !== t2 && (j3(t2), K5(t2))) { + const e4 = t2._readRequests; + t2._readRequests = new S5(), e4.forEach((e5) => { + e5._closeSteps(); + }); + } +} +function Jt(e3, t2) { + e3._state = "errored", e3._storedError = t2; + const r3 = e3._reader; + void 0 !== r3 && (A4(r3, t2), K5(r3) ? Z5(r3, t2) : Ie(r3, t2)); +} +function Kt(e3) { + return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); +} +function Zt(e3, t2) { + F4(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark; + return M4(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; +} +function tr(e3) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); +} +function rr(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); +} +function nr(e3) { + return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); +} +function ar(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); +} +function ir(e3, t2, r3) { + return I4(e3, r3), (r4) => w6(e3, t2, [r4]); +} +function lr(e3, t2, r3) { + return I4(e3, r3), (r4) => g3(e3, t2, [r4]); +} +function sr(e3, t2, r3) { + return I4(e3, r3), (r4, o3) => w6(e3, t2, [r4, o3]); +} +function ur(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream2); +} +function cr(e3, t2) { + Sr(e3, t2), dr(e3, t2); +} +function dr(e3, t2) { + hr(e3._transformStreamController), function(e4, t3) { + e4._writableController.error(t3); + "writable" === e4._writableState && Tr(e4, t3); + }(e3, t2), e3._backpressure && fr(e3, false); +} +function fr(e3, t2) { + void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { + e3._backpressureChangePromise_resolve = t3; + }), e3._backpressure = t2; +} +function br(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); +} +function hr(e3) { + e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; +} +function _r(e3, t2) { + const r3 = e3._controlledTransformStream; + if (!gr(r3)) + throw new TypeError("Readable side is not in a state that permits enqueue"); + try { + !function(e4, t3) { + e4._readablePulling = false; + try { + e4._readableController.enqueue(t3); + } catch (t4) { + throw Sr(e4, t4), t4; + } + }(r3, t2); + } catch (e4) { + throw dr(r3, e4), r3._readableStoredError; + } + const o3 = function(e4) { + return !function(e5) { + if (!gr(e5)) + return false; + if (e5._readablePulling) + return true; + if (vr(e5) > 0) + return true; + return false; + }(e4); + }(r3); + o3 !== r3._backpressure && fr(r3, true); +} +function pr(e3, t2) { + return p3(e3._transformAlgorithm(t2), void 0, (t3) => { + throw cr(e3._controlledTransformStream, t3), t3; + }); +} +function mr(e3) { + return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); +} +function yr(e3) { + return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); +} +function gr(e3) { + return !e3._readableCloseRequested && "readable" === e3._readableState; +} +function wr(e3) { + e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); +} +function Sr(e3, t2) { + "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); +} +function vr(e3) { + return e3._readableController.desiredSize; +} +function Rr(e3, t2) { + "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); +} +function Tr(e3, t2) { + e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { + return e4._writableHasInFlightOperation; + }(e3) && e3._writableStarted && qr(e3); +} +function qr(e3) { + e3._writableState = "errored"; +} +function Cr(e3) { + "erroring" === e3._writableState && qr(e3); +} +var e2, o2, a3, i2, l2, s, y5, S5, v4, R6, T5, q5, C4, z5, L6, ReadableStreamDefaultReader, te, re2, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream3, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream2, TransformStreamDefaultController; +var init_ponyfill = __esm({ + "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { + e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; + o2 = t; + a3 = Promise; + i2 = Promise.prototype.then; + l2 = Promise.resolve.bind(a3); + s = Promise.reject.bind(a3); + y5 = (e3) => { + if ("function" == typeof queueMicrotask) + y5 = queueMicrotask; + else { + const e4 = c2(void 0); + y5 = (t2) => f3(e4, t2); + } + return y5(e3); + }; + S5 = class { + constructor() { + this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; + } + get length() { + return this._size; + } + push(e3) { + const t2 = this._back; + let r3 = t2; + 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; + } + shift() { + const e3 = this._front; + let t2 = e3; + const r3 = this._cursor; + let o3 = r3 + 1; + const n2 = e3._elements, a4 = n2[r3]; + return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a4; + } + forEach(e3) { + let t2 = this._cursor, r3 = this._front, o3 = r3._elements; + for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) + e3(o3[t2]), ++t2; + } + peek() { + const e3 = this._front, t2 = this._cursor; + return e3._elements[t2]; + } + }; + v4 = e2("[[AbortSteps]]"); + R6 = e2("[[ErrorSteps]]"); + T5 = e2("[[CancelSteps]]"); + q5 = e2("[[PullSteps]]"); + C4 = e2("[[ReleaseSteps]]"); + z5 = Number.isFinite || function(e3) { + return "number" == typeof e3 && isFinite(e3); + }; + L6 = Math.trunc || function(e3) { + return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); + }; + ReadableStreamDefaultReader = class { + constructor(e3) { + if ($5(e3, 1, "ReadableStreamDefaultReader"), V5(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + E3(this, e3), this._readRequests = new S5(); + } + get closed() { + return K5(this) ? this._closedPromise : d6(ee2("closed")); + } + cancel(e3) { + return K5(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(ee2("cancel")); + } + read() { + if (!K5(this)) + return d6(ee2("read")); + if (void 0 === this._ownerReadableStream) + return d6(k6("read from")); + let e3, t2; + const r3 = u2((r4, o3) => { + e3 = r4, t2 = o3; + }); + return function(e4, t3) { + const r4 = e4._ownerReadableStream; + r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q5](t3); + }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; + } + releaseLock() { + if (!K5(this)) + throw ee2("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W5(e3); + const t2 = new TypeError("Reader was released"); + Z5(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); + te = class { + constructor(e3, t2) { + this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; + } + next() { + const e3 = () => this._nextSteps(); + return this._ongoingPromise = this._ongoingPromise ? p3(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; + } + return(e3) { + const t2 = () => this._returnSteps(e3); + return this._ongoingPromise ? p3(this._ongoingPromise, t2, t2) : t2(); + } + _nextSteps() { + if (this._isFinished) + return Promise.resolve({ value: void 0, done: true }); + const e3 = this._reader; + return void 0 === e3 ? d6(k6("iterate")) : f3(e3.read(), (e4) => { + var t2; + return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; + }, (e4) => { + var t2; + throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; + }); + } + _returnSteps(e3) { + if (this._isFinished) + return Promise.resolve({ value: e3, done: true }); + this._isFinished = true; + const t2 = this._reader; + if (void 0 === t2) + return d6(k6("finish iterating")); + if (this._reader = void 0, !this._preventCancel) { + const r3 = t2.cancel(e3); + return t2.releaseLock(), p3(r3, () => ({ value: e3, done: true })); + } + return t2.releaseLock(), c2({ value: e3, done: true }); + } + }; + re2 = { next() { + return oe(this) ? this._asyncIteratorImpl.next() : d6(ne("next")); + }, return(e3) { + return oe(this) ? this._asyncIteratorImpl.return(e3) : d6(ne("return")); + } }; + "symbol" == typeof e2.asyncIterator && Object.defineProperty(re2, e2.asyncIterator, { value() { + return this; + }, writable: true, configurable: true }); + ae2 = Number.isNaN || function(e3) { + return e3 != e3; + }; + ReadableStreamBYOBRequest = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!fe(this)) + throw Be("view"); + return this._view; + } + respond(e3) { + if (!fe(this)) + throw Be("respond"); + if ($5(e3, 1, "respond"), e3 = N5(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + this._view.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2) + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } else { + if (0 === t2) + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + if (r3.bytesFilled + t2 > r3.byteLength) + throw new RangeError("bytesWritten out of range"); + } + r3.buffer = r3.buffer, qe(e4, t2); + }(this._associatedReadableByteStreamController, e3); + } + respondWithNewView(e3) { + if (!fe(this)) + throw Be("respondWithNewView"); + if ($5(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) + throw new TypeError("You can only respond with array buffer views"); + if (void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + e3.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2.byteLength) + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } else if (0 === t2.byteLength) + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) + throw new RangeError("The region specified by view does not match byobRequest"); + if (r3.bufferByteLength !== t2.buffer.byteLength) + throw new RangeError("The buffer of view has different capacity than byobRequest"); + if (r3.bytesFilled + t2.byteLength > r3.byteLength) + throw new RangeError("The region specified by view is larger than byobRequest"); + const o3 = t2.byteLength; + r3.buffer = t2.buffer, qe(e4, o3); + }(this._associatedReadableByteStreamController, e3); + } + }; + Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); + ReadableByteStreamController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!de(this)) + throw Ae("byobRequest"); + return function(e3) { + if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { + const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); + !function(e4, t3, r4) { + e4._associatedReadableByteStreamController = t3, e4._view = r4; + }(o3, e3, r3), e3._byobRequest = o3; + } + return e3._byobRequest; + }(this); + } + get desiredSize() { + if (!de(this)) + throw Ae("desiredSize"); + return ke(this); + } + close() { + if (!de(this)) + throw Ae("close"); + if (this._closeRequested) + throw new TypeError("The stream has already been closed; do not close it again!"); + const e3 = this._controlledReadableByteStream._state; + if ("readable" !== e3) + throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); + !function(e4) { + const t2 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== t2._state) + return; + if (e4._queueTotalSize > 0) + return void (e4._closeRequested = true); + if (e4._pendingPullIntos.length > 0) { + if (e4._pendingPullIntos.peek().bytesFilled > 0) { + const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + throw Pe(e4, t3), t3; + } + } + Ee(e4), Xt(t2); + }(this); + } + enqueue(e3) { + if (!de(this)) + throw Ae("enqueue"); + if ($5(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) + throw new TypeError("chunk must be an array buffer view"); + if (0 === e3.byteLength) + throw new TypeError("chunk must have non-zero byteLength"); + if (0 === e3.buffer.byteLength) + throw new TypeError("chunk's buffer must have non-zero byteLength"); + if (this._closeRequested) + throw new TypeError("stream is closed or draining"); + const t2 = this._controlledReadableByteStream._state; + if ("readable" !== t2) + throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); + !function(e4, t3) { + const r3 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== r3._state) + return; + const o3 = t3.buffer, n2 = t3.byteOffset, a4 = t3.byteLength, i3 = o3; + if (e4._pendingPullIntos.length > 0) { + const t4 = e4._pendingPullIntos.peek(); + t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); + } + if (J4(r3)) + if (function(e5) { + const t4 = e5._controlledReadableByteStream._reader; + for (; t4._readRequests.length > 0; ) { + if (0 === e5._queueTotalSize) + return; + We(e5, t4._readRequests.shift()); + } + }(e4), 0 === X4(r3)) + me(e4, i3, n2, a4); + else { + e4._pendingPullIntos.length > 0 && Ce(e4); + G5(r3, new Uint8Array(i3, n2, a4), false); + } + else + Le(r3) ? (me(e4, i3, n2, a4), Te(e4)) : me(e4, i3, n2, a4); + be(e4); + }(this, e3); + } + error(e3) { + if (!de(this)) + throw Ae("error"); + Pe(this, e3); + } + [T5](e3) { + he(this), ce2(this); + const t2 = this._cancelAlgorithm(e3); + return Ee(this), t2; + } + [q5](e3) { + const t2 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) + return void We(this, e3); + const r3 = this._autoAllocateChunkSize; + if (void 0 !== r3) { + let t3; + try { + t3 = new ArrayBuffer(r3); + } catch (t4) { + return void e3._errorSteps(t4); + } + const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; + this._pendingPullIntos.push(o3); + } + U6(t2, e3), be(this); + } + [C4]() { + if (this._pendingPullIntos.length > 0) { + const e3 = this._pendingPullIntos.peek(); + e3.readerType = "none", this._pendingPullIntos = new S5(), this._pendingPullIntos.push(e3); + } + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); + ReadableStreamBYOBReader = class { + constructor(e3) { + if ($5(e3, 1, "ReadableStreamBYOBReader"), V5(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + if (!de(e3._readableStreamController)) + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + E3(this, e3), this._readIntoRequests = new S5(); + } + get closed() { + return Fe(this) ? this._closedPromise : d6(De("closed")); + } + cancel(e3) { + return Fe(this) ? void 0 === this._ownerReadableStream ? d6(k6("cancel")) : P3(this, e3) : d6(De("cancel")); + } + read(e3) { + if (!Fe(this)) + return d6(De("read")); + if (!ArrayBuffer.isView(e3)) + return d6(new TypeError("view must be an array buffer view")); + if (0 === e3.byteLength) + return d6(new TypeError("view must have non-zero byteLength")); + if (0 === e3.buffer.byteLength) + return d6(new TypeError("view's buffer must have non-zero byteLength")); + if (e3.buffer, void 0 === this._ownerReadableStream) + return d6(k6("read from")); + let t2, r3; + const o3 = u2((e4, o4) => { + t2 = e4, r3 = o4; + }); + return function(e4, t3, r4) { + const o4 = e4._ownerReadableStream; + o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { + const o5 = e5._controlledReadableByteStream; + let n2 = 1; + t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); + const a4 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a4, readerType: "byob" }; + if (e5._pendingPullIntos.length > 0) + return e5._pendingPullIntos.push(l3), void je(o5, r5); + if ("closed" !== o5._state) { + if (e5._queueTotalSize > 0) { + if (we(e5, l3)) { + const t5 = pe(l3); + return ve(e5), void r5._chunkSteps(t5); + } + if (e5._closeRequested) { + const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + return Pe(e5, t5), void r5._errorSteps(t5); + } + } + e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); + } else { + const e6 = new a4(l3.buffer, l3.byteOffset, 0); + r5._closeSteps(e6); + } + }(o4._readableStreamController, t3, r4); + }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; + } + releaseLock() { + if (!Fe(this)) + throw De("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W5(e3); + const t2 = new TypeError("Reader was released"); + Ie(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); + Ue = "function" == typeof AbortController; + WritableStream = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D4(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F4(e4, t3); + const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; + return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a5 }; + }(e3, "First parameter"); + var n2; + (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S5(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; + if (void 0 !== o3.type) + throw new RangeError("Invalid type is specified"); + const a4 = Me(r3); + !function(e4, t3, r4, o4) { + const n3 = Object.create(WritableStreamDefaultController.prototype); + let a5, i3, l3, s2; + a5 = void 0 !== t3.start ? () => t3.start(n3) : () => { + }; + i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c2(void 0); + l3 = void 0 !== t3.close ? () => t3.close() : () => c2(void 0); + s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c2(void 0); + !function(e5, t4, r5, o5, n4, a6, i4, l4) { + t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { + if (Ue) + return new AbortController(); + }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a6; + const s3 = bt(t4); + nt(e5, s3); + const u3 = r5(); + b6(c2(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); + }(e4, n3, a5, i3, l3, s2, r4, o4); + }(this, o3, $e(r3, 1), a4); + } + get locked() { + if (!Ge(this)) + throw _t("locked"); + return Xe(this); + } + abort(e3) { + return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d6(_t("abort")); + } + close() { + return Ge(this) ? Xe(this) ? d6(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d6(_t("close")); + } + getWriter() { + if (!Ge(this)) + throw _t("getWriter"); + return new WritableStreamDefaultWriter(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); + WritableStreamDefaultWriter = class { + constructor(e3) { + if ($5(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { + if (!Ge(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(e3, "First parameter"), Xe(e3)) + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + this._ownerWritableStream = e3, e3._writer = this; + const t2 = e3._state; + if ("writable" === t2) + !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); + else if ("erroring" === t2) + Tt(this, e3._storedError), gt(this); + else if ("closed" === t2) + qt(this), gt(r3 = this), vt(r3); + else { + const t3 = e3._storedError; + Tt(this, t3), wt(this, t3); + } + var r3; + } + get closed() { + return at(this) ? this._closedPromise : d6(mt("closed")); + } + get desiredSize() { + if (!at(this)) + throw mt("desiredSize"); + if (void 0 === this._ownerWritableStream) + throw yt("desiredSize"); + return function(e3) { + const t2 = e3._ownerWritableStream, r3 = t2._state; + if ("errored" === r3 || "erroring" === r3) + return null; + if ("closed" === r3) + return 0; + return ct(t2._writableStreamController); + }(this); + } + get ready() { + return at(this) ? this._readyPromise : d6(mt("ready")); + } + abort(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("abort")) : function(e4, t2) { + return Je(e4._ownerWritableStream, t2); + }(this, e3) : d6(mt("abort")); + } + close() { + if (!at(this)) + return d6(mt("close")); + const e3 = this._ownerWritableStream; + return void 0 === e3 ? d6(yt("close")) : rt(e3) ? d6(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); + } + releaseLock() { + if (!at(this)) + throw mt("releaseLock"); + void 0 !== this._ownerWritableStream && function(e3) { + const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); + it(e3, r3), function(e4, t3) { + "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { + wt(e5, t4); + }(e4, t3); + }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; + }(this); + } + write(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d6(yt("write to")) : function(e4, t2) { + const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { + try { + return e5._strategySizeAlgorithm(t3); + } catch (t4) { + return ft(e5, t4), 1; + } + }(o3, t2); + if (r3 !== e4._ownerWritableStream) + return d6(yt("write to")); + const a4 = r3._state; + if ("errored" === a4) + return d6(r3._storedError); + if (rt(r3) || "closed" === a4) + return d6(new TypeError("The stream is closing or closed and cannot be written to")); + if ("erroring" === a4) + return d6(r3._storedError); + const i3 = function(e5) { + return u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e5._writeRequests.push(o4); + }); + }(r3); + return function(e5, t3, r4) { + try { + ue2(e5, t3, r4); + } catch (t4) { + return void ft(e5, t4); + } + const o4 = e5._controlledWritableStream; + if (!rt(o4) && "writable" === o4._state) { + nt(o4, bt(e5)); + } + dt(e5); + }(o3, t2, n2), i3; + }(this, e3) : d6(mt("write")); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); + lt = {}; + WritableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!st(this)) + throw pt("abortReason"); + return this._abortReason; + } + get signal() { + if (!st(this)) + throw pt("signal"); + if (void 0 === this._abortController) + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + return this._abortController.signal; + } + error(e3) { + if (!st(this)) + throw pt("error"); + "writable" === this._controlledWritableStream._state && ht(this, e3); + } + [v4](e3) { + const t2 = this._abortAlgorithm(e3); + return ut(this), t2; + } + [R6]() { + ce2(this); + } + }; + Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); + Pt = "undefined" != typeof DOMException ? DOMException : void 0; + Wt = function(e3) { + if ("function" != typeof e3 && "object" != typeof e3) + return false; + try { + return new e3(), true; + } catch (e4) { + return false; + } + }(Pt) ? Pt : function() { + const e3 = function(e4, t2) { + this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + }; + return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; + }(); + ReadableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!Bt(this)) + throw Dt("desiredSize"); + return Lt(this); + } + close() { + if (!Bt(this)) + throw Dt("close"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits close"); + !function(e3) { + if (!Ft(e3)) + return; + const t2 = e3._controlledReadableStream; + e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); + }(this); + } + enqueue(e3) { + if (!Bt(this)) + throw Dt("enqueue"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits enqueue"); + return function(e4, t2) { + if (!Ft(e4)) + return; + const r3 = e4._controlledReadableStream; + if (Ut(r3) && X4(r3) > 0) + G5(r3, t2, false); + else { + let r4; + try { + r4 = e4._strategySizeAlgorithm(t2); + } catch (t3) { + throw zt(e4, t3), t3; + } + try { + ue2(e4, t2, r4); + } catch (t3) { + throw zt(e4, t3), t3; + } + } + At(e4); + }(this, e3); + } + error(e3) { + if (!Bt(this)) + throw Dt("error"); + zt(this, e3); + } + [T5](e3) { + ce2(this); + const t2 = this._cancelAlgorithm(e3); + return jt(this), t2; + } + [q5](e3) { + const t2 = this._controlledReadableStream; + if (this._queue.length > 0) { + const r3 = se(this); + this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); + } else + U6(t2, e3), At(this); + } + [C4]() { + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); + ReadableStream3 = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D4(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F4(e4, t3); + const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a4 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; + return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N5(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a4 ? void 0 : Mt(a4, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; + }(e3, "First parameter"); + var n2; + if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { + if (void 0 !== r3.size) + throw new RangeError("The strategy for a byte stream cannot have a size function"); + Oe(this, o3, $e(r3, 0)); + } else { + const e4 = Me(r3); + It(this, o3, $e(r3, 1), e4); + } + } + get locked() { + if (!Vt(this)) + throw Kt("locked"); + return Ut(this); + } + cancel(e3) { + return Vt(this) ? Ut(this) ? d6(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d6(Kt("cancel")); + } + getReader(e3) { + if (!Vt(this)) + throw Kt("getReader"); + return void 0 === function(e4, t2) { + F4(e4, t2); + const r3 = null == e4 ? void 0 : e4.mode; + return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; + }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { + return new ReadableStreamBYOBReader(e4); + }(this); + } + pipeThrough(e3, t2 = {}) { + if (!H4(this)) + throw Kt("pipeThrough"); + $5(e3, 1, "pipeThrough"); + const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); + if (this.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + if (r3.writable.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + return m4(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; + } + pipeTo(e3, t2 = {}) { + if (!H4(this)) + return d6(Kt("pipeTo")); + if (void 0 === e3) + return d6("Parameter 1 is required in 'pipeTo'."); + if (!x4(e3)) + return d6(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); + let r3; + try { + r3 = Ht(t2, "Second parameter"); + } catch (e4) { + return d6(e4); + } + return this.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d6(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); + } + tee() { + if (!H4(this)) + throw Kt("tee"); + if (this.locked) + throw new TypeError("Cannot tee a stream that already has a reader"); + return Ot(this); + } + values(e3) { + if (!H4(this)) + throw Kt("values"); + return function(e4, t2) { + const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re2); + return n2._asyncIteratorImpl = o3, n2; + }(this, function(e4, t2) { + F4(e4, t2); + const r3 = null == e4 ? void 0 : e4.preventCancel; + return { preventCancel: Boolean(r3) }; + }(e3, "First parameter").preventCancel); + } + }; + Object.defineProperties(ReadableStream3.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream3.prototype.cancel, "cancel"), n(ReadableStream3.prototype.getReader, "getReader"), n(ReadableStream3.prototype.pipeThrough, "pipeThrough"), n(ReadableStream3.prototype.pipeTo, "pipeTo"), n(ReadableStream3.prototype.tee, "tee"), n(ReadableStream3.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream3.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream3.prototype, e2.asyncIterator, { value: ReadableStream3.prototype.values, writable: true, configurable: true }); + er = (e3) => e3.byteLength; + n(er, "size"); + ByteLengthQueuingStrategy = class { + constructor(e3) { + $5(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!rr(this)) + throw tr("highWaterMark"); + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!rr(this)) + throw tr("size"); + return er; + } + }; + Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); + or = () => 1; + n(or, "size"); + CountQueuingStrategy = class { + constructor(e3) { + $5(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!ar(this)) + throw nr("highWaterMark"); + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!ar(this)) + throw nr("size"); + return or; + } + }; + Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); + TransformStream2 = class { + constructor(e3 = {}, t2 = {}, r3 = {}) { + void 0 === e3 && (e3 = null); + const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a4 = function(e4, t3) { + F4(e4, t3); + const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a5 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; + return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a5 ? void 0 : sr(a5, e4, `${t3} has member 'transform' that`), writableType: i4 }; + }(e3, "First parameter"); + if (void 0 !== a4.readableType) + throw new RangeError("Invalid readableType specified"); + if (void 0 !== a4.writableType) + throw new RangeError("Invalid writableType specified"); + const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); + let b7; + !function(e4, t3, r4, o4, n3, a5) { + function i4() { + return t3; + } + function l4(t4) { + return function(e5, t5) { + const r5 = e5._transformStreamController; + if (e5._backpressure) { + return p3(e5._backpressureChangePromise, () => { + if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) + throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; + return pr(r5, t5); + }); + } + return pr(r5, t5); + }(e4, t4); + } + function s3(t4) { + return function(e5, t5) { + return cr(e5, t5), c2(void 0); + }(e4, t4); + } + function u3() { + return function(e5) { + const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); + return hr(t4), p3(r5, () => { + if ("errored" === e5._readableState) + throw e5._readableStoredError; + gr(e5) && wr(e5); + }, (t5) => { + throw cr(e5, t5), e5._readableStoredError; + }); + }(e4); + } + function d7() { + return function(e5) { + return fr(e5, false), e5._backpressureChangePromise; + }(e4); + } + function f5(t4) { + return dr(e4, t4), c2(void 0); + } + e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a6, i5) { + return new WritableStream({ start(r6) { + e5._writableController = r6; + try { + const t5 = r6.signal; + void 0 !== t5 && t5.addEventListener("abort", () => { + "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); + }); + } catch (e6) { + } + return p3(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { + throw e5._writableStarted = true, Rr(e5, t5), t5; + }); + }, write: (t5) => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p3(r5(t5), () => (function(e6) { + e6._writableHasInFlightOperation = false; + }(e5), Cr(e5), null), (t6) => { + throw function(e6, t7) { + e6._writableHasInFlightOperation = false, Rr(e6, t7); + }(e5, t6), t6; + })), close: () => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p3(o5(), () => (function(e6) { + e6._writableHasInFlightOperation = false; + "erroring" === e6._writableState && (e6._writableStoredError = void 0); + e6._writableState = "closed"; + }(e5), null), (t5) => { + throw function(e6, t6) { + e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); + }(e5, t5), t5; + })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a6, size: i5 }); + }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a6) { + return new ReadableStream3({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { + Sr(e5, t5); + })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { + Sr(e5, t5); + })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a6 }); + }(e4, i4, d7, f5, n3, a5), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; + }(this, u2((e4) => { + b7 = e4; + }), s2, f4, i3, l3), function(e4, t3) { + const r4 = Object.create(TransformStreamDefaultController.prototype); + let o4, n3; + o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { + try { + return _r(r4, e5), c2(void 0); + } catch (e6) { + return d6(e6); + } + }; + n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c2(void 0); + !function(e5, t4, r5, o5) { + t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; + }(e4, r4, o4, n3); + }(this, a4), void 0 !== a4.start ? b7(a4.start(this._transformStreamController)) : b7(void 0); + } + get readable() { + if (!ur(this)) + throw yr("readable"); + return this._readable; + } + get writable() { + if (!ur(this)) + throw yr("writable"); + return this._writable; + } + }; + Object.defineProperties(TransformStream2.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream2.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); + TransformStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!br(this)) + throw mr("desiredSize"); + return vr(this._controlledTransformStream); + } + enqueue(e3) { + if (!br(this)) + throw mr("enqueue"); + _r(this, e3); + } + error(e3) { + if (!br(this)) + throw mr("error"); + var t2; + t2 = e3, cr(this._controlledTransformStream, t2); + } + terminate() { + if (!br(this)) + throw mr("terminate"); + !function(e3) { + const t2 = e3._controlledTransformStream; + gr(t2) && wr(t2); + const r3 = new TypeError("TransformStream terminated"); + dr(t2, r3); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); + } +}); + +// node_modules/formdata-node/lib/esm/isFunction.js +var isFunction2; +var init_isFunction = __esm({ + "node_modules/formdata-node/lib/esm/isFunction.js"() { + isFunction2 = (value) => typeof value === "function"; + } +}); + +// node_modules/formdata-node/lib/esm/blobHelpers.js +async function* clonePart(part) { + const end = part.byteOffset + part.byteLength; + let position = part.byteOffset; + while (position !== end) { + const size = Math.min(end - position, CHUNK_SIZE); + const chunk = part.buffer.slice(position, position + size); + position += chunk.byteLength; + yield new Uint8Array(chunk); + } +} +async function* consumeNodeBlob(blob) { + let position = 0; + while (position !== blob.size) { + const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); + const buffer = await chunk.arrayBuffer(); + position += buffer.byteLength; + yield new Uint8Array(buffer); + } +} +async function* consumeBlobParts(parts, clone = false) { + for (const part of parts) { + if (ArrayBuffer.isView(part)) { + if (clone) { + yield* clonePart(part); + } else { + yield part; + } + } else if (isFunction2(part.stream)) { + yield* part.stream(); + } else { + yield* consumeNodeBlob(part); + } + } +} +function* sliceBlob(blobParts, blobSize, start = 0, end) { + end !== null && end !== void 0 ? end : end = blobSize; + let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); + let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); + const span = Math.max(relativeEnd - relativeStart, 0); + let added = 0; + for (const part of blobParts) { + if (added >= span) { + break; + } + const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; + if (relativeStart && partSize <= relativeStart) { + relativeStart -= partSize; + relativeEnd -= partSize; + } else { + let chunk; + if (ArrayBuffer.isView(part)) { + chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.byteLength; + } else { + chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.size; + } + relativeEnd -= partSize; + relativeStart = 0; + yield chunk; + } + } +} +var CHUNK_SIZE; +var init_blobHelpers = __esm({ + "node_modules/formdata-node/lib/esm/blobHelpers.js"() { + init_isFunction(); + CHUNK_SIZE = 65536; + } +}); + +// node_modules/formdata-node/lib/esm/Blob.js +var __classPrivateFieldGet2, __classPrivateFieldSet2, _Blob_parts, _Blob_type, _Blob_size, Blob3; +var init_Blob = __esm({ + "node_modules/formdata-node/lib/esm/Blob.js"() { + init_ponyfill(); + init_isFunction(); + init_blobHelpers(); + __classPrivateFieldGet2 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + __classPrivateFieldSet2 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + Blob3 = class { + constructor(blobParts = [], options = {}) { + _Blob_parts.set(this, []); + _Blob_type.set(this, ""); + _Blob_size.set(this, 0); + options !== null && options !== void 0 ? options : options = {}; + if (typeof blobParts !== "object" || blobParts === null) { + throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); + } + if (!isFunction2(blobParts[Symbol.iterator])) { + throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); + } + if (typeof options !== "object" && !isFunction2(options)) { + throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); + } + const encoder = new TextEncoder(); + for (const raw of blobParts) { + let part; + if (ArrayBuffer.isView(raw)) { + part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); + } else if (raw instanceof ArrayBuffer) { + part = new Uint8Array(raw.slice(0)); + } else if (raw instanceof Blob3) { + part = raw; + } else { + part = encoder.encode(String(raw)); + } + __classPrivateFieldSet2(this, _Blob_size, __classPrivateFieldGet2(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); + __classPrivateFieldGet2(this, _Blob_parts, "f").push(part); + } + const type2 = options.type === void 0 ? "" : String(options.type); + __classPrivateFieldSet2(this, _Blob_type, /^[\x20-\x7E]*$/.test(type2) ? type2 : "", "f"); + } + static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); + } + get type() { + return __classPrivateFieldGet2(this, _Blob_type, "f"); + } + get size() { + return __classPrivateFieldGet2(this, _Blob_size, "f"); + } + slice(start, end, contentType) { + return new Blob3(sliceBlob(__classPrivateFieldGet2(this, _Blob_parts, "f"), this.size, start, end), { + type: contentType + }); + } + async text() { + const decoder = new TextDecoder(); + let result = ""; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"))) { + result += decoder.decode(chunk, { stream: true }); + } + result += decoder.decode(); + return result; + } + async arrayBuffer() { + const view = new Uint8Array(this.size); + let offset = 0; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"))) { + view.set(chunk, offset); + offset += chunk.length; + } + return view.buffer; + } + stream() { + const iterator = consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"), true); + return new ReadableStream3({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + return queueMicrotask(() => controller.close()); + } + controller.enqueue(value); + }, + async cancel() { + await iterator.return(); + } + }); + } + get [Symbol.toStringTag]() { + return "Blob"; + } + }; + Object.defineProperties(Blob3.prototype, { + type: { enumerable: true }, + size: { enumerable: true }, + slice: { enumerable: true }, + stream: { enumerable: true }, + text: { enumerable: true }, + arrayBuffer: { enumerable: true } + }); + } +}); + +// node_modules/formdata-node/lib/esm/File.js +var __classPrivateFieldSet3, __classPrivateFieldGet3, _File_name, _File_lastModified, File3; +var init_File = __esm({ + "node_modules/formdata-node/lib/esm/File.js"() { + init_Blob(); + __classPrivateFieldSet3 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldGet3 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + File3 = class extends Blob3 { + constructor(fileBits, name, options = {}) { + super(fileBits, options); + _File_name.set(this, void 0); + _File_lastModified.set(this, 0); + if (arguments.length < 2) { + throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); + } + __classPrivateFieldSet3(this, _File_name, String(name), "f"); + const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); + if (!Number.isNaN(lastModified)) { + __classPrivateFieldSet3(this, _File_lastModified, lastModified, "f"); + } + } + static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; + } + get name() { + return __classPrivateFieldGet3(this, _File_name, "f"); + } + get lastModified() { + return __classPrivateFieldGet3(this, _File_lastModified, "f"); + } + get webkitRelativePath() { + return ""; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + } +}); + +// node_modules/formdata-node/lib/esm/isFile.js +var isFile2; +var init_isFile = __esm({ + "node_modules/formdata-node/lib/esm/isFile.js"() { + init_File(); + isFile2 = (value) => value instanceof File3; + } +}); + +// node_modules/humanize-ms/index.js +var require_humanize_ms = __commonJS({ + "node_modules/humanize-ms/index.js"(exports, module2) { + "use strict"; + var util3 = require("util"); + var ms = require_ms(); + module2.exports = function(t2) { + if (typeof t2 === "number") + return t2; + var r3 = ms(t2); + if (r3 === void 0) { + var err = new Error(util3.format("humanize-ms(%j) result undefined", t2)); + console.warn(err.stack); + } + return r3; + }; + } +}); + +// node_modules/agentkeepalive/lib/constants.js +var require_constants = __commonJS({ + "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { + "use strict"; + module2.exports = { + CURRENT_ID: Symbol("agentkeepalive#currentId"), + CREATE_ID: Symbol("agentkeepalive#createId"), + INIT_SOCKET: Symbol("agentkeepalive#initSocket"), + CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), + SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), + SOCKET_NAME: Symbol("agentkeepalive#socketName"), + SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), + SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") + }; + } +}); + +// node_modules/agentkeepalive/lib/agent.js +var require_agent = __commonJS({ + "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { + "use strict"; + var OriginalAgent = require("http").Agent; + var ms = require_humanize_ms(); + var debug2 = require("util").debuglog("agentkeepalive"); + var { + INIT_SOCKET, + CURRENT_ID, + CREATE_ID, + SOCKET_CREATED_TIME, + SOCKET_NAME, + SOCKET_REQUEST_COUNT, + SOCKET_REQUEST_FINISHED_COUNT + } = require_constants(); + var defaultTimeoutListenerCount = 1; + var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); + if (majorVersion >= 11 && majorVersion <= 12) { + defaultTimeoutListenerCount = 2; + } else if (majorVersion >= 13) { + defaultTimeoutListenerCount = 3; + } + function deprecate2(message) { + console.log("[agentkeepalive:deprecated] %s", message); + } + var Agent3 = class extends OriginalAgent { + constructor(options) { + options = options || {}; + options.keepAlive = options.keepAlive !== false; + if (options.freeSocketTimeout === void 0) { + options.freeSocketTimeout = 4e3; + } + if (options.keepAliveTimeout) { + deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.keepAliveTimeout; + delete options.keepAliveTimeout; + } + if (options.freeSocketKeepAliveTimeout) { + deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; + delete options.freeSocketKeepAliveTimeout; + } + if (options.timeout === void 0) { + options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); + } + options.timeout = ms(options.timeout); + options.freeSocketTimeout = ms(options.freeSocketTimeout); + options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; + super(options); + this[CURRENT_ID] = 0; + this.createSocketCount = 0; + this.createSocketCountLastCheck = 0; + this.createSocketErrorCount = 0; + this.createSocketErrorCountLastCheck = 0; + this.closeSocketCount = 0; + this.closeSocketCountLastCheck = 0; + this.errorSocketCount = 0; + this.errorSocketCountLastCheck = 0; + this.requestCount = 0; + this.requestCountLastCheck = 0; + this.timeoutSocketCount = 0; + this.timeoutSocketCountLastCheck = 0; + this.on("free", (socket) => { + const timeout = this.calcSocketTimeout(socket); + if (timeout > 0 && socket.timeout !== timeout) { + socket.setTimeout(timeout); + } + }); + } + get freeSocketKeepAliveTimeout() { + deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); + return this.options.freeSocketTimeout; + } + get timeout() { + deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); + return this.options.timeout; + } + get socketActiveTTL() { + deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); + return this.options.socketActiveTTL; + } + calcSocketTimeout(socket) { + let freeSocketTimeout = this.options.freeSocketTimeout; + const socketActiveTTL = this.options.socketActiveTTL; + if (socketActiveTTL) { + const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; + const diff = socketActiveTTL - aliveTime; + if (diff <= 0) { + return diff; + } + if (freeSocketTimeout && diff < freeSocketTimeout) { + freeSocketTimeout = diff; + } + } + if (freeSocketTimeout) { + const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; + return customFreeSocketTimeout || freeSocketTimeout; + } + } + keepSocketAlive(socket) { + const result = super.keepSocketAlive(socket); + if (!result) + return result; + const customTimeout = this.calcSocketTimeout(socket); + if (typeof customTimeout === "undefined") { + return true; + } + if (customTimeout <= 0) { + debug2( + "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + customTimeout + ); + return false; + } + if (socket.timeout !== customTimeout) { + socket.setTimeout(customTimeout); + } + return true; + } + reuseSocket(...args) { + super.reuseSocket(...args); + const socket = args[0]; + const req = args[1]; + req.reusedSocket = true; + const agentTimeout = this.options.timeout; + if (getSocketTimeout(socket) !== agentTimeout) { + socket.setTimeout(agentTimeout); + debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); + } + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + getSocketTimeout(socket) + ); + } + [CREATE_ID]() { + const id = this[CURRENT_ID]++; + if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) + this[CURRENT_ID] = 0; + return id; + } + [INIT_SOCKET](socket, options) { + if (options.timeout) { + const timeout = getSocketTimeout(socket); + if (!timeout) { + socket.setTimeout(options.timeout); + } + } + if (this.options.keepAlive) { + socket.setNoDelay(true); + } + this.createSocketCount++; + if (this.options.socketActiveTTL) { + socket[SOCKET_CREATED_TIME] = Date.now(); + } + socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; + socket[SOCKET_REQUEST_COUNT] = 1; + socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; + installListeners(this, socket, options); + } + createConnection(options, oncreate) { + let called = false; + const onNewCreate = (err, socket) => { + if (called) + return; + called = true; + if (err) { + this.createSocketErrorCount++; + return oncreate(err); + } + this[INIT_SOCKET](socket, options); + oncreate(err, socket); + }; + const newSocket = super.createConnection(options, onNewCreate); + if (newSocket) + onNewCreate(null, newSocket); + return newSocket; + } + get statusChanged() { + const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; + if (changed) { + this.createSocketCountLastCheck = this.createSocketCount; + this.createSocketErrorCountLastCheck = this.createSocketErrorCount; + this.closeSocketCountLastCheck = this.closeSocketCount; + this.errorSocketCountLastCheck = this.errorSocketCount; + this.timeoutSocketCountLastCheck = this.timeoutSocketCount; + this.requestCountLastCheck = this.requestCount; + } + return changed; + } + getCurrentStatus() { + return { + createSocketCount: this.createSocketCount, + createSocketErrorCount: this.createSocketErrorCount, + closeSocketCount: this.closeSocketCount, + errorSocketCount: this.errorSocketCount, + timeoutSocketCount: this.timeoutSocketCount, + requestCount: this.requestCount, + freeSockets: inspect3(this.freeSockets), + sockets: inspect3(this.sockets), + requests: inspect3(this.requests) + }; + } + }; + function getSocketTimeout(socket) { + return socket.timeout || socket._idleTimeout; + } + function installListeners(agent, socket, options) { + debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); + function onFree() { + if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) + return; + socket[SOCKET_REQUEST_FINISHED_COUNT]++; + agent.requestCount++; + debug2( + "%s(requests: %s, finished: %s) free", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + const name = agent.getName(options); + if (socket.writable && agent.requests[name] && agent.requests[name].length) { + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) will be reuse on agent free event", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + } + } + socket.on("free", onFree); + function onClose(isError2) { + debug2( + "%s(requests: %s, finished: %s) close, isError: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + isError2 + ); + agent.closeSocketCount++; + } + socket.on("close", onClose); + function onTimeout() { + const listenerCount = socket.listeners("timeout").length; + const timeout = getSocketTimeout(socket); + const req = socket._httpMessage; + const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; + debug2( + "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + timeout, + listenerCount, + defaultTimeoutListenerCount, + !!req, + reqTimeoutListenerCount + ); + if (debug2.enabled) { + debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); + } + agent.timeoutSocketCount++; + const name = agent.getName(options); + if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { + socket.destroy(); + agent.removeSocket(socket, options); + debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); + } else { + if (reqTimeoutListenerCount === 0) { + const error = new Error("Socket timeout"); + error.code = "ERR_SOCKET_TIMEOUT"; + error.timeout = timeout; + socket.destroy(error); + agent.removeSocket(socket, options); + debug2("%s destroy with timeout error", socket[SOCKET_NAME]); + } + } + } + socket.on("timeout", onTimeout); + function onError(err) { + const listenerCount = socket.listeners("error").length; + debug2( + "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + err, + listenerCount + ); + agent.errorSocketCount++; + if (listenerCount === 1) { + debug2("%s emit uncaught error event", socket[SOCKET_NAME]); + socket.removeListener("error", onError); + socket.emit("error", err); + } + } + socket.on("error", onError); + function onRemove() { + debug2( + "%s(requests: %s, finished: %s) agentRemove", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + socket.removeListener("close", onClose); + socket.removeListener("error", onError); + socket.removeListener("free", onFree); + socket.removeListener("timeout", onTimeout); + socket.removeListener("agentRemove", onRemove); + } + socket.on("agentRemove", onRemove); + } + module2.exports = Agent3; + function inspect3(obj) { + const res = {}; + for (const key in obj) { + res[key] = obj[key].length; + } + return res; + } + } +}); + +// node_modules/agentkeepalive/lib/https_agent.js +var require_https_agent = __commonJS({ + "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { + "use strict"; + var OriginalHttpsAgent = require("https").Agent; + var HttpAgent = require_agent(); + var { + INIT_SOCKET, + CREATE_HTTPS_CONNECTION + } = require_constants(); + var HttpsAgent = class extends HttpAgent { + constructor(options) { + super(options); + this.defaultPort = 443; + this.protocol = "https:"; + this.maxCachedSessions = this.options.maxCachedSessions; + if (this.maxCachedSessions === void 0) { + this.maxCachedSessions = 100; + } + this._sessionCache = { + map: {}, + list: [] + }; + } + createConnection(options, oncreate) { + const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); + this[INIT_SOCKET](socket, options); + return socket; + } + }; + HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; + [ + "getName", + "_getSession", + "_cacheSession", + "_evictSession" + ].forEach(function(method) { + if (typeof OriginalHttpsAgent.prototype[method] === "function") { + HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; + } + }); + module2.exports = HttpsAgent; + } +}); + +// node_modules/agentkeepalive/index.js +var require_agentkeepalive = __commonJS({ + "node_modules/agentkeepalive/index.js"(exports, module2) { + "use strict"; + module2.exports = require_agent(); + module2.exports.HttpsAgent = require_https_agent(); + module2.exports.constants = require_constants(); + } +}); + +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); + } + return; + } + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() + }); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } + } + } + Event.prototype = { + get type() { + return pd(this).event.type; + }, + get target() { + return pd(this).eventTarget; + }, + get currentTarget() { + return pd(this).currentTarget; + }, + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; + } + return [currentTarget]; + }, + get NONE() { + return 0; + }, + get CAPTURING_PHASE() { + return 1; + }, + get AT_TARGET() { + return 2; + }, + get BUBBLING_PHASE() { + return 3; + }, + get eventPhase() { + return pd(this).eventPhase; + }, + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); + } + }, + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + preventDefault() { + setCancelFlag(pd(this)); + }, + get defaultPrevented() { + return pd(this).canceled; + }, + get composed() { + return Boolean(pd(this).event.composed); + }, + get timeStamp() { + return pd(this).timeStamp; + }, + get srcElement() { + return pd(this).eventTarget; + }, + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; + } + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; + } + }, + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + initEvent() { + } + }; + Object.defineProperty(Event.prototype, "constructor", { + value: Event, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true + }; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true + }; + } + function defineWrapper(BaseEvent, proto2) { + const keys = Object.keys(proto2); + if (keys.length === 0) { + return BaseEvent; + } + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } + }); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto2, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } + } + return CustomEvent; + } + function getWrapper(proto2) { + if (proto2 == null || proto2 === Object.prototype) { + return Event; + } + let wrapper = wrappers.get(proto2); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); + wrappers.set(proto2, wrapper); + } + return wrapper; + } + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); + } + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject3(x5) { + return x5 !== null && typeof x5 === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; + } + node = node.next; + } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject3(listener)) { + listener = null; + } + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; + } + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } + } + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true + } + }); + for (let i3 = 0; i3 < eventNames.length; ++i3) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); + } + return CustomEventTarget; + } + function EventTarget() { + if (this instanceof EventTarget) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i3 = 0; i3 < arguments.length; ++i3) { + types[i3] = arguments[i3]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget.prototype = { + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject3(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject3(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject3(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + return; + } + prev = node; + node = node.next; + } + }, + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget.prototype, "constructor", { + value: EventTarget, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype); + } + exports.defineEventAttribute = defineEventAttribute; + exports.EventTarget = EventTarget; + exports.default = EventTarget; + module2.exports = EventTarget; + module2.exports.EventTarget = module2.exports["default"] = EventTarget; + module2.exports.defineEventAttribute = defineEventAttribute; + } +}); + +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var eventTargetShim = require_event_target_shim(); + var AbortSignal = class extends eventTargetShim.EventTarget { + constructor() { + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); + } + get aborted() { + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); + } + return aborted; + } + }; + eventTargetShim.defineEventAttribute(AbortSignal.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; + } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { + constructor() { + signals.set(this, createAbortSignal()); + } + get signal() { + return getSignal(this); + } + abort() { + abortSignal(getSignal(this)); + } + }; + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); + } + return signal; + } + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports.AbortController = AbortController2; + exports.AbortSignal = AbortSignal; + exports.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal; + } +}); + +// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +var require_ponyfill_es2018 = __commonJS({ + "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { + (function(global2, factory) { + typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); + })(exports, function(exports2) { + "use strict"; + function noop2() { + return void 0; + } + function typeIsObject(x5) { + return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; + } + const rethrowAssertionErrorRejection = noop2; + function setFunctionName(fn, name) { + try { + Object.defineProperty(fn, "name", { + value: name, + configurable: true + }); + } catch (_a5) { + } + } + const originalPromise = Promise; + const originalPromiseThen = Promise.prototype.then; + const originalPromiseReject = Promise.reject.bind(originalPromise); + function newPromise(executor) { + return new originalPromise(executor); + } + function promiseResolvedWith(value) { + return newPromise((resolve) => resolve(value)); + } + function promiseRejectedWith(reason) { + return originalPromiseReject(reason); + } + function PerformPromiseThen(promise, onFulfilled, onRejected) { + return originalPromiseThen.call(promise, onFulfilled, onRejected); + } + function uponPromise(promise, onFulfilled, onRejected) { + PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); + } + function uponFulfillment(promise, onFulfilled) { + uponPromise(promise, onFulfilled); + } + function uponRejection(promise, onRejected) { + uponPromise(promise, void 0, onRejected); + } + function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { + return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); + } + function setPromiseIsHandledToTrue(promise) { + PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); + } + let _queueMicrotask = (callback) => { + if (typeof queueMicrotask === "function") { + _queueMicrotask = queueMicrotask; + } else { + const resolvedPromise = promiseResolvedWith(void 0); + _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); + } + return _queueMicrotask(callback); + }; + function reflectCall(F5, V6, args) { + if (typeof F5 !== "function") { + throw new TypeError("Argument is not a function"); + } + return Function.prototype.apply.call(F5, V6, args); + } + function promiseCall(F5, V6, args) { + try { + return promiseResolvedWith(reflectCall(F5, V6, args)); + } catch (value) { + return promiseRejectedWith(value); + } + } + const QUEUE_MAX_ARRAY_SIZE = 16384; + class SimpleQueue { + constructor() { + this._cursor = 0; + this._size = 0; + this._front = { + _elements: [], + _next: void 0 + }; + this._back = this._front; + this._cursor = 0; + this._size = 0; + } + get length() { + return this._size; + } + push(element) { + const oldBack = this._back; + let newBack = oldBack; + if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { + newBack = { + _elements: [], + _next: void 0 + }; + } + oldBack._elements.push(element); + if (newBack !== oldBack) { + this._back = newBack; + oldBack._next = newBack; + } + ++this._size; + } + shift() { + const oldFront = this._front; + let newFront = oldFront; + const oldCursor = this._cursor; + let newCursor = oldCursor + 1; + const elements = oldFront._elements; + const element = elements[oldCursor]; + if (newCursor === QUEUE_MAX_ARRAY_SIZE) { + newFront = oldFront._next; + newCursor = 0; + } + --this._size; + this._cursor = newCursor; + if (oldFront !== newFront) { + this._front = newFront; + } + elements[oldCursor] = void 0; + return element; + } + forEach(callback) { + let i3 = this._cursor; + let node = this._front; + let elements = node._elements; + while (i3 !== elements.length || node._next !== void 0) { + if (i3 === elements.length) { + node = node._next; + elements = node._elements; + i3 = 0; + if (elements.length === 0) { + break; + } + } + callback(elements[i3]); + ++i3; + } + } + peek() { + const front = this._front; + const cursor = this._cursor; + return front._elements[cursor]; + } + } + const AbortSteps = Symbol("[[AbortSteps]]"); + const ErrorSteps = Symbol("[[ErrorSteps]]"); + const CancelSteps = Symbol("[[CancelSteps]]"); + const PullSteps = Symbol("[[PullSteps]]"); + const ReleaseSteps = Symbol("[[ReleaseSteps]]"); + function ReadableStreamReaderGenericInitialize(reader, stream4) { + reader._ownerReadableStream = stream4; + stream4._reader = reader; + if (stream4._state === "readable") { + defaultReaderClosedPromiseInitialize(reader); + } else if (stream4._state === "closed") { + defaultReaderClosedPromiseInitializeAsResolved(reader); + } else { + defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); + } + } + function ReadableStreamReaderGenericCancel(reader, reason) { + const stream4 = reader._ownerReadableStream; + return ReadableStreamCancel(stream4, reason); + } + function ReadableStreamReaderGenericRelease(reader) { + const stream4 = reader._ownerReadableStream; + if (stream4._state === "readable") { + defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } else { + defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } + stream4._readableStreamController[ReleaseSteps](); + stream4._reader = void 0; + reader._ownerReadableStream = void 0; + } + function readerLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released reader"); + } + function defaultReaderClosedPromiseInitialize(reader) { + reader._closedPromise = newPromise((resolve, reject) => { + reader._closedPromise_resolve = resolve; + reader._closedPromise_reject = reject; + }); + } + function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseReject(reader, reason); + } + function defaultReaderClosedPromiseInitializeAsResolved(reader) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseResolve(reader); + } + function defaultReaderClosedPromiseReject(reader, reason) { + if (reader._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(reader._closedPromise); + reader._closedPromise_reject(reason); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + function defaultReaderClosedPromiseResetToRejected(reader, reason) { + defaultReaderClosedPromiseInitializeAsRejected(reader, reason); + } + function defaultReaderClosedPromiseResolve(reader) { + if (reader._closedPromise_resolve === void 0) { + return; + } + reader._closedPromise_resolve(void 0); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + const NumberIsFinite = Number.isFinite || function(x5) { + return typeof x5 === "number" && isFinite(x5); + }; + const MathTrunc = Math.trunc || function(v5) { + return v5 < 0 ? Math.ceil(v5) : Math.floor(v5); + }; + function isDictionary(x5) { + return typeof x5 === "object" || typeof x5 === "function"; + } + function assertDictionary(obj, context) { + if (obj !== void 0 && !isDictionary(obj)) { + throw new TypeError(`${context} is not an object.`); + } + } + function assertFunction(x5, context) { + if (typeof x5 !== "function") { + throw new TypeError(`${context} is not a function.`); + } + } + function isObject3(x5) { + return typeof x5 === "object" && x5 !== null || typeof x5 === "function"; + } + function assertObject(x5, context) { + if (!isObject3(x5)) { + throw new TypeError(`${context} is not an object.`); + } + } + function assertRequiredArgument(x5, position, context) { + if (x5 === void 0) { + throw new TypeError(`Parameter ${position} is required in '${context}'.`); + } + } + function assertRequiredField(x5, field, context) { + if (x5 === void 0) { + throw new TypeError(`${field} is required in '${context}'.`); + } + } + function convertUnrestrictedDouble(value) { + return Number(value); + } + function censorNegativeZero(x5) { + return x5 === 0 ? 0 : x5; + } + function integerPart(x5) { + return censorNegativeZero(MathTrunc(x5)); + } + function convertUnsignedLongLongWithEnforceRange(value, context) { + const lowerBound = 0; + const upperBound = Number.MAX_SAFE_INTEGER; + let x5 = Number(value); + x5 = censorNegativeZero(x5); + if (!NumberIsFinite(x5)) { + throw new TypeError(`${context} is not a finite number`); + } + x5 = integerPart(x5); + if (x5 < lowerBound || x5 > upperBound) { + throw new TypeError(`${context} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); + } + if (!NumberIsFinite(x5) || x5 === 0) { + return 0; + } + return x5; + } + function assertReadableStream(x5, context) { + if (!IsReadableStream(x5)) { + throw new TypeError(`${context} is not a ReadableStream.`); + } + } + function AcquireReadableStreamDefaultReader(stream4) { + return new ReadableStreamDefaultReader2(stream4); + } + function ReadableStreamAddReadRequest(stream4, readRequest) { + stream4._reader._readRequests.push(readRequest); + } + function ReadableStreamFulfillReadRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readRequest = reader._readRequests.shift(); + if (done) { + readRequest._closeSteps(); + } else { + readRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadRequests(stream4) { + return stream4._reader._readRequests.length; + } + function ReadableStreamHasDefaultReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamDefaultReader(reader)) { + return false; + } + return true; + } + class ReadableStreamDefaultReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("read")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: () => resolvePromise({ value: void 0, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamDefaultReaderRead(this, readRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamDefaultReader(this)) { + throw defaultReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamDefaultReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamDefaultReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); + setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultReader", + configurable: true + }); + } + function IsReadableStreamDefaultReader(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readRequests")) { + return false; + } + return x5 instanceof ReadableStreamDefaultReader2; + } + function ReadableStreamDefaultReaderRead(reader, readRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "closed") { + readRequest._closeSteps(); + } else if (stream4._state === "errored") { + readRequest._errorSteps(stream4._storedError); + } else { + stream4._readableStreamController[PullSteps](readRequest); + } + } + function ReadableStreamDefaultReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } + function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._errorSteps(e3); + }); + } + function defaultReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); + } + const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { + }).prototype); + class ReadableStreamAsyncIteratorImpl { + constructor(reader, preventCancel) { + this._ongoingPromise = void 0; + this._isFinished = false; + this._reader = reader; + this._preventCancel = preventCancel; + } + next() { + const nextSteps = () => this._nextSteps(); + this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); + return this._ongoingPromise; + } + return(value) { + const returnSteps = () => this._returnSteps(value); + return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); + } + _nextSteps() { + if (this._isFinished) { + return Promise.resolve({ value: void 0, done: true }); + } + const reader = this._reader; + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => { + this._ongoingPromise = void 0; + _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); + }, + _closeSteps: () => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + resolvePromise({ value: void 0, done: true }); + }, + _errorSteps: (reason) => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + rejectPromise(reason); + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promise; + } + _returnSteps(value) { + if (this._isFinished) { + return Promise.resolve({ value, done: true }); + } + this._isFinished = true; + const reader = this._reader; + if (!this._preventCancel) { + const result = ReadableStreamReaderGenericCancel(reader, value); + ReadableStreamReaderGenericRelease(reader); + return transformPromiseWith(result, () => ({ value, done: true })); + } + ReadableStreamReaderGenericRelease(reader); + return promiseResolvedWith({ value, done: true }); + } + } + const ReadableStreamAsyncIteratorPrototype = { + next() { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); + } + return this._asyncIteratorImpl.next(); + }, + return(value) { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); + } + return this._asyncIteratorImpl.return(value); + } + }; + Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); + function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { + const reader = AcquireReadableStreamDefaultReader(stream4); + const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); + const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); + iterator._asyncIteratorImpl = impl; + return iterator; + } + function IsReadableStreamAsyncIterator(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_asyncIteratorImpl")) { + return false; + } + try { + return x5._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; + } catch (_a5) { + return false; + } + } + function streamAsyncIteratorBrandCheckException(name) { + return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); + } + const NumberIsNaN = Number.isNaN || function(x5) { + return x5 !== x5; + }; + var _a4, _b2, _c2; + function CreateArrayFromList(elements) { + return elements.slice(); + } + function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { + new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); + } + let TransferArrayBuffer = (O5) => { + if (typeof O5.transfer === "function") { + TransferArrayBuffer = (buffer) => buffer.transfer(); + } else if (typeof structuredClone === "function") { + TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); + } else { + TransferArrayBuffer = (buffer) => buffer; + } + return TransferArrayBuffer(O5); + }; + let IsDetachedBuffer = (O5) => { + if (typeof O5.detached === "boolean") { + IsDetachedBuffer = (buffer) => buffer.detached; + } else { + IsDetachedBuffer = (buffer) => buffer.byteLength === 0; + } + return IsDetachedBuffer(O5); + }; + function ArrayBufferSlice(buffer, begin, end) { + if (buffer.slice) { + return buffer.slice(begin, end); + } + const length = end - begin; + const slice = new ArrayBuffer(length); + CopyDataBlockBytes(slice, 0, buffer, begin, length); + return slice; + } + function GetMethod(receiver, prop) { + const func = receiver[prop]; + if (func === void 0 || func === null) { + return void 0; + } + if (typeof func !== "function") { + throw new TypeError(`${String(prop)} is not a function`); + } + return func; + } + function CreateAsyncFromSyncIterator(syncIteratorRecord) { + const syncIterable = { + [Symbol.iterator]: () => syncIteratorRecord.iterator + }; + const asyncIterator2 = async function* () { + return yield* syncIterable; + }(); + const nextMethod = asyncIterator2.next; + return { iterator: asyncIterator2, nextMethod, done: false }; + } + const SymbolAsyncIterator = (_c2 = (_a4 = Symbol.asyncIterator) !== null && _a4 !== void 0 ? _a4 : (_b2 = Symbol.for) === null || _b2 === void 0 ? void 0 : _b2.call(Symbol, "Symbol.asyncIterator")) !== null && _c2 !== void 0 ? _c2 : "@@asyncIterator"; + function GetIterator(obj, hint = "sync", method) { + if (method === void 0) { + if (hint === "async") { + method = GetMethod(obj, SymbolAsyncIterator); + if (method === void 0) { + const syncMethod = GetMethod(obj, Symbol.iterator); + const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); + return CreateAsyncFromSyncIterator(syncIteratorRecord); + } + } else { + method = GetMethod(obj, Symbol.iterator); + } + } + if (method === void 0) { + throw new TypeError("The object is not iterable"); + } + const iterator = reflectCall(method, obj, []); + if (!typeIsObject(iterator)) { + throw new TypeError("The iterator method must return an object"); + } + const nextMethod = iterator.next; + return { iterator, nextMethod, done: false }; + } + function IteratorNext(iteratorRecord) { + const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); + if (!typeIsObject(result)) { + throw new TypeError("The iterator.next() method must return an object"); + } + return result; + } + function IteratorComplete(iterResult) { + return Boolean(iterResult.done); + } + function IteratorValue(iterResult) { + return iterResult.value; + } + function IsNonNegativeNumber(v5) { + if (typeof v5 !== "number") { + return false; + } + if (NumberIsNaN(v5)) { + return false; + } + if (v5 < 0) { + return false; + } + return true; + } + function CloneAsUint8Array(O5) { + const buffer = ArrayBufferSlice(O5.buffer, O5.byteOffset, O5.byteOffset + O5.byteLength); + return new Uint8Array(buffer); + } + function DequeueValue(container) { + const pair = container._queue.shift(); + container._queueTotalSize -= pair.size; + if (container._queueTotalSize < 0) { + container._queueTotalSize = 0; + } + return pair.value; + } + function EnqueueValueWithSize(container, value, size) { + if (!IsNonNegativeNumber(size) || size === Infinity) { + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + } + container._queue.push({ value, size }); + container._queueTotalSize += size; + } + function PeekQueueValue(container) { + const pair = container._queue.peek(); + return pair.value; + } + function ResetQueue(container) { + container._queue = new SimpleQueue(); + container._queueTotalSize = 0; + } + function isDataViewConstructor(ctor) { + return ctor === DataView; + } + function isDataView(view) { + return isDataViewConstructor(view.constructor); + } + function arrayBufferViewElementSize(ctor) { + if (isDataViewConstructor(ctor)) { + return 1; + } + return ctor.BYTES_PER_ELEMENT; + } + class ReadableStreamBYOBRequest2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("view"); + } + return this._view; + } + respond(bytesWritten) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respond"); + } + assertRequiredArgument(bytesWritten, 1, "respond"); + bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(this._view.buffer)) { + throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); + } + ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); + } + respondWithNewView(view) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respondWithNewView"); + } + assertRequiredArgument(view, 1, "respondWithNewView"); + if (!ArrayBuffer.isView(view)) { + throw new TypeError("You can only respond with array buffer views"); + } + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(view.buffer)) { + throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); + } + ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); + } + } + Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { + respond: { enumerable: true }, + respondWithNewView: { enumerable: true }, + view: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBRequest", + configurable: true + }); + } + class ReadableByteStreamController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("byobRequest"); + } + return ReadableByteStreamControllerGetBYOBRequest(this); + } + get desiredSize() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("desiredSize"); + } + return ReadableByteStreamControllerGetDesiredSize(this); + } + close() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("close"); + } + if (this._closeRequested) { + throw new TypeError("The stream has already been closed; do not close it again!"); + } + const state2 = this._controlledReadableByteStream._state; + if (state2 !== "readable") { + throw new TypeError(`The stream (in ${state2} state) is not in the readable state and cannot be closed`); + } + ReadableByteStreamControllerClose(this); + } + enqueue(chunk) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("enqueue"); + } + assertRequiredArgument(chunk, 1, "enqueue"); + if (!ArrayBuffer.isView(chunk)) { + throw new TypeError("chunk must be an array buffer view"); + } + if (chunk.byteLength === 0) { + throw new TypeError("chunk must have non-zero byteLength"); + } + if (chunk.buffer.byteLength === 0) { + throw new TypeError(`chunk's buffer must have non-zero byteLength`); + } + if (this._closeRequested) { + throw new TypeError("stream is closed or draining"); + } + const state2 = this._controlledReadableByteStream._state; + if (state2 !== "readable") { + throw new TypeError(`The stream (in ${state2} state) is not in the readable state and cannot be enqueued to`); + } + ReadableByteStreamControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("error"); + } + ReadableByteStreamControllerError(this, e3); + } + [CancelSteps](reason) { + ReadableByteStreamControllerClearPendingPullIntos(this); + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableByteStreamControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) { + ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); + return; + } + const autoAllocateChunkSize = this._autoAllocateChunkSize; + if (autoAllocateChunkSize !== void 0) { + let buffer; + try { + buffer = new ArrayBuffer(autoAllocateChunkSize); + } catch (bufferE) { + readRequest._errorSteps(bufferE); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: autoAllocateChunkSize, + byteOffset: 0, + byteLength: autoAllocateChunkSize, + bytesFilled: 0, + minimumFill: 1, + elementSize: 1, + viewConstructor: Uint8Array, + readerType: "default" + }; + this._pendingPullIntos.push(pullIntoDescriptor); + } + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableByteStreamControllerCallPullIfNeeded(this); + } + [ReleaseSteps]() { + if (this._pendingPullIntos.length > 0) { + const firstPullInto = this._pendingPullIntos.peek(); + firstPullInto.readerType = "none"; + this._pendingPullIntos = new SimpleQueue(); + this._pendingPullIntos.push(firstPullInto); + } + } + } + Object.defineProperties(ReadableByteStreamController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + byobRequest: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableByteStreamController2.prototype.close, "close"); + setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableByteStreamController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { + value: "ReadableByteStreamController", + configurable: true + }); + } + function IsReadableByteStreamController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableByteStream")) { + return false; + } + return x5 instanceof ReadableByteStreamController2; + } + function IsReadableStreamBYOBRequest(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_associatedReadableByteStreamController")) { + return false; + } + return x5 instanceof ReadableStreamBYOBRequest2; + } + function ReadableByteStreamControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableByteStreamControllerError(controller, e3); + return null; + }); + } + function ReadableByteStreamControllerClearPendingPullIntos(controller) { + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + controller._pendingPullIntos = new SimpleQueue(); + } + function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { + let done = false; + if (stream4._state === "closed") { + done = true; + } + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "default") { + ReadableStreamFulfillReadRequest(stream4, filledView, done); + } else { + ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); + } + } + function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { + const bytesFilled = pullIntoDescriptor.bytesFilled; + const elementSize = pullIntoDescriptor.elementSize; + return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); + } + function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { + controller._queue.push({ buffer, byteOffset, byteLength }); + controller._queueTotalSize += byteLength; + } + function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { + let clonedChunk; + try { + clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); + } catch (cloneE) { + ReadableByteStreamControllerError(controller, cloneE); + throw cloneE; + } + ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); + } + function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { + if (firstDescriptor.bytesFilled > 0) { + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { + const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); + const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; + let totalBytesToCopyRemaining = maxBytesToCopy; + let ready = false; + const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; + const maxAlignedBytes = maxBytesFilled - remainderBytes; + if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { + totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; + ready = true; + } + const queue = controller._queue; + while (totalBytesToCopyRemaining > 0) { + const headOfQueue = queue.peek(); + const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); + const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); + if (headOfQueue.byteLength === bytesToCopy) { + queue.shift(); + } else { + headOfQueue.byteOffset += bytesToCopy; + headOfQueue.byteLength -= bytesToCopy; + } + controller._queueTotalSize -= bytesToCopy; + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); + totalBytesToCopyRemaining -= bytesToCopy; + } + return ready; + } + function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { + pullIntoDescriptor.bytesFilled += size; + } + function ReadableByteStreamControllerHandleQueueDrain(controller) { + if (controller._queueTotalSize === 0 && controller._closeRequested) { + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(controller._controlledReadableByteStream); + } else { + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + } + function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { + if (controller._byobRequest === null) { + return; + } + controller._byobRequest._associatedReadableByteStreamController = void 0; + controller._byobRequest._view = null; + controller._byobRequest = null; + } + function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { + while (controller._pendingPullIntos.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const pullIntoDescriptor = controller._pendingPullIntos.peek(); + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { + const reader = controller._controlledReadableByteStream._reader; + while (reader._readRequests.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const readRequest = reader._readRequests.shift(); + ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); + } + } + function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { + const stream4 = controller._controlledReadableByteStream; + const ctor = view.constructor; + const elementSize = arrayBufferViewElementSize(ctor); + const { byteOffset, byteLength } = view; + const minimumFill = min * elementSize; + let buffer; + try { + buffer = TransferArrayBuffer(view.buffer); + } catch (e3) { + readIntoRequest._errorSteps(e3); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: buffer.byteLength, + byteOffset, + byteLength, + bytesFilled: 0, + minimumFill, + elementSize, + viewConstructor: ctor, + readerType: "byob" + }; + if (controller._pendingPullIntos.length > 0) { + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + return; + } + if (stream4._state === "closed") { + const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); + readIntoRequest._closeSteps(emptyView); + return; + } + if (controller._queueTotalSize > 0) { + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + ReadableByteStreamControllerHandleQueueDrain(controller); + readIntoRequest._chunkSteps(filledView); + return; + } + if (controller._closeRequested) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + readIntoRequest._errorSteps(e3); + return; + } + } + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { + if (firstDescriptor.readerType === "none") { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const stream4 = controller._controlledReadableByteStream; + if (ReadableStreamHasBYOBReader(stream4)) { + while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + return; + } + if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { + return; + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; + if (remainderSize > 0) { + const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); + } + pullIntoDescriptor.bytesFilled -= remainderSize; + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } + function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); + } else { + ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerShiftPendingPullInto(controller) { + const descriptor = controller._pendingPullIntos.shift(); + return descriptor; + } + function ReadableByteStreamControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return false; + } + if (controller._closeRequested) { + return false; + } + if (!controller._started) { + return false; + } + if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableByteStreamControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function ReadableByteStreamControllerClose(controller) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + if (controller._queueTotalSize > 0) { + controller._closeRequested = true; + return; + } + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + throw e3; + } + } + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + function ReadableByteStreamControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + const { buffer, byteOffset, byteLength } = chunk; + if (IsDetachedBuffer(buffer)) { + throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); + } + const transferredBuffer = TransferArrayBuffer(buffer); + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (IsDetachedBuffer(firstPendingPullInto.buffer)) { + throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); + } + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); + if (firstPendingPullInto.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); + } + } + if (ReadableStreamHasDefaultReader(stream4)) { + ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); + if (ReadableStreamGetNumReadRequests(stream4) === 0) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } else { + if (controller._pendingPullIntos.length > 0) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); + ReadableStreamFulfillReadRequest(stream4, transferredView, false); + } + } else if (ReadableStreamHasBYOBReader(stream4)) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } else { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerError(controller, e3) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return; + } + ReadableByteStreamControllerClearPendingPullIntos(controller); + ResetQueue(controller); + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { + const entry = controller._queue.shift(); + controller._queueTotalSize -= entry.byteLength; + ReadableByteStreamControllerHandleQueueDrain(controller); + const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); + readRequest._chunkSteps(view); + } + function ReadableByteStreamControllerGetBYOBRequest(controller) { + if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); + const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); + SetUpReadableStreamBYOBRequest(byobRequest, controller, view); + controller._byobRequest = byobRequest; + } + return controller._byobRequest; + } + function ReadableByteStreamControllerGetDesiredSize(controller) { + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "errored") { + return null; + } + if (state2 === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableByteStreamControllerRespond(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + if (bytesWritten !== 0) { + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } + } else { + if (bytesWritten === 0) { + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + } + if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { + throw new RangeError("bytesWritten out of range"); + } + } + firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); + ReadableByteStreamControllerRespondInternal(controller, bytesWritten); + } + function ReadableByteStreamControllerRespondWithNewView(controller, view) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + if (view.byteLength !== 0) { + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } + } else { + if (view.byteLength === 0) { + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + } + } + if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { + throw new RangeError("The region specified by view does not match byobRequest"); + } + if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { + throw new RangeError("The buffer of view has different capacity than byobRequest"); + } + if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { + throw new RangeError("The region specified by view is larger than byobRequest"); + } + const viewByteLength = view.byteLength; + firstDescriptor.buffer = TransferArrayBuffer(view.buffer); + ReadableByteStreamControllerRespondInternal(controller, viewByteLength); + } + function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { + controller._controlledReadableByteStream = stream4; + controller._pullAgain = false; + controller._pulling = false; + controller._byobRequest = null; + controller._queue = controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._closeRequested = false; + controller._started = false; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._autoAllocateChunkSize = autoAllocateChunkSize; + controller._pendingPullIntos = new SimpleQueue(); + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableByteStreamControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableByteStreamControllerError(controller, r3); + return null; + }); + } + function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { + const controller = Object.create(ReadableByteStreamController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingByteSource.start !== void 0) { + startAlgorithm = () => underlyingByteSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingByteSource.pull !== void 0) { + pullAlgorithm = () => underlyingByteSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingByteSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; + if (autoAllocateChunkSize === 0) { + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + } + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); + } + function SetUpReadableStreamBYOBRequest(request3, controller, view) { + request3._associatedReadableByteStreamController = controller; + request3._view = view; + } + function byobRequestBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); + } + function byteStreamControllerBrandCheckException(name) { + return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); + } + function convertReaderOptions(options, context) { + assertDictionary(options, context); + const mode4 = options === null || options === void 0 ? void 0 : options.mode; + return { + mode: mode4 === void 0 ? void 0 : convertReadableStreamReaderMode(mode4, `${context} has member 'mode' that`) + }; + } + function convertReadableStreamReaderMode(mode4, context) { + mode4 = `${mode4}`; + if (mode4 !== "byob") { + throw new TypeError(`${context} '${mode4}' is not a valid enumeration value for ReadableStreamReaderMode`); + } + return mode4; + } + function convertByobReadOptions(options, context) { + var _a5; + assertDictionary(options, context); + const min = (_a5 = options === null || options === void 0 ? void 0 : options.min) !== null && _a5 !== void 0 ? _a5 : 1; + return { + min: convertUnsignedLongLongWithEnforceRange(min, `${context} has member 'min' that`) + }; + } + function AcquireReadableStreamBYOBReader(stream4) { + return new ReadableStreamBYOBReader2(stream4); + } + function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { + stream4._reader._readIntoRequests.push(readIntoRequest); + } + function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readIntoRequest = reader._readIntoRequests.shift(); + if (done) { + readIntoRequest._closeSteps(chunk); + } else { + readIntoRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadIntoRequests(stream4) { + return stream4._reader._readIntoRequests.length; + } + function ReadableStreamHasBYOBReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamBYOBReader(reader)) { + return false; + } + return true; + } + class ReadableStreamBYOBReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + if (!IsReadableByteStreamController(stream4._readableStreamController)) { + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readIntoRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read(view, rawOptions = {}) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("read")); + } + if (!ArrayBuffer.isView(view)) { + return promiseRejectedWith(new TypeError("view must be an array buffer view")); + } + if (view.byteLength === 0) { + return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); + } + if (view.buffer.byteLength === 0) { + return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); + } + if (IsDetachedBuffer(view.buffer)) { + return promiseRejectedWith(new TypeError("view's buffer has been detached")); + } + let options; + try { + options = convertByobReadOptions(rawOptions, "options"); + } catch (e3) { + return promiseRejectedWith(e3); + } + const min = options.min; + if (min === 0) { + return promiseRejectedWith(new TypeError("options.min must be greater than 0")); + } + if (!isDataView(view)) { + if (min > view.length) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); + } + } else if (min > view.byteLength) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readIntoRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamBYOBReader(this)) { + throw byobReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamBYOBReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamBYOBReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); + setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBReader", + configurable: true + }); + } + function IsReadableStreamBYOBReader(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readIntoRequests")) { + return false; + } + return x5 instanceof ReadableStreamBYOBReader2; + } + function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "errored") { + readIntoRequest._errorSteps(stream4._storedError); + } else { + ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); + } + } + function ReadableStreamBYOBReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._errorSteps(e3); + }); + } + function byobReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); + } + function ExtractHighWaterMark(strategy, defaultHWM) { + const { highWaterMark } = strategy; + if (highWaterMark === void 0) { + return defaultHWM; + } + if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { + throw new RangeError("Invalid highWaterMark"); + } + return highWaterMark; + } + function ExtractSizeAlgorithm(strategy) { + const { size } = strategy; + if (!size) { + return () => 1; + } + return size; + } + function convertQueuingStrategy(init, context) { + assertDictionary(init, context); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + const size = init === null || init === void 0 ? void 0 : init.size; + return { + highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), + size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context} has member 'size' that`) + }; + } + function convertQueuingStrategySize(fn, context) { + assertFunction(fn, context); + return (chunk) => convertUnrestrictedDouble(fn(chunk)); + } + function convertUnderlyingSink(original, context) { + assertDictionary(original, context); + const abort = original === null || original === void 0 ? void 0 : original.abort; + const close = original === null || original === void 0 ? void 0 : original.close; + const start = original === null || original === void 0 ? void 0 : original.start; + const type2 = original === null || original === void 0 ? void 0 : original.type; + const write = original === null || original === void 0 ? void 0 : original.write; + return { + abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context} has member 'abort' that`), + close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context} has member 'close' that`), + start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context} has member 'start' that`), + write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context} has member 'write' that`), + type: type2 + }; + } + function convertUnderlyingSinkAbortCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSinkCloseCallback(fn, original, context) { + assertFunction(fn, context); + return () => promiseCall(fn, original, []); + } + function convertUnderlyingSinkStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertUnderlyingSinkWriteCallback(fn, original, context) { + assertFunction(fn, context); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function assertWritableStream(x5, context) { + if (!IsWritableStream(x5)) { + throw new TypeError(`${context} is not a WritableStream.`); + } + } + function isAbortSignal(value) { + if (typeof value !== "object" || value === null) { + return false; + } + try { + return typeof value.aborted === "boolean"; + } catch (_a5) { + return false; + } + } + const supportsAbortController = typeof AbortController === "function"; + function createAbortController() { + if (supportsAbortController) { + return new AbortController(); + } + return void 0; + } + class WritableStream2 { + constructor(rawUnderlyingSink = {}, rawStrategy = {}) { + if (rawUnderlyingSink === void 0) { + rawUnderlyingSink = null; + } else { + assertObject(rawUnderlyingSink, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); + InitializeWritableStream(this); + const type2 = underlyingSink.type; + if (type2 !== void 0) { + throw new RangeError("Invalid type is specified"); + } + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); + } + get locked() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("locked"); + } + return IsWritableStreamLocked(this); + } + abort(reason = void 0) { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("abort")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); + } + return WritableStreamAbort(this, reason); + } + close() { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("close")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); + } + if (WritableStreamCloseQueuedOrInFlight(this)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamClose(this); + } + getWriter() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("getWriter"); + } + return AcquireWritableStreamDefaultWriter(this); + } + } + Object.defineProperties(WritableStream2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + getWriter: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(WritableStream2.prototype.abort, "abort"); + setFunctionName(WritableStream2.prototype.close, "close"); + setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { + value: "WritableStream", + configurable: true + }); + } + function AcquireWritableStreamDefaultWriter(stream4) { + return new WritableStreamDefaultWriter2(stream4); + } + function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(WritableStream2.prototype); + InitializeWritableStream(stream4); + const controller = Object.create(WritableStreamDefaultController2.prototype); + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function InitializeWritableStream(stream4) { + stream4._state = "writable"; + stream4._storedError = void 0; + stream4._writer = void 0; + stream4._writableStreamController = void 0; + stream4._writeRequests = new SimpleQueue(); + stream4._inFlightWriteRequest = void 0; + stream4._closeRequest = void 0; + stream4._inFlightCloseRequest = void 0; + stream4._pendingAbortRequest = void 0; + stream4._backpressure = false; + } + function IsWritableStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_writableStreamController")) { + return false; + } + return x5 instanceof WritableStream2; + } + function IsWritableStreamLocked(stream4) { + if (stream4._writer === void 0) { + return false; + } + return true; + } + function WritableStreamAbort(stream4, reason) { + var _a5; + if (stream4._state === "closed" || stream4._state === "errored") { + return promiseResolvedWith(void 0); + } + stream4._writableStreamController._abortReason = reason; + (_a5 = stream4._writableStreamController._abortController) === null || _a5 === void 0 ? void 0 : _a5.abort(reason); + const state2 = stream4._state; + if (state2 === "closed" || state2 === "errored") { + return promiseResolvedWith(void 0); + } + if (stream4._pendingAbortRequest !== void 0) { + return stream4._pendingAbortRequest._promise; + } + let wasAlreadyErroring = false; + if (state2 === "erroring") { + wasAlreadyErroring = true; + reason = void 0; + } + const promise = newPromise((resolve, reject) => { + stream4._pendingAbortRequest = { + _promise: void 0, + _resolve: resolve, + _reject: reject, + _reason: reason, + _wasAlreadyErroring: wasAlreadyErroring + }; + }); + stream4._pendingAbortRequest._promise = promise; + if (!wasAlreadyErroring) { + WritableStreamStartErroring(stream4, reason); + } + return promise; + } + function WritableStreamClose(stream4) { + const state2 = stream4._state; + if (state2 === "closed" || state2 === "errored") { + return promiseRejectedWith(new TypeError(`The stream (in ${state2} state) is not in the writable state and cannot be closed`)); + } + const promise = newPromise((resolve, reject) => { + const closeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._closeRequest = closeRequest; + }); + const writer = stream4._writer; + if (writer !== void 0 && stream4._backpressure && state2 === "writable") { + defaultWriterReadyPromiseResolve(writer); + } + WritableStreamDefaultControllerClose(stream4._writableStreamController); + return promise; + } + function WritableStreamAddWriteRequest(stream4) { + const promise = newPromise((resolve, reject) => { + const writeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._writeRequests.push(writeRequest); + }); + return promise; + } + function WritableStreamDealWithRejection(stream4, error) { + const state2 = stream4._state; + if (state2 === "writable") { + WritableStreamStartErroring(stream4, error); + return; + } + WritableStreamFinishErroring(stream4); + } + function WritableStreamStartErroring(stream4, reason) { + const controller = stream4._writableStreamController; + stream4._state = "erroring"; + stream4._storedError = reason; + const writer = stream4._writer; + if (writer !== void 0) { + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); + } + if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { + WritableStreamFinishErroring(stream4); + } + } + function WritableStreamFinishErroring(stream4) { + stream4._state = "errored"; + stream4._writableStreamController[ErrorSteps](); + const storedError = stream4._storedError; + stream4._writeRequests.forEach((writeRequest) => { + writeRequest._reject(storedError); + }); + stream4._writeRequests = new SimpleQueue(); + if (stream4._pendingAbortRequest === void 0) { + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const abortRequest = stream4._pendingAbortRequest; + stream4._pendingAbortRequest = void 0; + if (abortRequest._wasAlreadyErroring) { + abortRequest._reject(storedError); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); + uponPromise(promise, () => { + abortRequest._resolve(); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }, (reason) => { + abortRequest._reject(reason); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }); + } + function WritableStreamFinishInFlightWrite(stream4) { + stream4._inFlightWriteRequest._resolve(void 0); + stream4._inFlightWriteRequest = void 0; + } + function WritableStreamFinishInFlightWriteWithError(stream4, error) { + stream4._inFlightWriteRequest._reject(error); + stream4._inFlightWriteRequest = void 0; + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamFinishInFlightClose(stream4) { + stream4._inFlightCloseRequest._resolve(void 0); + stream4._inFlightCloseRequest = void 0; + const state2 = stream4._state; + if (state2 === "erroring") { + stream4._storedError = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._resolve(); + stream4._pendingAbortRequest = void 0; + } + } + stream4._state = "closed"; + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseResolve(writer); + } + } + function WritableStreamFinishInFlightCloseWithError(stream4, error) { + stream4._inFlightCloseRequest._reject(error); + stream4._inFlightCloseRequest = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._reject(error); + stream4._pendingAbortRequest = void 0; + } + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamCloseQueuedOrInFlight(stream4) { + if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamHasOperationMarkedInFlight(stream4) { + if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamMarkCloseRequestInFlight(stream4) { + stream4._inFlightCloseRequest = stream4._closeRequest; + stream4._closeRequest = void 0; + } + function WritableStreamMarkFirstWriteRequestInFlight(stream4) { + stream4._inFlightWriteRequest = stream4._writeRequests.shift(); + } + function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { + if (stream4._closeRequest !== void 0) { + stream4._closeRequest._reject(stream4._storedError); + stream4._closeRequest = void 0; + } + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseReject(writer, stream4._storedError); + } + } + function WritableStreamUpdateBackpressure(stream4, backpressure) { + const writer = stream4._writer; + if (writer !== void 0 && backpressure !== stream4._backpressure) { + if (backpressure) { + defaultWriterReadyPromiseReset(writer); + } else { + defaultWriterReadyPromiseResolve(writer); + } + } + stream4._backpressure = backpressure; + } + class WritableStreamDefaultWriter2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); + assertWritableStream(stream4, "First parameter"); + if (IsWritableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + } + this._ownerWritableStream = stream4; + stream4._writer = this; + const state2 = stream4._state; + if (state2 === "writable") { + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { + defaultWriterReadyPromiseInitialize(this); + } else { + defaultWriterReadyPromiseInitializeAsResolved(this); + } + defaultWriterClosedPromiseInitialize(this); + } else if (state2 === "erroring") { + defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); + defaultWriterClosedPromiseInitialize(this); + } else if (state2 === "closed") { + defaultWriterReadyPromiseInitializeAsResolved(this); + defaultWriterClosedPromiseInitializeAsResolved(this); + } else { + const storedError = stream4._storedError; + defaultWriterReadyPromiseInitializeAsRejected(this, storedError); + defaultWriterClosedPromiseInitializeAsRejected(this, storedError); + } + } + get closed() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("closed")); + } + return this._closedPromise; + } + get desiredSize() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("desiredSize"); + } + if (this._ownerWritableStream === void 0) { + throw defaultWriterLockException("desiredSize"); + } + return WritableStreamDefaultWriterGetDesiredSize(this); + } + get ready() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("ready")); + } + return this._readyPromise; + } + abort(reason = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("abort")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("abort")); + } + return WritableStreamDefaultWriterAbort(this, reason); + } + close() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("close")); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return promiseRejectedWith(defaultWriterLockException("close")); + } + if (WritableStreamCloseQueuedOrInFlight(stream4)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamDefaultWriterClose(this); + } + releaseLock() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("releaseLock"); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return; + } + WritableStreamDefaultWriterRelease(this); + } + write(chunk = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("write")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + return WritableStreamDefaultWriterWrite(this, chunk); + } + } + Object.defineProperties(WritableStreamDefaultWriter2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + releaseLock: { enumerable: true }, + write: { enumerable: true }, + closed: { enumerable: true }, + desiredSize: { enumerable: true }, + ready: { enumerable: true } + }); + setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); + setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); + setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); + setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultWriter", + configurable: true + }); + } + function IsWritableStreamDefaultWriter(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_ownerWritableStream")) { + return false; + } + return x5 instanceof WritableStreamDefaultWriter2; + } + function WritableStreamDefaultWriterAbort(writer, reason) { + const stream4 = writer._ownerWritableStream; + return WritableStreamAbort(stream4, reason); + } + function WritableStreamDefaultWriterClose(writer) { + const stream4 = writer._ownerWritableStream; + return WritableStreamClose(stream4); + } + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { + const stream4 = writer._ownerWritableStream; + const state2 = stream4._state; + if (WritableStreamCloseQueuedOrInFlight(stream4) || state2 === "closed") { + return promiseResolvedWith(void 0); + } + if (state2 === "errored") { + return promiseRejectedWith(stream4._storedError); + } + return WritableStreamDefaultWriterClose(writer); + } + function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { + if (writer._closedPromiseState === "pending") { + defaultWriterClosedPromiseReject(writer, error); + } else { + defaultWriterClosedPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { + if (writer._readyPromiseState === "pending") { + defaultWriterReadyPromiseReject(writer, error); + } else { + defaultWriterReadyPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterGetDesiredSize(writer) { + const stream4 = writer._ownerWritableStream; + const state2 = stream4._state; + if (state2 === "errored" || state2 === "erroring") { + return null; + } + if (state2 === "closed") { + return 0; + } + return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); + } + function WritableStreamDefaultWriterRelease(writer) { + const stream4 = writer._ownerWritableStream; + const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); + WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); + stream4._writer = void 0; + writer._ownerWritableStream = void 0; + } + function WritableStreamDefaultWriterWrite(writer, chunk) { + const stream4 = writer._ownerWritableStream; + const controller = stream4._writableStreamController; + const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); + if (stream4 !== writer._ownerWritableStream) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + const state2 = stream4._state; + if (state2 === "errored") { + return promiseRejectedWith(stream4._storedError); + } + if (WritableStreamCloseQueuedOrInFlight(stream4) || state2 === "closed") { + return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); + } + if (state2 === "erroring") { + return promiseRejectedWith(stream4._storedError); + } + const promise = WritableStreamAddWriteRequest(stream4); + WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); + return promise; + } + const closeSentinel = {}; + class WritableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("abortReason"); + } + return this._abortReason; + } + get signal() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("signal"); + } + if (this._abortController === void 0) { + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + } + return this._abortController.signal; + } + error(e3 = void 0) { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("error"); + } + const state2 = this._controlledWritableStream._state; + if (state2 !== "writable") { + return; + } + WritableStreamDefaultControllerError(this, e3); + } + [AbortSteps](reason) { + const result = this._abortAlgorithm(reason); + WritableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [ErrorSteps]() { + ResetQueue(this); + } + } + Object.defineProperties(WritableStreamDefaultController2.prototype, { + abortReason: { enumerable: true }, + signal: { enumerable: true }, + error: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultController", + configurable: true + }); + } + function IsWritableStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledWritableStream")) { + return false; + } + return x5 instanceof WritableStreamDefaultController2; + } + function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledWritableStream = stream4; + stream4._writableStreamController = controller; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._abortReason = void 0; + controller._abortController = createAbortController(); + controller._started = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._writeAlgorithm = writeAlgorithm; + controller._closeAlgorithm = closeAlgorithm; + controller._abortAlgorithm = abortAlgorithm; + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + const startResult = startAlgorithm(); + const startPromise = promiseResolvedWith(startResult); + uponPromise(startPromise, () => { + controller._started = true; + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (r3) => { + controller._started = true; + WritableStreamDealWithRejection(stream4, r3); + return null; + }); + } + function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { + const controller = Object.create(WritableStreamDefaultController2.prototype); + let startAlgorithm; + let writeAlgorithm; + let closeAlgorithm; + let abortAlgorithm; + if (underlyingSink.start !== void 0) { + startAlgorithm = () => underlyingSink.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSink.write !== void 0) { + writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); + } else { + writeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.close !== void 0) { + closeAlgorithm = () => underlyingSink.close(); + } else { + closeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.abort !== void 0) { + abortAlgorithm = (reason) => underlyingSink.abort(reason); + } else { + abortAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + } + function WritableStreamDefaultControllerClearAlgorithms(controller) { + controller._writeAlgorithm = void 0; + controller._closeAlgorithm = void 0; + controller._abortAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function WritableStreamDefaultControllerClose(controller) { + EnqueueValueWithSize(controller, closeSentinel, 0); + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { + try { + return controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); + return 1; + } + } + function WritableStreamDefaultControllerGetDesiredSize(controller) { + return controller._strategyHWM - controller._queueTotalSize; + } + function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); + return; + } + const stream4 = controller._controlledWritableStream; + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { + const stream4 = controller._controlledWritableStream; + if (!controller._started) { + return; + } + if (stream4._inFlightWriteRequest !== void 0) { + return; + } + const state2 = stream4._state; + if (state2 === "erroring") { + WritableStreamFinishErroring(stream4); + return; + } + if (controller._queue.length === 0) { + return; + } + const value = PeekQueueValue(controller); + if (value === closeSentinel) { + WritableStreamDefaultControllerProcessClose(controller); + } else { + WritableStreamDefaultControllerProcessWrite(controller, value); + } + } + function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { + if (controller._controlledWritableStream._state === "writable") { + WritableStreamDefaultControllerError(controller, error); + } + } + function WritableStreamDefaultControllerProcessClose(controller) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkCloseRequestInFlight(stream4); + DequeueValue(controller); + const sinkClosePromise = controller._closeAlgorithm(); + WritableStreamDefaultControllerClearAlgorithms(controller); + uponPromise(sinkClosePromise, () => { + WritableStreamFinishInFlightClose(stream4); + return null; + }, (reason) => { + WritableStreamFinishInFlightCloseWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerProcessWrite(controller, chunk) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkFirstWriteRequestInFlight(stream4); + const sinkWritePromise = controller._writeAlgorithm(chunk); + uponPromise(sinkWritePromise, () => { + WritableStreamFinishInFlightWrite(stream4); + const state2 = stream4._state; + DequeueValue(controller); + if (!WritableStreamCloseQueuedOrInFlight(stream4) && state2 === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (reason) => { + if (stream4._state === "writable") { + WritableStreamDefaultControllerClearAlgorithms(controller); + } + WritableStreamFinishInFlightWriteWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerGetBackpressure(controller) { + const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); + return desiredSize <= 0; + } + function WritableStreamDefaultControllerError(controller, error) { + const stream4 = controller._controlledWritableStream; + WritableStreamDefaultControllerClearAlgorithms(controller); + WritableStreamStartErroring(stream4, error); + } + function streamBrandCheckException$2(name) { + return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); + } + function defaultControllerBrandCheckException$2(name) { + return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); + } + function defaultWriterBrandCheckException(name) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); + } + function defaultWriterLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released writer"); + } + function defaultWriterClosedPromiseInitialize(writer) { + writer._closedPromise = newPromise((resolve, reject) => { + writer._closedPromise_resolve = resolve; + writer._closedPromise_reject = reject; + writer._closedPromiseState = "pending"; + }); + } + function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseReject(writer, reason); + } + function defaultWriterClosedPromiseInitializeAsResolved(writer) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseResolve(writer); + } + function defaultWriterClosedPromiseReject(writer, reason) { + if (writer._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._closedPromise); + writer._closedPromise_reject(reason); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "rejected"; + } + function defaultWriterClosedPromiseResetToRejected(writer, reason) { + defaultWriterClosedPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterClosedPromiseResolve(writer) { + if (writer._closedPromise_resolve === void 0) { + return; + } + writer._closedPromise_resolve(void 0); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "resolved"; + } + function defaultWriterReadyPromiseInitialize(writer) { + writer._readyPromise = newPromise((resolve, reject) => { + writer._readyPromise_resolve = resolve; + writer._readyPromise_reject = reject; + }); + writer._readyPromiseState = "pending"; + } + function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseReject(writer, reason); + } + function defaultWriterReadyPromiseInitializeAsResolved(writer) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseResolve(writer); + } + function defaultWriterReadyPromiseReject(writer, reason) { + if (writer._readyPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._readyPromise); + writer._readyPromise_reject(reason); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "rejected"; + } + function defaultWriterReadyPromiseReset(writer) { + defaultWriterReadyPromiseInitialize(writer); + } + function defaultWriterReadyPromiseResetToRejected(writer, reason) { + defaultWriterReadyPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterReadyPromiseResolve(writer) { + if (writer._readyPromise_resolve === void 0) { + return; + } + writer._readyPromise_resolve(void 0); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "fulfilled"; + } + function getGlobals() { + if (typeof globalThis !== "undefined") { + return globalThis; + } else if (typeof self !== "undefined") { + return self; + } else if (typeof global !== "undefined") { + return global; + } + return void 0; + } + const globals = getGlobals(); + function isDOMExceptionConstructor(ctor) { + if (!(typeof ctor === "function" || typeof ctor === "object")) { + return false; + } + if (ctor.name !== "DOMException") { + return false; + } + try { + new ctor(); + return true; + } catch (_a5) { + return false; + } + } + function getFromGlobal() { + const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; + return isDOMExceptionConstructor(ctor) ? ctor : void 0; + } + function createPolyfill() { + const ctor = function DOMException4(message, name) { + this.message = message || ""; + this.name = name || "Error"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + }; + setFunctionName(ctor, "DOMException"); + ctor.prototype = Object.create(Error.prototype); + Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); + return ctor; + } + const DOMException3 = getFromGlobal() || createPolyfill(); + function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { + const reader = AcquireReadableStreamDefaultReader(source); + const writer = AcquireWritableStreamDefaultWriter(dest); + source._disturbed = true; + let shuttingDown = false; + let currentWrite = promiseResolvedWith(void 0); + return newPromise((resolve, reject) => { + let abortAlgorithm; + if (signal !== void 0) { + abortAlgorithm = () => { + const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); + const actions = []; + if (!preventAbort) { + actions.push(() => { + if (dest._state === "writable") { + return WritableStreamAbort(dest, error); + } + return promiseResolvedWith(void 0); + }); + } + if (!preventCancel) { + actions.push(() => { + if (source._state === "readable") { + return ReadableStreamCancel(source, error); + } + return promiseResolvedWith(void 0); + }); + } + shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); + }; + if (signal.aborted) { + abortAlgorithm(); + return; + } + signal.addEventListener("abort", abortAlgorithm); + } + function pipeLoop() { + return newPromise((resolveLoop, rejectLoop) => { + function next(done) { + if (done) { + resolveLoop(); + } else { + PerformPromiseThen(pipeStep(), next, rejectLoop); + } + } + next(false); + }); + } + function pipeStep() { + if (shuttingDown) { + return promiseResolvedWith(true); + } + return PerformPromiseThen(writer._readyPromise, () => { + return newPromise((resolveRead, rejectRead) => { + ReadableStreamDefaultReaderRead(reader, { + _chunkSteps: (chunk) => { + currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); + resolveRead(false); + }, + _closeSteps: () => resolveRead(true), + _errorSteps: rejectRead + }); + }); + }); + } + isOrBecomesErrored(source, reader._closedPromise, (storedError) => { + if (!preventAbort) { + shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesClosed(source, reader._closedPromise, () => { + if (!preventClose) { + shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); + } else { + shutdown(); + } + return null; + }); + if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { + const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); + } else { + shutdown(true, destClosed); + } + } + setPromiseIsHandledToTrue(pipeLoop()); + function waitForWritesToFinish() { + const oldCurrentWrite = currentWrite; + return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); + } + function isOrBecomesErrored(stream4, promise, action) { + if (stream4._state === "errored") { + action(stream4._storedError); + } else { + uponRejection(promise, action); + } + } + function isOrBecomesClosed(stream4, promise, action) { + if (stream4._state === "closed") { + action(); + } else { + uponFulfillment(promise, action); + } + } + function shutdownWithAction(action, originalIsError, originalError) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), doTheRest); + } else { + doTheRest(); + } + function doTheRest() { + uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); + return null; + } + } + function shutdown(isError2, error) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), () => finalize(isError2, error)); + } else { + finalize(isError2, error); + } + } + function finalize(isError2, error) { + WritableStreamDefaultWriterRelease(writer); + ReadableStreamReaderGenericRelease(reader); + if (signal !== void 0) { + signal.removeEventListener("abort", abortAlgorithm); + } + if (isError2) { + reject(error); + } else { + resolve(void 0); + } + return null; + } + }); + } + class ReadableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("desiredSize"); + } + return ReadableStreamDefaultControllerGetDesiredSize(this); + } + close() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("close"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits close"); + } + ReadableStreamDefaultControllerClose(this); + } + enqueue(chunk = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("enqueue"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits enqueue"); + } + return ReadableStreamDefaultControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("error"); + } + ReadableStreamDefaultControllerError(this, e3); + } + [CancelSteps](reason) { + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableStream; + if (this._queue.length > 0) { + const chunk = DequeueValue(this); + if (this._closeRequested && this._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(this); + ReadableStreamClose(stream4); + } else { + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + readRequest._chunkSteps(chunk); + } else { + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + } + [ReleaseSteps]() { + } + } + Object.defineProperties(ReadableStreamDefaultController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); + setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultController", + configurable: true + }); + } + function IsReadableStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledReadableStream")) { + return false; + } + return x5 instanceof ReadableStreamDefaultController2; + } + function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableStreamDefaultControllerError(controller, e3); + return null; + }); + } + function ReadableStreamDefaultControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableStream; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return false; + } + if (!controller._started) { + return false; + } + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableStreamDefaultControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function ReadableStreamDefaultControllerClose(controller) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + controller._closeRequested = true; + if (controller._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + } + function ReadableStreamDefaultControllerEnqueue(controller, chunk) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + ReadableStreamFulfillReadRequest(stream4, chunk, false); + } else { + let chunkSize; + try { + chunkSize = controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + ReadableStreamDefaultControllerError(controller, chunkSizeE); + throw chunkSizeE; + } + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + ReadableStreamDefaultControllerError(controller, enqueueE); + throw enqueueE; + } + } + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + function ReadableStreamDefaultControllerError(controller, e3) { + const stream4 = controller._controlledReadableStream; + if (stream4._state !== "readable") { + return; + } + ResetQueue(controller); + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableStreamDefaultControllerGetDesiredSize(controller) { + const state2 = controller._controlledReadableStream._state; + if (state2 === "errored") { + return null; + } + if (state2 === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableStreamDefaultControllerHasBackpressure(controller) { + if (ReadableStreamDefaultControllerShouldCallPull(controller)) { + return false; + } + return true; + } + function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { + const state2 = controller._controlledReadableStream._state; + if (!controller._closeRequested && state2 === "readable") { + return true; + } + return false; + } + function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledReadableStream = stream4; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._started = false; + controller._closeRequested = false; + controller._pullAgain = false; + controller._pulling = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(controller, r3); + return null; + }); + } + function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { + const controller = Object.create(ReadableStreamDefaultController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingSource.start !== void 0) { + startAlgorithm = () => underlyingSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSource.pull !== void 0) { + pullAlgorithm = () => underlyingSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + } + function defaultControllerBrandCheckException$1(name) { + return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); + } + function ReadableStreamTee(stream4, cloneForBranch2) { + if (IsReadableByteStreamController(stream4._readableStreamController)) { + return ReadableByteStreamTee(stream4); + } + return ReadableStreamDefaultTee(stream4); + } + function ReadableStreamDefaultTee(stream4, cloneForBranch2) { + const reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgain = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function pullAlgorithm() { + if (reading) { + readAgain = true; + return promiseResolvedWith(void 0); + } + reading = true; + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgain = false; + const chunk1 = chunk; + const chunk2 = chunk; + if (!canceled1) { + ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgain) { + pullAlgorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableStreamDefaultControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableStreamDefaultControllerClose(branch2._readableStreamController); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + } + branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); + branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); + uponRejection(reader._closedPromise, (r3) => { + ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); + ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + return [branch1, branch2]; + } + function ReadableByteStreamTee(stream4) { + let reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgainForBranch1 = false; + let readAgainForBranch2 = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function forwardReaderError(thisReader) { + uponRejection(thisReader._closedPromise, (r3) => { + if (thisReader !== reader) { + return null; + } + ReadableByteStreamControllerError(branch1._readableStreamController, r3); + ReadableByteStreamControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + } + function pullWithDefaultReader() { + if (IsReadableStreamBYOBReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamDefaultReader(stream4); + forwardReaderError(reader); + } + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const chunk1 = chunk; + let chunk2 = chunk; + if (!canceled1 && !canceled2) { + try { + chunk2 = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); + ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + } + if (!canceled1) { + ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableByteStreamControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableByteStreamControllerClose(branch2._readableStreamController); + } + if (branch1._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); + } + if (branch2._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + } + function pullWithBYOBReader(view, forBranch2) { + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamBYOBReader(stream4); + forwardReaderError(reader); + } + const byobBranch = forBranch2 ? branch2 : branch1; + const otherBranch = forBranch2 ? branch1 : branch2; + const readIntoRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!otherCanceled) { + let clonedChunk; + try { + clonedChunk = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); + ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); + } else if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: (chunk) => { + reading = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!byobCanceled) { + ReadableByteStreamControllerClose(byobBranch._readableStreamController); + } + if (!otherCanceled) { + ReadableByteStreamControllerClose(otherBranch._readableStreamController); + } + if (chunk !== void 0) { + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); + } + } + if (!byobCanceled || !otherCanceled) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); + } + function pull1Algorithm() { + if (reading) { + readAgainForBranch1 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, false); + } + return promiseResolvedWith(void 0); + } + function pull2Algorithm() { + if (reading) { + readAgainForBranch2 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, true); + } + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + return; + } + branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); + branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); + forwardReaderError(reader); + return [branch1, branch2]; + } + function isReadableStreamLike(stream4) { + return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; + } + function ReadableStreamFrom(source) { + if (isReadableStreamLike(source)) { + return ReadableStreamFromDefaultReader(source.getReader()); + } + return ReadableStreamFromIterable(source); + } + function ReadableStreamFromIterable(asyncIterable) { + let stream4; + const iteratorRecord = GetIterator(asyncIterable, "async"); + const startAlgorithm = noop2; + function pullAlgorithm() { + let nextResult; + try { + nextResult = IteratorNext(iteratorRecord); + } catch (e3) { + return promiseRejectedWith(e3); + } + const nextPromise = promiseResolvedWith(nextResult); + return transformPromiseWith(nextPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); + } + const done = IteratorComplete(iterResult); + if (done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = IteratorValue(iterResult); + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + const iterator = iteratorRecord.iterator; + let returnMethod; + try { + returnMethod = GetMethod(iterator, "return"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (returnMethod === void 0) { + return promiseResolvedWith(void 0); + } + let returnResult; + try { + returnResult = reflectCall(returnMethod, iterator, [reason]); + } catch (e3) { + return promiseRejectedWith(e3); + } + const returnPromise = promiseResolvedWith(returnResult); + return transformPromiseWith(returnPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); + } + return void 0; + }); + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function ReadableStreamFromDefaultReader(reader) { + let stream4; + const startAlgorithm = noop2; + function pullAlgorithm() { + let readPromise; + try { + readPromise = reader.read(); + } catch (e3) { + return promiseRejectedWith(e3); + } + return transformPromiseWith(readPromise, (readResult) => { + if (!typeIsObject(readResult)) { + throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); + } + if (readResult.done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = readResult.value; + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + try { + return promiseResolvedWith(reader.cancel(reason)); + } catch (e3) { + return promiseRejectedWith(e3); + } + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function convertUnderlyingDefaultOrByteSource(source, context) { + assertDictionary(source, context); + const original = source; + const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const pull = original === null || original === void 0 ? void 0 : original.pull; + const start = original === null || original === void 0 ? void 0 : original.start; + const type2 = original === null || original === void 0 ? void 0 : original.type; + return { + autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context} has member 'autoAllocateChunkSize' that`), + cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context} has member 'cancel' that`), + pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context} has member 'pull' that`), + start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context} has member 'start' that`), + type: type2 === void 0 ? void 0 : convertReadableStreamType(type2, `${context} has member 'type' that`) + }; + } + function convertUnderlyingSourceCancelCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSourcePullCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertUnderlyingSourceStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertReadableStreamType(type2, context) { + type2 = `${type2}`; + if (type2 !== "bytes") { + throw new TypeError(`${context} '${type2}' is not a valid enumeration value for ReadableStreamType`); + } + return type2; + } + function convertIteratorOptions(options, context) { + assertDictionary(options, context); + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + return { preventCancel: Boolean(preventCancel) }; + } + function convertPipeOptions(options, context) { + assertDictionary(options, context); + const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; + const signal = options === null || options === void 0 ? void 0 : options.signal; + if (signal !== void 0) { + assertAbortSignal(signal, `${context} has member 'signal' that`); + } + return { + preventAbort: Boolean(preventAbort), + preventCancel: Boolean(preventCancel), + preventClose: Boolean(preventClose), + signal + }; + } + function assertAbortSignal(signal, context) { + if (!isAbortSignal(signal)) { + throw new TypeError(`${context} is not an AbortSignal.`); + } + } + function convertReadableWritablePair(pair, context) { + assertDictionary(pair, context); + const readable = pair === null || pair === void 0 ? void 0 : pair.readable; + assertRequiredField(readable, "readable", "ReadableWritablePair"); + assertReadableStream(readable, `${context} has member 'readable' that`); + const writable = pair === null || pair === void 0 ? void 0 : pair.writable; + assertRequiredField(writable, "writable", "ReadableWritablePair"); + assertWritableStream(writable, `${context} has member 'writable' that`); + return { readable, writable }; + } + class ReadableStream5 { + constructor(rawUnderlyingSource = {}, rawStrategy = {}) { + if (rawUnderlyingSource === void 0) { + rawUnderlyingSource = null; + } else { + assertObject(rawUnderlyingSource, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); + InitializeReadableStream(this); + if (underlyingSource.type === "bytes") { + if (strategy.size !== void 0) { + throw new RangeError("The strategy for a byte stream cannot have a size function"); + } + const highWaterMark = ExtractHighWaterMark(strategy, 0); + SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); + } else { + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); + } + } + get locked() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("locked"); + } + return IsReadableStreamLocked(this); + } + cancel(reason = void 0) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("cancel")); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); + } + return ReadableStreamCancel(this, reason); + } + getReader(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("getReader"); + } + const options = convertReaderOptions(rawOptions, "First parameter"); + if (options.mode === void 0) { + return AcquireReadableStreamDefaultReader(this); + } + return AcquireReadableStreamBYOBReader(this); + } + pipeThrough(rawTransform, rawOptions = {}) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("pipeThrough"); + } + assertRequiredArgument(rawTransform, 1, "pipeThrough"); + const transform = convertReadableWritablePair(rawTransform, "First parameter"); + const options = convertPipeOptions(rawOptions, "Second parameter"); + if (IsReadableStreamLocked(this)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + } + if (IsWritableStreamLocked(transform.writable)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + } + const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + setPromiseIsHandledToTrue(promise); + return transform.readable; + } + pipeTo(destination, rawOptions = {}) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); + } + if (destination === void 0) { + return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); + } + if (!IsWritableStream(destination)) { + return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); + } + let options; + try { + options = convertPipeOptions(rawOptions, "Second parameter"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); + } + if (IsWritableStreamLocked(destination)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); + } + return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + } + tee() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("tee"); + } + const branches = ReadableStreamTee(this); + return CreateArrayFromList(branches); + } + values(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("values"); + } + const options = convertIteratorOptions(rawOptions, "First parameter"); + return AcquireReadableStreamAsyncIterator(this, options.preventCancel); + } + [SymbolAsyncIterator](options) { + return this.values(options); + } + static from(asyncIterable) { + return ReadableStreamFrom(asyncIterable); + } + } + Object.defineProperties(ReadableStream5, { + from: { enumerable: true } + }); + Object.defineProperties(ReadableStream5.prototype, { + cancel: { enumerable: true }, + getReader: { enumerable: true }, + pipeThrough: { enumerable: true }, + pipeTo: { enumerable: true }, + tee: { enumerable: true }, + values: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(ReadableStream5.from, "from"); + setFunctionName(ReadableStream5.prototype.cancel, "cancel"); + setFunctionName(ReadableStream5.prototype.getReader, "getReader"); + setFunctionName(ReadableStream5.prototype.pipeThrough, "pipeThrough"); + setFunctionName(ReadableStream5.prototype.pipeTo, "pipeTo"); + setFunctionName(ReadableStream5.prototype.tee, "tee"); + setFunctionName(ReadableStream5.prototype.values, "values"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStream5.prototype, Symbol.toStringTag, { + value: "ReadableStream", + configurable: true + }); + } + Object.defineProperty(ReadableStream5.prototype, SymbolAsyncIterator, { + value: ReadableStream5.prototype.values, + writable: true, + configurable: true + }); + function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(ReadableStream5.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableStreamDefaultController2.prototype); + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { + const stream4 = Object.create(ReadableStream5.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableByteStreamController2.prototype); + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); + return stream4; + } + function InitializeReadableStream(stream4) { + stream4._state = "readable"; + stream4._reader = void 0; + stream4._storedError = void 0; + stream4._disturbed = false; + } + function IsReadableStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_readableStreamController")) { + return false; + } + return x5 instanceof ReadableStream5; + } + function IsReadableStreamLocked(stream4) { + if (stream4._reader === void 0) { + return false; + } + return true; + } + function ReadableStreamCancel(stream4, reason) { + stream4._disturbed = true; + if (stream4._state === "closed") { + return promiseResolvedWith(void 0); + } + if (stream4._state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + ReadableStreamClose(stream4); + const reader = stream4._reader; + if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._closeSteps(void 0); + }); + } + const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); + return transformPromiseWith(sourceCancelPromise, noop2); + } + function ReadableStreamClose(stream4) { + stream4._state = "closed"; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseResolve(reader); + if (IsReadableStreamDefaultReader(reader)) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._closeSteps(); + }); + } + } + function ReadableStreamError(stream4, e3) { + stream4._state = "errored"; + stream4._storedError = e3; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseReject(reader, e3); + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } else { + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + } + function streamBrandCheckException$1(name) { + return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); + } + function convertQueuingStrategyInit(init, context) { + assertDictionary(init, context); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); + return { + highWaterMark: convertUnrestrictedDouble(highWaterMark) + }; + } + const byteLengthSizeFunction = (chunk) => { + return chunk.byteLength; + }; + setFunctionName(byteLengthSizeFunction, "size"); + class ByteLengthQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("highWaterMark"); + } + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("size"); + } + return byteLengthSizeFunction; + } + } + Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "ByteLengthQueuingStrategy", + configurable: true + }); + } + function byteLengthBrandCheckException(name) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); + } + function IsByteLengthQueuingStrategy(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_byteLengthQueuingStrategyHighWaterMark")) { + return false; + } + return x5 instanceof ByteLengthQueuingStrategy2; + } + const countSizeFunction = () => { + return 1; + }; + setFunctionName(countSizeFunction, "size"); + class CountQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "CountQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._countQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("highWaterMark"); + } + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("size"); + } + return countSizeFunction; + } + } + Object.defineProperties(CountQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "CountQueuingStrategy", + configurable: true + }); + } + function countBrandCheckException(name) { + return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); + } + function IsCountQueuingStrategy(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_countQueuingStrategyHighWaterMark")) { + return false; + } + return x5 instanceof CountQueuingStrategy2; + } + function convertTransformer(original, context) { + assertDictionary(original, context); + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const flush = original === null || original === void 0 ? void 0 : original.flush; + const readableType = original === null || original === void 0 ? void 0 : original.readableType; + const start = original === null || original === void 0 ? void 0 : original.start; + const transform = original === null || original === void 0 ? void 0 : original.transform; + const writableType = original === null || original === void 0 ? void 0 : original.writableType; + return { + cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context} has member 'cancel' that`), + flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context} has member 'flush' that`), + readableType, + start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context} has member 'start' that`), + transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context} has member 'transform' that`), + writableType + }; + } + function convertTransformerFlushCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertTransformerStartCallback(fn, original, context) { + assertFunction(fn, context); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertTransformerTransformCallback(fn, original, context) { + assertFunction(fn, context); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function convertTransformerCancelCallback(fn, original, context) { + assertFunction(fn, context); + return (reason) => promiseCall(fn, original, [reason]); + } + class TransformStream3 { + constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { + if (rawTransformer === void 0) { + rawTransformer = null; + } + const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); + const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); + const transformer = convertTransformer(rawTransformer, "First parameter"); + if (transformer.readableType !== void 0) { + throw new RangeError("Invalid readableType specified"); + } + if (transformer.writableType !== void 0) { + throw new RangeError("Invalid writableType specified"); + } + const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); + const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); + const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); + const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); + let startPromise_resolve; + const startPromise = newPromise((resolve) => { + startPromise_resolve = resolve; + }); + InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); + if (transformer.start !== void 0) { + startPromise_resolve(transformer.start(this._transformStreamController)); + } else { + startPromise_resolve(void 0); + } + } + get readable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("readable"); + } + return this._readable; + } + get writable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("writable"); + } + return this._writable; + } + } + Object.defineProperties(TransformStream3.prototype, { + readable: { enumerable: true }, + writable: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStream3.prototype, Symbol.toStringTag, { + value: "TransformStream", + configurable: true + }); + } + function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { + function startAlgorithm() { + return startPromise; + } + function writeAlgorithm(chunk) { + return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); + } + function abortAlgorithm(reason) { + return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); + } + function closeAlgorithm() { + return TransformStreamDefaultSinkCloseAlgorithm(stream4); + } + stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); + function pullAlgorithm() { + return TransformStreamDefaultSourcePullAlgorithm(stream4); + } + function cancelAlgorithm(reason) { + return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); + } + stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + stream4._backpressure = void 0; + stream4._backpressureChangePromise = void 0; + stream4._backpressureChangePromise_resolve = void 0; + TransformStreamSetBackpressure(stream4, true); + stream4._transformStreamController = void 0; + } + function IsTransformStream(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_transformStreamController")) { + return false; + } + return x5 instanceof TransformStream3; + } + function TransformStreamError(stream4, e3) { + ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + } + function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { + TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); + WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); + TransformStreamUnblockWrite(stream4); + } + function TransformStreamUnblockWrite(stream4) { + if (stream4._backpressure) { + TransformStreamSetBackpressure(stream4, false); + } + } + function TransformStreamSetBackpressure(stream4, backpressure) { + if (stream4._backpressureChangePromise !== void 0) { + stream4._backpressureChangePromise_resolve(); + } + stream4._backpressureChangePromise = newPromise((resolve) => { + stream4._backpressureChangePromise_resolve = resolve; + }); + stream4._backpressure = backpressure; + } + class TransformStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("desiredSize"); + } + const readableController = this._controlledTransformStream._readable._readableStreamController; + return ReadableStreamDefaultControllerGetDesiredSize(readableController); + } + enqueue(chunk = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("enqueue"); + } + TransformStreamDefaultControllerEnqueue(this, chunk); + } + error(reason = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("error"); + } + TransformStreamDefaultControllerError(this, reason); + } + terminate() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("terminate"); + } + TransformStreamDefaultControllerTerminate(this); + } + } + Object.defineProperties(TransformStreamDefaultController2.prototype, { + enqueue: { enumerable: true }, + error: { enumerable: true }, + terminate: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); + setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "TransformStreamDefaultController", + configurable: true + }); + } + function IsTransformStreamDefaultController(x5) { + if (!typeIsObject(x5)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x5, "_controlledTransformStream")) { + return false; + } + return x5 instanceof TransformStreamDefaultController2; + } + function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { + controller._controlledTransformStream = stream4; + stream4._transformStreamController = controller; + controller._transformAlgorithm = transformAlgorithm; + controller._flushAlgorithm = flushAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._finishPromise = void 0; + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { + const controller = Object.create(TransformStreamDefaultController2.prototype); + let transformAlgorithm; + let flushAlgorithm; + let cancelAlgorithm; + if (transformer.transform !== void 0) { + transformAlgorithm = (chunk) => transformer.transform(chunk, controller); + } else { + transformAlgorithm = (chunk) => { + try { + TransformStreamDefaultControllerEnqueue(controller, chunk); + return promiseResolvedWith(void 0); + } catch (transformResultE) { + return promiseRejectedWith(transformResultE); + } + }; + } + if (transformer.flush !== void 0) { + flushAlgorithm = () => transformer.flush(controller); + } else { + flushAlgorithm = () => promiseResolvedWith(void 0); + } + if (transformer.cancel !== void 0) { + cancelAlgorithm = (reason) => transformer.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); + } + function TransformStreamDefaultControllerClearAlgorithms(controller) { + controller._transformAlgorithm = void 0; + controller._flushAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function TransformStreamDefaultControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { + throw new TypeError("Readable side is not in a state that permits enqueue"); + } + try { + ReadableStreamDefaultControllerEnqueue(readableController, chunk); + } catch (e3) { + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + throw stream4._readable._storedError; + } + const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); + if (backpressure !== stream4._backpressure) { + TransformStreamSetBackpressure(stream4, true); + } + } + function TransformStreamDefaultControllerError(controller, e3) { + TransformStreamError(controller._controlledTransformStream, e3); + } + function TransformStreamDefaultControllerPerformTransform(controller, chunk) { + const transformPromise = controller._transformAlgorithm(chunk); + return transformPromiseWith(transformPromise, void 0, (r3) => { + TransformStreamError(controller._controlledTransformStream, r3); + throw r3; + }); + } + function TransformStreamDefaultControllerTerminate(controller) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + ReadableStreamDefaultControllerClose(readableController); + const error = new TypeError("TransformStream terminated"); + TransformStreamErrorWritableAndUnblockWrite(stream4, error); + } + function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { + const controller = stream4._transformStreamController; + if (stream4._backpressure) { + const backpressureChangePromise = stream4._backpressureChangePromise; + return transformPromiseWith(backpressureChangePromise, () => { + const writable = stream4._writable; + const state2 = writable._state; + if (state2 === "erroring") { + throw writable._storedError; + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + }); + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + } + function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerError(readable._readableStreamController, reason); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSinkCloseAlgorithm(stream4) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const flushPromise = controller._flushAlgorithm(); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(flushPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerClose(readable._readableStreamController); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSourcePullAlgorithm(stream4) { + TransformStreamSetBackpressure(stream4, false); + return stream4._backpressureChangePromise; + } + function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const writable = stream4._writable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (writable._state === "errored") { + defaultControllerFinishPromiseReject(controller, writable._storedError); + } else { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function defaultControllerBrandCheckException(name) { + return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); + } + function defaultControllerFinishPromiseResolve(controller) { + if (controller._finishPromise_resolve === void 0) { + return; + } + controller._finishPromise_resolve(); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function defaultControllerFinishPromiseReject(controller, reason) { + if (controller._finishPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(controller._finishPromise); + controller._finishPromise_reject(reason); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function streamBrandCheckException(name) { + return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); + } + exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; + exports2.CountQueuingStrategy = CountQueuingStrategy2; + exports2.ReadableByteStreamController = ReadableByteStreamController2; + exports2.ReadableStream = ReadableStream5; + exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; + exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; + exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; + exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; + exports2.TransformStream = TransformStream3; + exports2.TransformStreamDefaultController = TransformStreamDefaultController2; + exports2.WritableStream = WritableStream2; + exports2.WritableStreamDefaultController = WritableStreamDefaultController2; + exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; + }); + } +}); + +// node_modules/node-domexception/index.js +var require_node_domexception = __commonJS({ + "node_modules/node-domexception/index.js"(exports, module2) { + if (!globalThis.DOMException) { + try { + const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); + port.postMessage(ab, [ab, ab]); + } catch (err) { + err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); + } + } + module2.exports = globalThis.DOMException; + } +}); + +// node_modules/formdata-node/lib/esm/isPlainObject.js +function isPlainObject3(value) { + if (getType2(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var getType2, isPlainObject_default2; +var init_isPlainObject = __esm({ + "node_modules/formdata-node/lib/esm/isPlainObject.js"() { + getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); + isPlainObject_default2 = isPlainObject3; + } +}); + +// node_modules/formdata-node/lib/esm/fileFromPath.js +var fileFromPath_exports = {}; +__export(fileFromPath_exports, { + fileFromPath: () => fileFromPath2, + fileFromPathSync: () => fileFromPathSync, + isFile: () => isFile2 +}); +function createFileFromPath(path5, { mtimeMs, size }, filenameOrOptions, options = {}) { + let filename; + if (isPlainObject_default2(filenameOrOptions)) { + [options, filename] = [filenameOrOptions, void 0]; + } else { + filename = filenameOrOptions; + } + const file = new FileFromPath({ path: path5, size, lastModified: mtimeMs }); + if (!filename) { + filename = file.name; + } + return new File3([file], filename, { + ...options, + lastModified: file.lastModified + }); +} +function fileFromPathSync(path5, filenameOrOptions, options = {}) { + const stats = (0, import_fs2.statSync)(path5); + return createFileFromPath(path5, stats, filenameOrOptions, options); +} +async function fileFromPath2(path5, filenameOrOptions, options) { + const stats = await import_fs2.promises.stat(path5); + return createFileFromPath(path5, stats, filenameOrOptions, options); +} +var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet5, __classPrivateFieldGet6, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; +var init_fileFromPath = __esm({ + "node_modules/formdata-node/lib/esm/fileFromPath.js"() { + import_fs2 = require("fs"); + import_path3 = require("path"); + import_node_domexception = __toESM(require_node_domexception(), 1); + init_File(); + init_isPlainObject(); + init_isFile(); + __classPrivateFieldSet5 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldGet6 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; + FileFromPath = class { + constructor(input) { + _FileFromPath_path.set(this, void 0); + _FileFromPath_start.set(this, void 0); + __classPrivateFieldSet5(this, _FileFromPath_path, input.path, "f"); + __classPrivateFieldSet5(this, _FileFromPath_start, input.start || 0, "f"); + this.name = (0, import_path3.basename)(__classPrivateFieldGet6(this, _FileFromPath_path, "f")); + this.size = input.size; + this.lastModified = input.lastModified; + } + slice(start, end) { + return new FileFromPath({ + path: __classPrivateFieldGet6(this, _FileFromPath_path, "f"), + lastModified: this.lastModified, + size: end - start, + start + }); + } + async *stream() { + const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet6(this, _FileFromPath_path, "f")); + if (mtimeMs > this.lastModified) { + throw new import_node_domexception.default(MESSAGE, "NotReadableError"); + } + if (this.size) { + yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet6(this, _FileFromPath_path, "f"), { + start: __classPrivateFieldGet6(this, _FileFromPath_start, "f"), + end: __classPrivateFieldGet6(this, _FileFromPath_start, "f") + this.size - 1 + }); + } + } + get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { + return "File"; + } + }; + } +}); + // node_modules/ignore/index.js var require_ignore = __commonJS({ "node_modules/ignore/index.js"(exports, module2) { @@ -15386,7 +27109,7 @@ var require_ignore = __commonJS({ TMP_KEY_IGNORE = Symbol.for("node-ignore"); } var KEY_IGNORE = TMP_KEY_IGNORE; - var define = (object, key, value) => Object.defineProperty(object, key, { value }); + var define2 = (object, key, value) => Object.defineProperty(object, key, { value }); var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; var RETURN_FALSE = () => false; var sanitizeRange = (range) => range.replace( @@ -15398,6 +27121,10 @@ var require_ignore = __commonJS({ return slashes.slice(0, length - length % 2); }; var REPLACERS = [ + [ + /^\uFEFF/, + () => EMPTY + ], [ /\\?\s+$/, (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY @@ -15434,11 +27161,11 @@ var require_ignore = __commonJS({ ], [ /\\\/\\\*\\\*(?=\\\/|$)/g, - (_6, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" + (_7, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" ], [ /(^|[^\\]+)(\\\*)+(?=.+)/g, - (_6, p1, p22) => { + (_7, p1, p22) => { const unescaped = p22.replace(/\\\*/g, "[^\\/]*"); return p1 + unescaped; } @@ -15461,7 +27188,7 @@ var require_ignore = __commonJS({ ], [ /(\^|\\\/)?\\\*$/, - (_6, p1) => { + (_7, p1) => { const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; return `${prefix}(?=$|\\/$)`; } @@ -15520,9 +27247,9 @@ var require_ignore = __commonJS({ return doThrow(`path must not be empty`, TypeError); } if (checkPath.isNotRelative(path5)) { - const r2 = "`path.relative()`d"; + const r3 = "`path.relative()`d"; return doThrow( - `path should be a ${r2} string, but got "${originalPath}"`, + `path should be a ${r3} string, but got "${originalPath}"`, RangeError ); } @@ -15537,7 +27264,7 @@ var require_ignore = __commonJS({ ignoreCase = ignorecase, allowRelativePaths = false } = {}) { - define(this, KEY_IGNORE, true); + define2(this, KEY_IGNORE, true); this._rules = []; this._ignoreCase = ignoreCase; this._allowRelativePaths = allowRelativePaths; @@ -15652,139 +27379,139 @@ var k = "unknown-flag"; var C = "argument"; var { stringify: h } = JSON; var O = /\B([A-Z])/g; -var v = (t) => t.replace(O, "-$1").toLowerCase(); +var v = (t2) => t2.replace(O, "-$1").toLowerCase(); var { hasOwnProperty: D } = Object.prototype; -var w = (t, n) => D.call(t, n); -var L = (t) => Array.isArray(t); -var b = (t) => typeof t == "function" ? [t, false] : L(t) ? [t[0], true] : b(t.type); -var d = (t, n) => t === Boolean ? n !== "false" : n; -var m = (t, n) => typeof n == "boolean" ? n : t === Number && n === "" ? Number.NaN : t(n); +var w = (t2, n2) => D.call(t2, n2); +var L = (t2) => Array.isArray(t2); +var b = (t2) => typeof t2 == "function" ? [t2, false] : L(t2) ? [t2[0], true] : b(t2.type); +var d = (t2, n2) => t2 === Boolean ? n2 !== "false" : n2; +var m = (t2, n2) => typeof n2 == "boolean" ? n2 : t2 === Number && n2 === "" ? Number.NaN : t2(n2); var R = /[\s.:=]/; -var B = (t) => { - const n = `Flag name ${h(t)}`; - if (t.length === 0) - throw new Error(`${n} cannot be empty`); - if (t.length === 1) - throw new Error(`${n} must be longer than a character`); - const r2 = t.match(R); - if (r2) - throw new Error(`${n} cannot contain ${h(r2?.[0])}`); +var B = (t2) => { + const n2 = `Flag name ${h(t2)}`; + if (t2.length === 0) + throw new Error(`${n2} cannot be empty`); + if (t2.length === 1) + throw new Error(`${n2} must be longer than a character`); + const r3 = t2.match(R); + if (r3) + throw new Error(`${n2} cannot contain ${h(r3?.[0])}`); }; -var K = (t) => { - const n = {}, r2 = (e2, o2) => { - if (w(n, e2)) - throw new Error(`Duplicate flags named ${h(e2)}`); - n[e2] = o2; +var K = (t2) => { + const n2 = {}, r3 = (e3, o3) => { + if (w(n2, e3)) + throw new Error(`Duplicate flags named ${h(e3)}`); + n2[e3] = o3; }; - for (const e2 in t) { - if (!w(t, e2)) + for (const e3 in t2) { + if (!w(t2, e3)) continue; - B(e2); - const o2 = t[e2], s = [[], ...b(o2), o2]; - r2(e2, s); - const i2 = v(e2); - if (e2 !== i2 && r2(i2, s), "alias" in o2 && typeof o2.alias == "string") { - const { alias: a2 } = o2, l = `Flag alias ${h(a2)} for flag ${h(e2)}`; - if (a2.length === 0) - throw new Error(`${l} cannot be empty`); - if (a2.length > 1) - throw new Error(`${l} must be a single character`); - r2(a2, s); + B(e3); + const o3 = t2[e3], s2 = [[], ...b(o3), o3]; + r3(e3, s2); + const i3 = v(e3); + if (e3 !== i3 && r3(i3, s2), "alias" in o3 && typeof o3.alias == "string") { + const { alias: a4 } = o3, l3 = `Flag alias ${h(a4)} for flag ${h(e3)}`; + if (a4.length === 0) + throw new Error(`${l3} cannot be empty`); + if (a4.length > 1) + throw new Error(`${l3} must be a single character`); + r3(a4, s2); } } - return n; + return n2; }; -var _ = (t, n) => { - const r2 = {}; - for (const e2 in t) { - if (!w(t, e2)) +var _ = (t2, n2) => { + const r3 = {}; + for (const e3 in t2) { + if (!w(t2, e3)) continue; - const [o2, , s, i2] = n[e2]; - if (o2.length === 0 && "default" in i2) { - let { default: a2 } = i2; - typeof a2 == "function" && (a2 = a2()), r2[e2] = a2; + const [o3, , s2, i3] = n2[e3]; + if (o3.length === 0 && "default" in i3) { + let { default: a4 } = i3; + typeof a4 == "function" && (a4 = a4()), r3[e3] = a4; } else - r2[e2] = s ? o2 : o2.pop(); + r3[e3] = s2 ? o3 : o3.pop(); } - return r2; + return r3; }; var F = "--"; var G = /[.:=]/; var T = /^-{1,2}\w/; -var N = (t) => { - if (!T.test(t)) +var N = (t2) => { + if (!T.test(t2)) return; - const n = !t.startsWith(F); - let r2 = t.slice(n ? 1 : 2), e2; - const o2 = r2.match(G); - if (o2) { - const { index: s } = o2; - e2 = r2.slice(s + 1), r2 = r2.slice(0, s); + const n2 = !t2.startsWith(F); + let r3 = t2.slice(n2 ? 1 : 2), e3; + const o3 = r3.match(G); + if (o3) { + const { index: s2 } = o3; + e3 = r3.slice(s2 + 1), r3 = r3.slice(0, s2); } - return [r2, e2, n]; + return [r3, e3, n2]; }; -var $ = (t, { onFlag: n, onArgument: r2 }) => { - let e2; - const o2 = (s, i2) => { - if (typeof e2 != "function") +var $ = (t2, { onFlag: n2, onArgument: r3 }) => { + let e3; + const o3 = (s2, i3) => { + if (typeof e3 != "function") return true; - e2(s, i2), e2 = void 0; + e3(s2, i3), e3 = void 0; }; - for (let s = 0; s < t.length; s += 1) { - const i2 = t[s]; - if (i2 === F) { - o2(); - const l = t.slice(s + 1); - r2?.(l, [s], true); + for (let s2 = 0; s2 < t2.length; s2 += 1) { + const i3 = t2[s2]; + if (i3 === F) { + o3(); + const l3 = t2.slice(s2 + 1); + r3?.(l3, [s2], true); break; } - const a2 = N(i2); - if (a2) { - if (o2(), !n) + const a4 = N(i3); + if (a4) { + if (o3(), !n2) continue; - const [l, f3, g3] = a2; - if (g3) - for (let c3 = 0; c3 < l.length; c3 += 1) { - o2(); - const u2 = c3 === l.length - 1; - e2 = n(l[c3], u2 ? f3 : void 0, [s, c3 + 1, u2]); + const [l3, f4, g4] = a4; + if (g4) + for (let c3 = 0; c3 < l3.length; c3 += 1) { + o3(); + const u3 = c3 === l3.length - 1; + e3 = n2(l3[c3], u3 ? f4 : void 0, [s2, c3 + 1, u3]); } else - e2 = n(l, f3, [s]); + e3 = n2(l3, f4, [s2]); } else - o2(i2, [s]) && r2?.([i2], [s]); + o3(i3, [s2]) && r3?.([i3], [s2]); } - o2(); + o3(); }; -var E = (t, n) => { - for (const [r2, e2, o2] of n.reverse()) { - if (e2) { - const s = t[r2]; - let i2 = s.slice(0, e2); - if (o2 || (i2 += s.slice(e2 + 1)), i2 !== "-") { - t[r2] = i2; +var E = (t2, n2) => { + for (const [r3, e3, o3] of n2.reverse()) { + if (e3) { + const s2 = t2[r3]; + let i3 = s2.slice(0, e3); + if (o3 || (i3 += s2.slice(e3 + 1)), i3 !== "-") { + t2[r3] = i3; continue; } } - t.splice(r2, 1); + t2.splice(r3, 1); } }; -var U = (t, n = process.argv.slice(2), { ignore: r2 } = {}) => { - const e2 = [], o2 = K(t), s = {}, i2 = []; - return i2[F] = [], $(n, { onFlag(a2, l, f3) { - const g3 = w(o2, a2); - if (!r2?.(g3 ? V : k, a2, l)) { - if (g3) { - const [c3, u2] = o2[a2], y5 = d(u2, l), p4 = (P3, A3) => { - e2.push(f3), A3 && e2.push(A3), c3.push(m(u2, P3 || "")); +var U = (t2, n2 = process.argv.slice(2), { ignore: r3 } = {}) => { + const e3 = [], o3 = K(t2), s2 = {}, i3 = []; + return i3[F] = [], $(n2, { onFlag(a4, l3, f4) { + const g4 = w(o3, a4); + if (!r3?.(g4 ? V : k, a4, l3)) { + if (g4) { + const [c3, u3] = o3[a4], y6 = d(u3, l3), p4 = (P4, A5) => { + e3.push(f4), A5 && e3.push(A5), c3.push(m(u3, P4 || "")); }; - return y5 === void 0 ? p4 : p4(y5); + return y6 === void 0 ? p4 : p4(y6); } - w(s, a2) || (s[a2] = []), s[a2].push(l === void 0 ? true : l), e2.push(f3); + w(s2, a4) || (s2[a4] = []), s2[a4].push(l3 === void 0 ? true : l3), e3.push(f4); } - }, onArgument(a2, l, f3) { - r2?.(C, n[l[0]]) || (i2.push(...a2), f3 ? (i2[F] = a2, n.splice(l[0])) : e2.push(l)); - } }), E(n, e2), { flags: _(t, o2), unknownFlags: s, _: i2 }; + }, onArgument(a4, l3, f4) { + r3?.(C, n2[l3[0]]) || (i3.push(...a4), f4 ? (i3[F] = a4, n2.splice(l3[0])) : e3.push(l3)); + } }), E(n2, e3), { flags: _(t2, o3), unknownFlags: s2, _: i3 }; }; // node_modules/cleye/dist/index.mjs @@ -15801,200 +27528,200 @@ var I = Object.getOwnPropertySymbols; var ED = Object.getPrototypeOf; var L2 = Object.prototype.hasOwnProperty; var eD = Object.prototype.propertyIsEnumerable; -var W = (D4, F4, u2) => F4 in D4 ? m2(D4, F4, { enumerable: true, configurable: true, writable: true, value: u2 }) : D4[F4] = u2; -var p = (D4, F4) => { - for (var u2 in F4 || (F4 = {})) - L2.call(F4, u2) && W(D4, u2, F4[u2]); +var W = (D5, F5, u3) => F5 in D5 ? m2(D5, F5, { enumerable: true, configurable: true, writable: true, value: u3 }) : D5[F5] = u3; +var p = (D5, F5) => { + for (var u3 in F5 || (F5 = {})) + L2.call(F5, u3) && W(D5, u3, F5[u3]); if (I) - for (var u2 of I(F4)) - eD.call(F4, u2) && W(D4, u2, F4[u2]); - return D4; + for (var u3 of I(F5)) + eD.call(F5, u3) && W(D5, u3, F5[u3]); + return D5; }; -var c = (D4, F4) => uD(D4, CD(F4)); -var nD = (D4) => m2(D4, "__esModule", { value: true }); -var rD = (D4, F4) => () => (D4 && (F4 = D4(D4 = 0)), F4); -var iD = (D4, F4) => () => (F4 || D4((F4 = { exports: {} }).exports, F4), F4.exports); -var oD = (D4, F4, u2, C4) => { - if (F4 && typeof F4 == "object" || typeof F4 == "function") - for (let t of tD(F4)) - !L2.call(D4, t) && (u2 || t !== "default") && m2(D4, t, { get: () => F4[t], enumerable: !(C4 = FD(F4, t)) || C4.enumerable }); - return D4; +var c = (D5, F5) => uD(D5, CD(F5)); +var nD = (D5) => m2(D5, "__esModule", { value: true }); +var rD = (D5, F5) => () => (D5 && (F5 = D5(D5 = 0)), F5); +var iD = (D5, F5) => () => (F5 || D5((F5 = { exports: {} }).exports, F5), F5.exports); +var oD = (D5, F5, u3, C5) => { + if (F5 && typeof F5 == "object" || typeof F5 == "function") + for (let t2 of tD(F5)) + !L2.call(D5, t2) && (u3 || t2 !== "default") && m2(D5, t2, { get: () => F5[t2], enumerable: !(C5 = FD(F5, t2)) || C5.enumerable }); + return D5; }; -var BD = (D4, F4) => oD(nD(m2(D4 != null ? DD(ED(D4)) : {}, "default", !F4 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); +var BD = (D5, F5) => oD(nD(m2(D5 != null ? DD(ED(D5)) : {}, "default", !F5 && D5 && D5.__esModule ? { get: () => D5.default, enumerable: true } : { value: D5, enumerable: true })), D5); var i = rD(() => { }); -var $2 = iD((LD, N5) => { +var $2 = iD((LD, N6) => { "use strict"; i(); - N5.exports = function() { + N6.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); i(); i(); i(); -var v2 = (D4) => { - var u2, C4, t; - let F4 = (u2 = process.stdout.columns) != null ? u2 : Number.POSITIVE_INFINITY; - return typeof D4 == "function" && (D4 = D4(F4)), D4 || (D4 = {}), Array.isArray(D4) ? { columns: D4, stdoutColumns: F4 } : { columns: (C4 = D4.columns) != null ? C4 : [], stdoutColumns: (t = D4.stdoutColumns) != null ? t : F4 }; +var v2 = (D5) => { + var u3, C5, t2; + let F5 = (u3 = process.stdout.columns) != null ? u3 : Number.POSITIVE_INFINITY; + return typeof D5 == "function" && (D5 = D5(F5)), D5 || (D5 = {}), Array.isArray(D5) ? { columns: D5, stdoutColumns: F5 } : { columns: (C5 = D5.columns) != null ? C5 : [], stdoutColumns: (t2 = D5.stdoutColumns) != null ? t2 : F5 }; }; i(); i(); i(); i(); i(); -function w2({ onlyFirst: D4 = false } = {}) { - let F4 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(F4, D4 ? void 0 : "g"); +function w2({ onlyFirst: D5 = false } = {}) { + let F5 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(F5, D5 ? void 0 : "g"); } -function d2(D4) { - if (typeof D4 != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof D4}\``); - return D4.replace(w2(), ""); +function d2(D5) { + if (typeof D5 != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof D5}\``); + return D5.replace(w2(), ""); } i(); -function y(D4) { - return Number.isInteger(D4) ? D4 >= 4352 && (D4 <= 4447 || D4 === 9001 || D4 === 9002 || 11904 <= D4 && D4 <= 12871 && D4 !== 12351 || 12880 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65131 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 262141) : false; +function y(D5) { + return Number.isInteger(D5) ? D5 >= 4352 && (D5 <= 4447 || D5 === 9001 || D5 === 9002 || 11904 <= D5 && D5 <= 12871 && D5 !== 12351 || 12880 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65131 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 262141) : false; } var j = BD($2(), 1); -function g(D4) { - if (typeof D4 != "string" || D4.length === 0 || (D4 = d2(D4), D4.length === 0)) +function g(D5) { + if (typeof D5 != "string" || D5.length === 0 || (D5 = d2(D5), D5.length === 0)) return 0; - D4 = D4.replace((0, j.default)(), " "); - let F4 = 0; - for (let u2 = 0; u2 < D4.length; u2++) { - let C4 = D4.codePointAt(u2); - C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879 || (C4 > 65535 && u2++, F4 += y(C4) ? 2 : 1); + D5 = D5.replace((0, j.default)(), " "); + let F5 = 0; + for (let u3 = 0; u3 < D5.length; u3++) { + let C5 = D5.codePointAt(u3); + C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879 || (C5 > 65535 && u3++, F5 += y(C5) ? 2 : 1); } - return F4; + return F5; } -var b2 = (D4) => Math.max(...D4.split(` +var b2 = (D5) => Math.max(...D5.split(` `).map(g)); -var k2 = (D4) => { - let F4 = []; - for (let u2 of D4) { - let { length: C4 } = u2, t = C4 - F4.length; - for (let E3 = 0; E3 < t; E3 += 1) - F4.push(0); - for (let E3 = 0; E3 < C4; E3 += 1) { - let e2 = b2(u2[E3]); - e2 > F4[E3] && (F4[E3] = e2); +var k2 = (D5) => { + let F5 = []; + for (let u3 of D5) { + let { length: C5 } = u3, t2 = C5 - F5.length; + for (let E4 = 0; E4 < t2; E4 += 1) + F5.push(0); + for (let E4 = 0; E4 < C5; E4 += 1) { + let e3 = b2(u3[E4]); + e3 > F5[E4] && (F5[E4] = e3); } } - return F4; + return F5; }; i(); var _2 = /^\d+%$/; var z = { width: "auto", align: "left", contentWidth: 0, paddingLeft: 0, paddingRight: 0, paddingTop: 0, paddingBottom: 0, horizontalPadding: 0, paddingLeftString: "", paddingRightString: "" }; -var sD = (D4, F4) => { - var C4; - let u2 = []; - for (let t = 0; t < D4.length; t += 1) { - let E3 = (C4 = F4[t]) != null ? C4 : "auto"; - if (typeof E3 == "number" || E3 === "auto" || E3 === "content-width" || typeof E3 == "string" && _2.test(E3)) { - u2.push(c(p({}, z), { width: E3, contentWidth: D4[t] })); +var sD = (D5, F5) => { + var C5; + let u3 = []; + for (let t2 = 0; t2 < D5.length; t2 += 1) { + let E4 = (C5 = F5[t2]) != null ? C5 : "auto"; + if (typeof E4 == "number" || E4 === "auto" || E4 === "content-width" || typeof E4 == "string" && _2.test(E4)) { + u3.push(c(p({}, z), { width: E4, contentWidth: D5[t2] })); continue; } - if (E3 && typeof E3 == "object") { - let e2 = c(p(p({}, z), E3), { contentWidth: D4[t] }); - e2.horizontalPadding = e2.paddingLeft + e2.paddingRight, u2.push(e2); + if (E4 && typeof E4 == "object") { + let e3 = c(p(p({}, z), E4), { contentWidth: D5[t2] }); + e3.horizontalPadding = e3.paddingLeft + e3.paddingRight, u3.push(e3); continue; } - throw new Error(`Invalid column width: ${JSON.stringify(E3)}`); + throw new Error(`Invalid column width: ${JSON.stringify(E4)}`); } - return u2; + return u3; }; -function aD(D4, F4) { - for (let u2 of D4) { - let { width: C4 } = u2; - if (C4 === "content-width" && (u2.width = u2.contentWidth), C4 === "auto") { - let n = Math.min(20, u2.contentWidth); - u2.width = n, u2.autoOverflow = u2.contentWidth - n; +function aD(D5, F5) { + for (let u3 of D5) { + let { width: C5 } = u3; + if (C5 === "content-width" && (u3.width = u3.contentWidth), C5 === "auto") { + let n2 = Math.min(20, u3.contentWidth); + u3.width = n2, u3.autoOverflow = u3.contentWidth - n2; } - if (typeof C4 == "string" && _2.test(C4)) { - let n = Number.parseFloat(C4.slice(0, -1)) / 100; - u2.width = Math.floor(F4 * n) - (u2.paddingLeft + u2.paddingRight); + if (typeof C5 == "string" && _2.test(C5)) { + let n2 = Number.parseFloat(C5.slice(0, -1)) / 100; + u3.width = Math.floor(F5 * n2) - (u3.paddingLeft + u3.paddingRight); } - let { horizontalPadding: t } = u2, E3 = 1, e2 = E3 + t; - if (e2 >= F4) { - let n = e2 - F4, o2 = Math.ceil(u2.paddingLeft / t * n), B2 = n - o2; - u2.paddingLeft -= o2, u2.paddingRight -= B2, u2.horizontalPadding = u2.paddingLeft + u2.paddingRight; + let { horizontalPadding: t2 } = u3, E4 = 1, e3 = E4 + t2; + if (e3 >= F5) { + let n2 = e3 - F5, o3 = Math.ceil(u3.paddingLeft / t2 * n2), B3 = n2 - o3; + u3.paddingLeft -= o3, u3.paddingRight -= B3, u3.horizontalPadding = u3.paddingLeft + u3.paddingRight; } - u2.paddingLeftString = u2.paddingLeft ? " ".repeat(u2.paddingLeft) : "", u2.paddingRightString = u2.paddingRight ? " ".repeat(u2.paddingRight) : ""; - let r2 = F4 - u2.horizontalPadding; - u2.width = Math.max(Math.min(u2.width, r2), E3); + u3.paddingLeftString = u3.paddingLeft ? " ".repeat(u3.paddingLeft) : "", u3.paddingRightString = u3.paddingRight ? " ".repeat(u3.paddingRight) : ""; + let r3 = F5 - u3.horizontalPadding; + u3.width = Math.max(Math.min(u3.width, r3), E4); } } var G2 = () => Object.assign([], { columns: 0 }); -function lD(D4, F4) { - let u2 = [G2()], [C4] = u2; - for (let t of D4) { - let E3 = t.width + t.horizontalPadding; - C4.columns + E3 > F4 && (C4 = G2(), u2.push(C4)), C4.push(t), C4.columns += E3; +function lD(D5, F5) { + let u3 = [G2()], [C5] = u3; + for (let t2 of D5) { + let E4 = t2.width + t2.horizontalPadding; + C5.columns + E4 > F5 && (C5 = G2(), u3.push(C5)), C5.push(t2), C5.columns += E4; } - for (let t of u2) { - let E3 = t.reduce((s, l) => s + l.width + l.horizontalPadding, 0), e2 = F4 - E3; - if (e2 === 0) + for (let t2 of u3) { + let E4 = t2.reduce((s2, l3) => s2 + l3.width + l3.horizontalPadding, 0), e3 = F5 - E4; + if (e3 === 0) continue; - let r2 = t.filter((s) => "autoOverflow" in s), n = r2.filter((s) => s.autoOverflow > 0), o2 = n.reduce((s, l) => s + l.autoOverflow, 0), B2 = Math.min(o2, e2); - for (let s of n) { - let l = Math.floor(s.autoOverflow / o2 * B2); - s.width += l, e2 -= l; + let r3 = t2.filter((s2) => "autoOverflow" in s2), n2 = r3.filter((s2) => s2.autoOverflow > 0), o3 = n2.reduce((s2, l3) => s2 + l3.autoOverflow, 0), B3 = Math.min(o3, e3); + for (let s2 of n2) { + let l3 = Math.floor(s2.autoOverflow / o3 * B3); + s2.width += l3, e3 -= l3; } - let a2 = Math.floor(e2 / r2.length); - for (let s = 0; s < r2.length; s += 1) { - let l = r2[s]; - s === r2.length - 1 ? l.width += e2 : l.width += a2, e2 -= a2; + let a4 = Math.floor(e3 / r3.length); + for (let s2 = 0; s2 < r3.length; s2 += 1) { + let l3 = r3[s2]; + s2 === r3.length - 1 ? l3.width += e3 : l3.width += a4, e3 -= a4; } } - return u2; + return u3; } -function Z(D4, F4, u2) { - let C4 = sD(u2, F4); - return aD(C4, D4), lD(C4, D4); +function Z(D5, F5, u3) { + let C5 = sD(u3, F5); + return aD(C5, D5), lD(C5, D5); } i(); i(); i(); var O2 = 10; -var U2 = (D4 = 0) => (F4) => `\x1B[${F4 + D4}m`; -var V2 = (D4 = 0) => (F4) => `\x1B[${38 + D4};5;${F4}m`; -var Y = (D4 = 0) => (F4, u2, C4) => `\x1B[${38 + D4};2;${F4};${u2};${C4}m`; +var U2 = (D5 = 0) => (F5) => `\x1B[${F5 + D5}m`; +var V2 = (D5 = 0) => (F5) => `\x1B[${38 + D5};5;${F5}m`; +var Y = (D5 = 0) => (F5, u3, C5) => `\x1B[${38 + D5};2;${F5};${u3};${C5}m`; function AD() { - let D4 = /* @__PURE__ */ new Map(), F4 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F4.color.gray = F4.color.blackBright, F4.bgColor.bgGray = F4.bgColor.bgBlackBright, F4.color.grey = F4.color.blackBright, F4.bgColor.bgGrey = F4.bgColor.bgBlackBright; - for (let [u2, C4] of Object.entries(F4)) { - for (let [t, E3] of Object.entries(C4)) - F4[t] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C4[t] = F4[t], D4.set(E3[0], E3[1]); - Object.defineProperty(F4, u2, { value: C4, enumerable: false }); + let D5 = /* @__PURE__ */ new Map(), F5 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F5.color.gray = F5.color.blackBright, F5.bgColor.bgGray = F5.bgColor.bgBlackBright, F5.color.grey = F5.color.blackBright, F5.bgColor.bgGrey = F5.bgColor.bgBlackBright; + for (let [u3, C5] of Object.entries(F5)) { + for (let [t2, E4] of Object.entries(C5)) + F5[t2] = { open: `\x1B[${E4[0]}m`, close: `\x1B[${E4[1]}m` }, C5[t2] = F5[t2], D5.set(E4[0], E4[1]); + Object.defineProperty(F5, u3, { value: C5, enumerable: false }); } - return Object.defineProperty(F4, "codes", { value: D4, enumerable: false }), F4.color.close = "\x1B[39m", F4.bgColor.close = "\x1B[49m", F4.color.ansi = U2(), F4.color.ansi256 = V2(), F4.color.ansi16m = Y(), F4.bgColor.ansi = U2(O2), F4.bgColor.ansi256 = V2(O2), F4.bgColor.ansi16m = Y(O2), Object.defineProperties(F4, { rgbToAnsi256: { value: (u2, C4, t) => u2 === C4 && C4 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C4 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - let C4 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); - if (!C4) + return Object.defineProperty(F5, "codes", { value: D5, enumerable: false }), F5.color.close = "\x1B[39m", F5.bgColor.close = "\x1B[49m", F5.color.ansi = U2(), F5.color.ansi256 = V2(), F5.color.ansi16m = Y(), F5.bgColor.ansi = U2(O2), F5.bgColor.ansi256 = V2(O2), F5.bgColor.ansi16m = Y(O2), Object.defineProperties(F5, { rgbToAnsi256: { value: (u3, C5, t2) => u3 === C5 && C5 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C5 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + let C5 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); + if (!C5) return [0, 0, 0]; - let { colorString: t } = C4.groups; - t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); - let E3 = Number.parseInt(t, 16); - return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => F4.rgbToAnsi256(...F4.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let C4, t, E3; - if (u2 >= 232) - C4 = ((u2 - 232) * 10 + 8) / 255, t = C4, E3 = C4; + let { colorString: t2 } = C5.groups; + t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); + let E4 = Number.parseInt(t2, 16); + return [E4 >> 16 & 255, E4 >> 8 & 255, E4 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => F5.rgbToAnsi256(...F5.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let C5, t2, E4; + if (u3 >= 232) + C5 = ((u3 - 232) * 10 + 8) / 255, t2 = C5, E4 = C5; else { - u2 -= 16; - let n = u2 % 36; - C4 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E3 = n % 6 / 5; + u3 -= 16; + let n2 = u3 % 36; + C5 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E4 = n2 % 6 / 5; } - let e2 = Math.max(C4, t, E3) * 2; - if (e2 === 0) + let e3 = Math.max(C5, t2, E4) * 2; + if (e3 === 0) return 30; - let r2 = 30 + (Math.round(E3) << 2 | Math.round(t) << 1 | Math.round(C4)); - return e2 === 2 && (r2 += 60), r2; - }, enumerable: false }, rgbToAnsi: { value: (u2, C4, t) => F4.ansi256ToAnsi(F4.rgbToAnsi256(u2, C4, t)), enumerable: false }, hexToAnsi: { value: (u2) => F4.ansi256ToAnsi(F4.hexToAnsi256(u2)), enumerable: false } }), F4; + let r3 = 30 + (Math.round(E4) << 2 | Math.round(t2) << 1 | Math.round(C5)); + return e3 === 2 && (r3 += 60), r3; + }, enumerable: false }, rgbToAnsi: { value: (u3, C5, t2) => F5.ansi256ToAnsi(F5.rgbToAnsi256(u3, C5, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F5.ansi256ToAnsi(F5.hexToAnsi256(u3)), enumerable: false } }), F5; } var fD = AD(); var K2 = fD; @@ -16005,386 +27732,386 @@ var q = "["; var pD = "]"; var H = "m"; var M = `${pD}8;;`; -var J = (D4) => `${x.values().next().value}${q}${D4}${H}`; -var Q = (D4) => `${x.values().next().value}${M}${D4}${R2}`; -var hD = (D4) => D4.split(" ").map((F4) => g(F4)); -var S = (D4, F4, u2) => { - let C4 = [...F4], t = false, E3 = false, e2 = g(d2(D4[D4.length - 1])); - for (let [r2, n] of C4.entries()) { - let o2 = g(n); - if (e2 + o2 <= u2 ? D4[D4.length - 1] += n : (D4.push(n), e2 = 0), x.has(n) && (t = true, E3 = C4.slice(r2 + 1).join("").startsWith(M)), t) { - E3 ? n === R2 && (t = false, E3 = false) : n === H && (t = false); +var J = (D5) => `${x.values().next().value}${q}${D5}${H}`; +var Q = (D5) => `${x.values().next().value}${M}${D5}${R2}`; +var hD = (D5) => D5.split(" ").map((F5) => g(F5)); +var S = (D5, F5, u3) => { + let C5 = [...F5], t2 = false, E4 = false, e3 = g(d2(D5[D5.length - 1])); + for (let [r3, n2] of C5.entries()) { + let o3 = g(n2); + if (e3 + o3 <= u3 ? D5[D5.length - 1] += n2 : (D5.push(n2), e3 = 0), x.has(n2) && (t2 = true, E4 = C5.slice(r3 + 1).join("").startsWith(M)), t2) { + E4 ? n2 === R2 && (t2 = false, E4 = false) : n2 === H && (t2 = false); continue; } - e2 += o2, e2 === u2 && r2 < C4.length - 1 && (D4.push(""), e2 = 0); + e3 += o3, e3 === u3 && r3 < C5.length - 1 && (D5.push(""), e3 = 0); } - !e2 && D4[D4.length - 1].length > 0 && D4.length > 1 && (D4[D4.length - 2] += D4.pop()); + !e3 && D5[D5.length - 1].length > 0 && D5.length > 1 && (D5[D5.length - 2] += D5.pop()); }; -var cD = (D4) => { - let F4 = D4.split(" "), u2 = F4.length; - for (; u2 > 0 && !(g(F4[u2 - 1]) > 0); ) - u2--; - return u2 === F4.length ? D4 : F4.slice(0, u2).join(" ") + F4.slice(u2).join(""); +var cD = (D5) => { + let F5 = D5.split(" "), u3 = F5.length; + for (; u3 > 0 && !(g(F5[u3 - 1]) > 0); ) + u3--; + return u3 === F5.length ? D5 : F5.slice(0, u3).join(" ") + F5.slice(u3).join(""); }; -var dD = (D4, F4, u2 = {}) => { - if (u2.trim !== false && D4.trim() === "") +var dD = (D5, F5, u3 = {}) => { + if (u3.trim !== false && D5.trim() === "") return ""; - let C4 = "", t, E3, e2 = hD(D4), r2 = [""]; - for (let [o2, B2] of D4.split(" ").entries()) { - u2.trim !== false && (r2[r2.length - 1] = r2[r2.length - 1].trimStart()); - let a2 = g(r2[r2.length - 1]); - if (o2 !== 0 && (a2 >= F4 && (u2.wordWrap === false || u2.trim === false) && (r2.push(""), a2 = 0), (a2 > 0 || u2.trim === false) && (r2[r2.length - 1] += " ", a2++)), u2.hard && e2[o2] > F4) { - let s = F4 - a2, l = 1 + Math.floor((e2[o2] - s - 1) / F4); - Math.floor((e2[o2] - 1) / F4) < l && r2.push(""), S(r2, B2, F4); + let C5 = "", t2, E4, e3 = hD(D5), r3 = [""]; + for (let [o3, B3] of D5.split(" ").entries()) { + u3.trim !== false && (r3[r3.length - 1] = r3[r3.length - 1].trimStart()); + let a4 = g(r3[r3.length - 1]); + if (o3 !== 0 && (a4 >= F5 && (u3.wordWrap === false || u3.trim === false) && (r3.push(""), a4 = 0), (a4 > 0 || u3.trim === false) && (r3[r3.length - 1] += " ", a4++)), u3.hard && e3[o3] > F5) { + let s2 = F5 - a4, l3 = 1 + Math.floor((e3[o3] - s2 - 1) / F5); + Math.floor((e3[o3] - 1) / F5) < l3 && r3.push(""), S(r3, B3, F5); continue; } - if (a2 + e2[o2] > F4 && a2 > 0 && e2[o2] > 0) { - if (u2.wordWrap === false && a2 < F4) { - S(r2, B2, F4); + if (a4 + e3[o3] > F5 && a4 > 0 && e3[o3] > 0) { + if (u3.wordWrap === false && a4 < F5) { + S(r3, B3, F5); continue; } - r2.push(""); + r3.push(""); } - if (a2 + e2[o2] > F4 && u2.wordWrap === false) { - S(r2, B2, F4); + if (a4 + e3[o3] > F5 && u3.wordWrap === false) { + S(r3, B3, F5); continue; } - r2[r2.length - 1] += B2; + r3[r3.length - 1] += B3; } - u2.trim !== false && (r2 = r2.map((o2) => cD(o2))); - let n = [...r2.join(` + u3.trim !== false && (r3 = r3.map((o3) => cD(o3))); + let n2 = [...r3.join(` `)]; - for (let [o2, B2] of n.entries()) { - if (C4 += B2, x.has(B2)) { - let { groups: s } = new RegExp(`(?:\\${q}(?<code>\\d+)m|\\${M}(?<uri>.*)${R2})`).exec(n.slice(o2).join("")) || { groups: {} }; - if (s.code !== void 0) { - let l = Number.parseFloat(s.code); - t = l === gD ? void 0 : l; + for (let [o3, B3] of n2.entries()) { + if (C5 += B3, x.has(B3)) { + let { groups: s2 } = new RegExp(`(?:\\${q}(?<code>\\d+)m|\\${M}(?<uri>.*)${R2})`).exec(n2.slice(o3).join("")) || { groups: {} }; + if (s2.code !== void 0) { + let l3 = Number.parseFloat(s2.code); + t2 = l3 === gD ? void 0 : l3; } else - s.uri !== void 0 && (E3 = s.uri.length === 0 ? void 0 : s.uri); + s2.uri !== void 0 && (E4 = s2.uri.length === 0 ? void 0 : s2.uri); } - let a2 = K2.codes.get(Number(t)); - n[o2 + 1] === ` -` ? (E3 && (C4 += Q("")), t && a2 && (C4 += J(a2))) : B2 === ` -` && (t && a2 && (C4 += J(t)), E3 && (C4 += Q(E3))); + let a4 = K2.codes.get(Number(t2)); + n2[o3 + 1] === ` +` ? (E4 && (C5 += Q("")), t2 && a4 && (C5 += J(a4))) : B3 === ` +` && (t2 && a4 && (C5 += J(t2)), E4 && (C5 += Q(E4))); } - return C4; + return C5; }; -function T2(D4, F4, u2) { - return String(D4).normalize().replace(/\r\n/g, ` +function T2(D5, F5, u3) { + return String(D5).normalize().replace(/\r\n/g, ` `).split(` -`).map((C4) => dD(C4, F4, u2)).join(` +`).map((C5) => dD(C5, F5, u3)).join(` `); } -var X = (D4) => Array.from({ length: D4 }).fill(""); -function P(D4, F4) { - let u2 = [], C4 = 0; - for (let t of D4) { - let E3 = 0, e2 = t.map((n) => { - var a2; - let o2 = (a2 = F4[C4]) != null ? a2 : ""; - C4 += 1, n.preprocess && (o2 = n.preprocess(o2)), b2(o2) > n.width && (o2 = T2(o2, n.width, { hard: true })); - let B2 = o2.split(` +var X = (D5) => Array.from({ length: D5 }).fill(""); +function P(D5, F5) { + let u3 = [], C5 = 0; + for (let t2 of D5) { + let E4 = 0, e3 = t2.map((n2) => { + var a4; + let o3 = (a4 = F5[C5]) != null ? a4 : ""; + C5 += 1, n2.preprocess && (o3 = n2.preprocess(o3)), b2(o3) > n2.width && (o3 = T2(o3, n2.width, { hard: true })); + let B3 = o3.split(` `); - if (n.postprocess) { - let { postprocess: s } = n; - B2 = B2.map((l, h4) => s.call(n, l, h4)); + if (n2.postprocess) { + let { postprocess: s2 } = n2; + B3 = B3.map((l3, h4) => s2.call(n2, l3, h4)); } - return n.paddingTop && B2.unshift(...X(n.paddingTop)), n.paddingBottom && B2.push(...X(n.paddingBottom)), B2.length > E3 && (E3 = B2.length), c(p({}, n), { lines: B2 }); - }), r2 = []; - for (let n = 0; n < E3; n += 1) { - let o2 = e2.map((B2) => { + return n2.paddingTop && B3.unshift(...X(n2.paddingTop)), n2.paddingBottom && B3.push(...X(n2.paddingBottom)), B3.length > E4 && (E4 = B3.length), c(p({}, n2), { lines: B3 }); + }), r3 = []; + for (let n2 = 0; n2 < E4; n2 += 1) { + let o3 = e3.map((B3) => { var h4; - let a2 = (h4 = B2.lines[n]) != null ? h4 : "", s = Number.isFinite(B2.width) ? " ".repeat(B2.width - g(a2)) : "", l = B2.paddingLeftString; - return B2.align === "right" && (l += s), l += a2, B2.align === "left" && (l += s), l + B2.paddingRightString; + let a4 = (h4 = B3.lines[n2]) != null ? h4 : "", s2 = Number.isFinite(B3.width) ? " ".repeat(B3.width - g(a4)) : "", l3 = B3.paddingLeftString; + return B3.align === "right" && (l3 += s2), l3 += a4, B3.align === "left" && (l3 += s2), l3 + B3.paddingRightString; }).join(""); - r2.push(o2); + r3.push(o3); } - u2.push(r2.join(` + u3.push(r3.join(` `)); } - return u2.join(` + return u3.join(` `); } -function mD(D4, F4) { - if (!D4 || D4.length === 0) +function mD(D5, F5) { + if (!D5 || D5.length === 0) return ""; - let u2 = k2(D4), C4 = u2.length; - if (C4 === 0) + let u3 = k2(D5), C5 = u3.length; + if (C5 === 0) return ""; - let { stdoutColumns: t, columns: E3 } = v2(F4); - if (E3.length > C4) - throw new Error(`${E3.length} columns defined, but only ${C4} columns found`); - let e2 = Z(t, E3, u2); - return D4.map((r2) => P(e2, r2)).join(` + let { stdoutColumns: t2, columns: E4 } = v2(F5); + if (E4.length > C5) + throw new Error(`${E4.length} columns defined, but only ${C5} columns found`); + let e3 = Z(t2, E4, u3); + return D5.map((r3) => P(e3, r3)).join(` `); } i(); var bD = ["<", ">", "=", ">=", "<="]; -function xD(D4) { - if (!bD.includes(D4)) - throw new TypeError(`Invalid breakpoint operator: ${D4}`); +function xD(D5) { + if (!bD.includes(D5)) + throw new TypeError(`Invalid breakpoint operator: ${D5}`); } -function wD(D4) { - let F4 = Object.keys(D4).map((u2) => { - let [C4, t] = u2.split(" "); - xD(C4); - let E3 = Number.parseInt(t, 10); - if (Number.isNaN(E3)) - throw new TypeError(`Invalid breakpoint value: ${t}`); - let e2 = D4[u2]; - return { operator: C4, breakpoint: E3, value: e2 }; - }).sort((u2, C4) => C4.breakpoint - u2.breakpoint); - return (u2) => { - var C4; - return (C4 = F4.find(({ operator: t, breakpoint: E3 }) => t === "=" && u2 === E3 || t === ">" && u2 > E3 || t === "<" && u2 < E3 || t === ">=" && u2 >= E3 || t === "<=" && u2 <= E3)) == null ? void 0 : C4.value; +function wD(D5) { + let F5 = Object.keys(D5).map((u3) => { + let [C5, t2] = u3.split(" "); + xD(C5); + let E4 = Number.parseInt(t2, 10); + if (Number.isNaN(E4)) + throw new TypeError(`Invalid breakpoint value: ${t2}`); + let e3 = D5[u3]; + return { operator: C5, breakpoint: E4, value: e3 }; + }).sort((u3, C5) => C5.breakpoint - u3.breakpoint); + return (u3) => { + var C5; + return (C5 = F5.find(({ operator: t2, breakpoint: E4 }) => t2 === "=" && u3 === E4 || t2 === ">" && u3 > E4 || t2 === "<" && u3 < E4 || t2 === ">=" && u3 >= E4 || t2 === "<=" && u3 <= E4)) == null ? void 0 : C5.value; }; } // node_modules/cleye/dist/index.mjs -var S2 = (t) => t.replace(/[\W_]([a-z\d])?/gi, (e2, r2) => r2 ? r2.toUpperCase() : ""); -var q2 = (t) => t.replace(/\B([A-Z])/g, "-$1").toLowerCase(); -var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t) => t.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; -function D2(t) { - let e2 = false; - return { type: "table", data: { tableData: Object.keys(t).sort((a2, i2) => a2.localeCompare(i2)).map((a2) => { - const i2 = t[a2], s = "alias" in i2; - return s && (e2 = true), { name: a2, flag: i2, flagFormatted: `--${q2(a2)}`, aliasesEnabled: e2, aliasFormatted: s ? `-${i2.alias}` : void 0 }; - }).map((a2) => (a2.aliasesEnabled = e2, [{ type: "flagName", data: a2 }, { type: "flagDescription", data: a2 }])), tableBreakpoints: I2 } }; +var S2 = (t2) => t2.replace(/[\W_]([a-z\d])?/gi, (e3, r3) => r3 ? r3.toUpperCase() : ""); +var q2 = (t2) => t2.replace(/\B([A-Z])/g, "-$1").toLowerCase(); +var I2 = { "> 80": [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "auto" }], "> 40": [{ width: "auto", paddingLeft: 2, paddingRight: 8, preprocess: (t2) => t2.trim() }, { width: "100%", paddingLeft: 2, paddingBottom: 1 }], "> 0": { stdoutColumns: 1e3, columns: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }, { width: "content-width" }] } }; +function D2(t2) { + let e3 = false; + return { type: "table", data: { tableData: Object.keys(t2).sort((a4, i3) => a4.localeCompare(i3)).map((a4) => { + const i3 = t2[a4], s2 = "alias" in i3; + return s2 && (e3 = true), { name: a4, flag: i3, flagFormatted: `--${q2(a4)}`, aliasesEnabled: e3, aliasFormatted: s2 ? `-${i3.alias}` : void 0 }; + }).map((a4) => (a4.aliasesEnabled = e3, [{ type: "flagName", data: a4 }, { type: "flagDescription", data: a4 }])), tableBreakpoints: I2 } }; } -var A = (t) => !t || (t.version ?? (t.help ? t.help.version : void 0)); -var C2 = (t) => { - const e2 = "parent" in t && t.parent?.name; - return (e2 ? `${e2} ` : "") + t.name; +var A = (t2) => !t2 || (t2.version ?? (t2.help ? t2.help.version : void 0)); +var C2 = (t2) => { + const e3 = "parent" in t2 && t2.parent?.name; + return (e3 ? `${e3} ` : "") + t2.name; }; -function R3(t) { - const e2 = []; - t.name && e2.push(C2(t)); - const r2 = A(t) ?? ("parent" in t && A(t.parent)); - if (r2 && e2.push(`v${r2}`), e2.length !== 0) - return { id: "name", type: "text", data: `${e2.join(" ")} +function R3(t2) { + const e3 = []; + t2.name && e3.push(C2(t2)); + const r3 = A(t2) ?? ("parent" in t2 && A(t2.parent)); + if (r3 && e3.push(`v${r3}`), e3.length !== 0) + return { id: "name", type: "text", data: `${e3.join(" ")} ` }; } -function L3(t) { - const { help: e2 } = t; - if (!(!e2 || !e2.description)) - return { id: "description", type: "text", data: `${e2.description} +function L3(t2) { + const { help: e3 } = t2; + if (!(!e3 || !e3.description)) + return { id: "description", type: "text", data: `${e3.description} ` }; } -function T3(t) { - const e2 = t.help || {}; - if ("usage" in e2) - return e2.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e2.usage) ? e2.usage.join(` -`) : e2.usage } } : void 0; - if (t.name) { - const r2 = [], n = [C2(t)]; - if (t.flags && Object.keys(t.flags).length > 0 && n.push("[flags...]"), t.parameters && t.parameters.length > 0) { - const { parameters: a2 } = t, i2 = a2.indexOf("--"), s = i2 > -1 && a2.slice(i2 + 1).some((o2) => o2.startsWith("<")); - n.push(a2.map((o2) => o2 !== "--" ? o2 : s ? "--" : "[--]").join(" ")); +function T3(t2) { + const e3 = t2.help || {}; + if ("usage" in e3) + return e3.usage ? { id: "usage", type: "section", data: { title: "Usage:", body: Array.isArray(e3.usage) ? e3.usage.join(` +`) : e3.usage } } : void 0; + if (t2.name) { + const r3 = [], n2 = [C2(t2)]; + if (t2.flags && Object.keys(t2.flags).length > 0 && n2.push("[flags...]"), t2.parameters && t2.parameters.length > 0) { + const { parameters: a4 } = t2, i3 = a4.indexOf("--"), s2 = i3 > -1 && a4.slice(i3 + 1).some((o3) => o3.startsWith("<")); + n2.push(a4.map((o3) => o3 !== "--" ? o3 : s2 ? "--" : "[--]").join(" ")); } - if (n.length > 1 && r2.push(n.join(" ")), "commands" in t && t.commands?.length && r2.push(`${t.name} <command>`), r2.length > 0) - return { id: "usage", type: "section", data: { title: "Usage:", body: r2.join(` + if (n2.length > 1 && r3.push(n2.join(" ")), "commands" in t2 && t2.commands?.length && r3.push(`${t2.name} <command>`), r3.length > 0) + return { id: "usage", type: "section", data: { title: "Usage:", body: r3.join(` `) } }; } } -function _3(t) { - return !("commands" in t) || !t.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t.commands.map((n) => [n.options.name, n.options.help ? n.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; +function _3(t2) { + return !("commands" in t2) || !t2.commands?.length ? void 0 : { id: "commands", type: "section", data: { title: "Commands:", body: { type: "table", data: { tableData: t2.commands.map((n2) => [n2.options.name, n2.options.help ? n2.options.help.description : ""]), tableOptions: [{ width: "content-width", paddingLeft: 2, paddingRight: 8 }] } }, indentBody: 0 } }; } -function k3(t) { - if (!(!t.flags || Object.keys(t.flags).length === 0)) - return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t.flags), indentBody: 0 } }; +function k3(t2) { + if (!(!t2.flags || Object.keys(t2.flags).length === 0)) + return { id: "flags", type: "section", data: { title: "Flags:", body: D2(t2.flags), indentBody: 0 } }; } -function F2(t) { - const { help: e2 } = t; - if (!e2 || !e2.examples || e2.examples.length === 0) +function F2(t2) { + const { help: e3 } = t2; + if (!e3 || !e3.examples || e3.examples.length === 0) return; - let { examples: r2 } = e2; - if (Array.isArray(r2) && (r2 = r2.join(` -`)), r2) - return { id: "examples", type: "section", data: { title: "Examples:", body: r2 } }; + let { examples: r3 } = e3; + if (Array.isArray(r3) && (r3 = r3.join(` +`)), r3) + return { id: "examples", type: "section", data: { title: "Examples:", body: r3 } }; } -function H2(t) { - if (!("alias" in t) || !t.alias) +function H2(t2) { + if (!("alias" in t2) || !t2.alias) return; - const { alias: e2 } = t; - return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e2) ? e2.join(", ") : e2 } }; + const { alias: e3 } = t2; + return { id: "aliases", type: "section", data: { title: "Aliases:", body: Array.isArray(e3) ? e3.join(", ") : e3 } }; } -var U3 = (t) => [R3, L3, T3, _3, k3, F2, H2].map((e2) => e2(t)).filter(Boolean); +var U3 = (t2) => [R3, L3, T3, _3, k3, F2, H2].map((e3) => e3(t2)).filter(Boolean); var J2 = import_tty.default.WriteStream.prototype.hasColors(); var M2 = class { - text(e2) { - return e2; + text(e3) { + return e3; } - bold(e2) { - return J2 ? `\x1B[1m${e2}\x1B[22m` : e2.toLocaleUpperCase(); + bold(e3) { + return J2 ? `\x1B[1m${e3}\x1B[22m` : e3.toLocaleUpperCase(); } - indentText({ text: e2, spaces: r2 }) { - return e2.replace(/^/gm, " ".repeat(r2)); + indentText({ text: e3, spaces: r3 }) { + return e3.replace(/^/gm, " ".repeat(r3)); } - heading(e2) { - return this.bold(e2); + heading(e3) { + return this.bold(e3); } - section({ title: e2, body: r2, indentBody: n = 2 }) { - return `${(e2 ? `${this.heading(e2)} -` : "") + (r2 ? this.indentText({ text: this.render(r2), spaces: n }) : "")} + section({ title: e3, body: r3, indentBody: n2 = 2 }) { + return `${(e3 ? `${this.heading(e3)} +` : "") + (r3 ? this.indentText({ text: this.render(r3), spaces: n2 }) : "")} `; } - table({ tableData: e2, tableOptions: r2, tableBreakpoints: n }) { - return mD(e2.map((a2) => a2.map((i2) => this.render(i2))), n ? wD(n) : r2); + table({ tableData: e3, tableOptions: r3, tableBreakpoints: n2 }) { + return mD(e3.map((a4) => a4.map((i3) => this.render(i3))), n2 ? wD(n2) : r3); } - flagParameter(e2) { - return e2 === Boolean ? "" : e2 === String ? "<string>" : e2 === Number ? "<number>" : Array.isArray(e2) ? this.flagParameter(e2[0]) : "<value>"; + flagParameter(e3) { + return e3 === Boolean ? "" : e3 === String ? "<string>" : e3 === Number ? "<number>" : Array.isArray(e3) ? this.flagParameter(e3[0]) : "<value>"; } - flagOperator(e2) { + flagOperator(e3) { return " "; } - flagName(e2) { - const { flag: r2, flagFormatted: n, aliasesEnabled: a2, aliasFormatted: i2 } = e2; - let s = ""; - if (i2 ? s += `${i2}, ` : a2 && (s += " "), s += n, "placeholder" in r2 && typeof r2.placeholder == "string") - s += `${this.flagOperator(e2)}${r2.placeholder}`; + flagName(e3) { + const { flag: r3, flagFormatted: n2, aliasesEnabled: a4, aliasFormatted: i3 } = e3; + let s2 = ""; + if (i3 ? s2 += `${i3}, ` : a4 && (s2 += " "), s2 += n2, "placeholder" in r3 && typeof r3.placeholder == "string") + s2 += `${this.flagOperator(e3)}${r3.placeholder}`; else { - const o2 = this.flagParameter("type" in r2 ? r2.type : r2); - o2 && (s += `${this.flagOperator(e2)}${o2}`); + const o3 = this.flagParameter("type" in r3 ? r3.type : r3); + o3 && (s2 += `${this.flagOperator(e3)}${o3}`); } - return s; + return s2; } - flagDefault(e2) { - return JSON.stringify(e2); + flagDefault(e3) { + return JSON.stringify(e3); } - flagDescription({ flag: e2 }) { - let r2 = "description" in e2 ? e2.description ?? "" : ""; - if ("default" in e2) { - let { default: n } = e2; - typeof n == "function" && (n = n()), n && (r2 += ` (default: ${this.flagDefault(n)})`); + flagDescription({ flag: e3 }) { + let r3 = "description" in e3 ? e3.description ?? "" : ""; + if ("default" in e3) { + let { default: n2 } = e3; + typeof n2 == "function" && (n2 = n2()), n2 && (r3 += ` (default: ${this.flagDefault(n2)})`); } - return r2; + return r3; } - render(e2) { - if (typeof e2 == "string") - return e2; - if (Array.isArray(e2)) - return e2.map((r2) => this.render(r2)).join(` + render(e3) { + if (typeof e3 == "string") + return e3; + if (Array.isArray(e3)) + return e3.map((r3) => this.render(r3)).join(` `); - if ("type" in e2 && this[e2.type]) { - const r2 = this[e2.type]; - if (typeof r2 == "function") - return r2.call(this, e2.data); + if ("type" in e3 && this[e3.type]) { + const r3 = this[e3.type]; + if (typeof r3 == "function") + return r3.call(this, e3.data); } - throw new Error(`Invalid node type: ${JSON.stringify(e2)}`); + throw new Error(`Invalid node type: ${JSON.stringify(e3)}`); } }; var y2 = /^[\w.-]+$/; var { stringify: d3 } = JSON; var V3 = /[|\\{}()[\]^$+*?.]/; -function w3(t) { - const e2 = []; - let r2, n; - for (const a2 of t) { - if (n) - throw new Error(`Invalid parameter: Spread parameter ${d3(n)} must be last`); - const i2 = a2[0], s = a2[a2.length - 1]; - let o2; - if (i2 === "<" && s === ">" && (o2 = true, r2)) - throw new Error(`Invalid parameter: Required parameter ${d3(a2)} cannot come after optional parameter ${d3(r2)}`); - if (i2 === "[" && s === "]" && (o2 = false, r2 = a2), o2 === void 0) - throw new Error(`Invalid parameter: ${d3(a2)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); - let l = a2.slice(1, -1); - const f3 = l.slice(-3) === "..."; - f3 && (n = a2, l = l.slice(0, -3)); - const p4 = l.match(V3); +function w3(t2) { + const e3 = []; + let r3, n2; + for (const a4 of t2) { + if (n2) + throw new Error(`Invalid parameter: Spread parameter ${d3(n2)} must be last`); + const i3 = a4[0], s2 = a4[a4.length - 1]; + let o3; + if (i3 === "<" && s2 === ">" && (o3 = true, r3)) + throw new Error(`Invalid parameter: Required parameter ${d3(a4)} cannot come after optional parameter ${d3(r3)}`); + if (i3 === "[" && s2 === "]" && (o3 = false, r3 = a4), o3 === void 0) + throw new Error(`Invalid parameter: ${d3(a4)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`); + let l3 = a4.slice(1, -1); + const f4 = l3.slice(-3) === "..."; + f4 && (n2 = a4, l3 = l3.slice(0, -3)); + const p4 = l3.match(V3); if (p4) - throw new Error(`Invalid parameter: ${d3(a2)}. Invalid character found ${d3(p4[0])}`); - e2.push({ name: l, required: o2, spread: f3 }); + throw new Error(`Invalid parameter: ${d3(a4)}. Invalid character found ${d3(p4[0])}`); + e3.push({ name: l3, required: o3, spread: f4 }); } - return e2; + return e3; } -function b3(t, e2, r2, n) { - for (let a2 = 0; a2 < e2.length; a2 += 1) { - const { name: i2, required: s, spread: o2 } = e2[a2], l = S2(i2); - if (l in t) - throw new Error(`Invalid parameter: ${d3(i2)} is used more than once.`); - const f3 = o2 ? r2.slice(a2) : r2[a2]; - if (o2 && (a2 = e2.length), s && (!f3 || o2 && f3.length === 0)) - return console.error(`Error: Missing required parameter ${d3(i2)} -`), n(), process.exit(1); - t[l] = f3; +function b3(t2, e3, r3, n2) { + for (let a4 = 0; a4 < e3.length; a4 += 1) { + const { name: i3, required: s2, spread: o3 } = e3[a4], l3 = S2(i3); + if (l3 in t2) + throw new Error(`Invalid parameter: ${d3(i3)} is used more than once.`); + const f4 = o3 ? r3.slice(a4) : r3[a4]; + if (o3 && (a4 = e3.length), s2 && (!f4 || o3 && f4.length === 0)) + return console.error(`Error: Missing required parameter ${d3(i3)} +`), n2(), process.exit(1); + t2[l3] = f4; } } -function W2(t) { - return t === void 0 || t !== false; +function W2(t2) { + return t2 === void 0 || t2 !== false; } -function x2(t, e2, r2, n) { - const a2 = { ...e2.flags }, i2 = e2.version; - i2 && (a2.version = { type: Boolean, description: "Show version" }); - const { help: s } = e2, o2 = W2(s); - o2 && !("help" in a2) && (a2.help = { type: Boolean, alias: "h", description: "Show help" }); - const l = U(a2, n, { ignore: e2.ignoreArgv }), f3 = () => { - console.log(e2.version); +function x2(t2, e3, r3, n2) { + const a4 = { ...e3.flags }, i3 = e3.version; + i3 && (a4.version = { type: Boolean, description: "Show version" }); + const { help: s2 } = e3, o3 = W2(s2); + o3 && !("help" in a4) && (a4.help = { type: Boolean, alias: "h", description: "Show help" }); + const l3 = U(a4, n2, { ignore: e3.ignoreArgv }), f4 = () => { + console.log(e3.version); }; - if (i2 && l.flags.version === true) - return f3(), process.exit(0); - const p4 = new M2(), O4 = o2 && s?.render ? s.render : (c3) => p4.render(c3), u2 = (c3) => { - const m4 = U3({ ...e2, ...c3 ? { help: c3 } : {}, flags: a2 }); - console.log(O4(m4, p4)); + if (i3 && l3.flags.version === true) + return f4(), process.exit(0); + const p4 = new M2(), O5 = o3 && s2?.render ? s2.render : (c3) => p4.render(c3), u3 = (c3) => { + const m5 = U3({ ...e3, ...c3 ? { help: c3 } : {}, flags: a4 }); + console.log(O5(m5, p4)); }; - if (o2 && l.flags.help === true) - return u2(), process.exit(0); - if (e2.parameters) { - let { parameters: c3 } = e2, m4 = l._; - const g3 = c3.indexOf("--"), v4 = c3.slice(g3 + 1), h4 = /* @__PURE__ */ Object.create(null); - if (g3 > -1 && v4.length > 0) { - c3 = c3.slice(0, g3); - const E3 = l._["--"]; - m4 = m4.slice(0, -E3.length || void 0), b3(h4, w3(c3), m4, u2), b3(h4, w3(v4), E3, u2); + if (o3 && l3.flags.help === true) + return u3(), process.exit(0); + if (e3.parameters) { + let { parameters: c3 } = e3, m5 = l3._; + const g4 = c3.indexOf("--"), v5 = c3.slice(g4 + 1), h4 = /* @__PURE__ */ Object.create(null); + if (g4 > -1 && v5.length > 0) { + c3 = c3.slice(0, g4); + const E4 = l3._["--"]; + m5 = m5.slice(0, -E4.length || void 0), b3(h4, w3(c3), m5, u3), b3(h4, w3(v5), E4, u3); } else - b3(h4, w3(c3), m4, u2); - Object.assign(l._, h4); + b3(h4, w3(c3), m5, u3); + Object.assign(l3._, h4); } - const $4 = { ...l, showVersion: f3, showHelp: u2 }; - return typeof r2 == "function" && r2($4), { command: t, ...$4 }; + const $6 = { ...l3, showVersion: f4, showHelp: u3 }; + return typeof r3 == "function" && r3($6), { command: t2, ...$6 }; } -function z2(t, e2) { - const r2 = /* @__PURE__ */ new Map(); - for (const n of e2) { - const a2 = [n.options.name], { alias: i2 } = n.options; - i2 && (Array.isArray(i2) ? a2.push(...i2) : a2.push(i2)); - for (const s of a2) { - if (r2.has(s)) - throw new Error(`Duplicate command name found: ${d3(s)}`); - r2.set(s, n); +function z2(t2, e3) { + const r3 = /* @__PURE__ */ new Map(); + for (const n2 of e3) { + const a4 = [n2.options.name], { alias: i3 } = n2.options; + i3 && (Array.isArray(i3) ? a4.push(...i3) : a4.push(i3)); + for (const s2 of a4) { + if (r3.has(s2)) + throw new Error(`Duplicate command name found: ${d3(s2)}`); + r3.set(s2, n2); } } - return r2.get(t); + return r3.get(t2); } -function Z2(t, e2, r2 = process.argv.slice(2)) { - if (!t) +function Z2(t2, e3, r3 = process.argv.slice(2)) { + if (!t2) throw new Error("Options is required"); - if ("name" in t && (!t.name || !y2.test(t.name))) - throw new Error(`Invalid script name: ${d3(t.name)}`); - const n = r2[0]; - if (t.commands && y2.test(n)) { - const a2 = z2(n, t.commands); - if (a2) - return x2(a2.options.name, { ...a2.options, parent: t }, a2.callback, r2.slice(1)); + if ("name" in t2 && (!t2.name || !y2.test(t2.name))) + throw new Error(`Invalid script name: ${d3(t2.name)}`); + const n2 = r3[0]; + if (t2.commands && y2.test(n2)) { + const a4 = z2(n2, t2.commands); + if (a4) + return x2(a4.options.name, { ...a4.options, parent: t2 }, a4.callback, r3.slice(1)); } - return x2(void 0, t, e2, r2); + return x2(void 0, t2, e3, r3); } -function G3(t, e2) { - if (!t) +function G3(t2, e3) { + if (!t2) throw new Error("Command options are required"); - const { name: r2 } = t; - if (t.name === void 0) + const { name: r3 } = t2; + if (t2.name === void 0) throw new Error("Command name is required"); - if (!y2.test(r2)) - throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); - return { options: t, callback: e2 }; + if (!y2.test(r3)) + throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); + return { options: t2, callback: e3 }; } // package.json var package_default = { name: "opencommit", - version: "3.0.12", + version: "3.0.15", description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}", keywords: [ "git", @@ -16431,19 +28158,29 @@ var package_default = { "build:push": "npm run build && git add . && git commit -m 'build' && git push", deploy: "npm version patch && npm run build:push && git push --tags && npm publish --tag latest", lint: "eslint src --ext ts && tsc --noEmit", - format: "prettier --write src" + format: "prettier --write src", + "test:all": "npm run test:unit:docker && npm run test:e2e:docker", + "test:docker-build": "docker build -t oco-test -f test/Dockerfile .", + "test:unit": "NODE_OPTIONS=--experimental-vm-modules jest test/unit", + "test:unit:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:unit", + "test:e2e": "jest test/e2e", + "test:e2e:docker": "npm run test:docker-build && DOCKER_CONTENT_TRUST=0 docker run --rm oco-test npm run test:e2e" }, devDependencies: { "@commitlint/types": "^17.4.4", "@types/ini": "^1.3.31", "@types/inquirer": "^9.0.3", + "@types/jest": "^29.5.12", "@types/node": "^16.18.14", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "cli-testing-library": "^2.0.2", dotenv: "^16.0.3", esbuild: "^0.15.18", eslint: "^8.28.0", + jest: "^29.7.0", prettier: "^2.8.4", + "ts-jest": "^29.1.2", "ts-node": "^10.9.1", typescript: "^4.9.3" }, @@ -16451,6 +28188,8 @@ var package_default = { "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@azure/openai": "^1.0.0-beta.12", + "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", "@octokit/webhooks-schemas": "^6.11.0", @@ -16719,7 +28458,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -16846,20 +28585,20 @@ styles2.visible = { return builder; } }; -var getModelAnsi = (model, level, type, ...arguments_) => { +var getModelAnsi = (model, level, type2, ...arguments_) => { if (model === "rgb") { if (level === "ansi16m") { - return ansi_styles_default[type].ansi16m(...arguments_); + return ansi_styles_default[type2].ansi16m(...arguments_); } if (level === "ansi256") { - return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); + return ansi_styles_default[type2].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); } - return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); + return ansi_styles_default[type2].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); } if (model === "hex") { - return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_)); + return getModelAnsi("rgb", level, type2, ...ansi_styles_default.hexToRgb(...arguments_)); } - return ansi_styles_default[type][model](...arguments_); + return ansi_styles_default[type2][model](...arguments_); }; var usedModels = ["rgb", "hex", "ansi256"]; for (const model of usedModels) { @@ -16949,13 +28688,13 @@ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 }); var source_default = chalk; // node_modules/execa/index.js -var import_node_buffer = require("node:buffer"); +var import_node_buffer2 = require("node:buffer"); var import_node_path2 = __toESM(require("node:path"), 1); -var import_node_child_process = __toESM(require("node:child_process"), 1); -var import_node_process3 = __toESM(require("node:process"), 1); +var import_node_child_process3 = __toESM(require("node:child_process"), 1); +var import_node_process5 = __toESM(require("node:process"), 1); var import_cross_spawn = __toESM(require_cross_spawn(), 1); -// node_modules/strip-final-newline/index.js +// node_modules/execa/node_modules/strip-final-newline/index.js function stripFinalNewline(input) { const LF = typeof input === "string" ? "\n" : "\n".charCodeAt(); const CR = typeof input === "string" ? "\r" : "\r".charCodeAt(); @@ -16971,7 +28710,7 @@ function stripFinalNewline(input) { // node_modules/npm-run-path/index.js var import_node_process2 = __toESM(require("node:process"), 1); var import_node_path = __toESM(require("node:path"), 1); -var import_node_url = __toESM(require("node:url"), 1); +var import_node_url = require("node:url"); // node_modules/npm-run-path/node_modules/path-key/index.js function pathKey(options = {}) { @@ -16986,31 +28725,43 @@ function pathKey(options = {}) { } // node_modules/npm-run-path/index.js -function npmRunPath(options = {}) { - const { - cwd = import_node_process2.default.cwd(), - path: path_ = import_node_process2.default.env[pathKey()], - execPath = import_node_process2.default.execPath - } = options; - let previous; - const cwdString = cwd instanceof URL ? import_node_url.default.fileURLToPath(cwd) : cwd; - let cwdPath = import_node_path.default.resolve(cwdString); +var npmRunPath = ({ + cwd = import_node_process2.default.cwd(), + path: pathOption = import_node_process2.default.env[pathKey()], + preferLocal = true, + execPath = import_node_process2.default.execPath, + addExecPath = true +} = {}) => { + const cwdString = cwd instanceof URL ? (0, import_node_url.fileURLToPath)(cwd) : cwd; + const cwdPath = import_node_path.default.resolve(cwdString); const result = []; + if (preferLocal) { + applyPreferLocal(result, cwdPath); + } + if (addExecPath) { + applyExecPath(result, execPath, cwdPath); + } + return [...result, pathOption].join(import_node_path.default.delimiter); +}; +var applyPreferLocal = (result, cwdPath) => { + let previous; while (previous !== cwdPath) { result.push(import_node_path.default.join(cwdPath, "node_modules/.bin")); previous = cwdPath; cwdPath = import_node_path.default.resolve(cwdPath, ".."); } - result.push(import_node_path.default.resolve(cwdString, execPath, "..")); - return [...result, path_].join(import_node_path.default.delimiter); -} -function npmRunPathEnv({ env: env2 = import_node_process2.default.env, ...options } = {}) { +}; +var applyExecPath = (result, execPath, cwdPath) => { + const execPathString = execPath instanceof URL ? (0, import_node_url.fileURLToPath)(execPath) : execPath; + result.push(import_node_path.default.resolve(cwdPath, execPathString, "..")); +}; +var npmRunPathEnv = ({ env: env2 = import_node_process2.default.env, ...options } = {}) => { env2 = { ...env2 }; - const path5 = pathKey({ env: env2 }); - options.path = env2[path5]; - env2[path5] = npmRunPath(options); + const pathName = pathKey({ env: env2 }); + options.path = env2[pathName]; + env2[pathName] = npmRunPath(options); return env2; -} +}; // node_modules/mimic-fn/index.js var copyProperty = (to, from, property, ignoreNonConfigurable) => { @@ -17088,23 +28839,24 @@ onetime.callCount = (function_) => { }; var onetime_default = onetime; +// node_modules/execa/lib/error.js +var import_node_process3 = __toESM(require("node:process"), 1); + // node_modules/human-signals/build/src/main.js var import_node_os3 = require("node:os"); // node_modules/human-signals/build/src/realtime.js -var getRealtimeSignals = function() { +var getRealtimeSignals = () => { const length = SIGRTMAX - SIGRTMIN + 1; return Array.from({ length }, getRealtimeSignal); }; -var getRealtimeSignal = function(value, index) { - return { - name: `SIGRT${index + 1}`, - number: SIGRTMIN + index, - action: "terminate", - description: "Application-specific signal (realtime)", - standard: "posix" - }; -}; +var getRealtimeSignal = (value, index) => ({ + name: `SIGRT${index + 1}`, + number: SIGRTMIN + index, + action: "terminate", + description: "Application-specific signal (realtime)", + standard: "posix" +}); var SIGRTMIN = 34; var SIGRTMAX = 64; @@ -17385,19 +29137,19 @@ var SIGNALS = [ ]; // node_modules/human-signals/build/src/signals.js -var getSignals = function() { +var getSignals = () => { const realtimeSignals = getRealtimeSignals(); const signals = [...SIGNALS, ...realtimeSignals].map(normalizeSignal); return signals; }; -var normalizeSignal = function({ +var normalizeSignal = ({ name, number: defaultNumber, description, action, forced = false, standard -}) { +}) => { const { signals: { [name]: constantSignal } } = import_node_os2.constants; @@ -17407,11 +29159,11 @@ var normalizeSignal = function({ }; // node_modules/human-signals/build/src/main.js -var getSignalsByName = function() { +var getSignalsByName = () => { const signals = getSignals(); return Object.fromEntries(signals.map(getSignalByName)); }; -var getSignalByName = function({ +var getSignalByName = ({ name, number, description, @@ -17419,20 +29171,15 @@ var getSignalByName = function({ action, forced, standard -}) { - return [ - name, - { name, number, description, supported, action, forced, standard } - ]; -}; +}) => [name, { name, number, description, supported, action, forced, standard }]; var signalsByName = getSignalsByName(); -var getSignalsByNumber = function() { +var getSignalsByNumber = () => { const signals = getSignals(); const length = SIGRTMAX + 1; const signalsA = Array.from({ length }, (value, number) => getSignalByNumber(number, signals)); return Object.assign({}, ...signalsA); }; -var getSignalByNumber = function(number, signals) { +var getSignalByNumber = (number, signals) => { const signal = findSignalByNumber(number, signals); if (signal === void 0) { return {}; @@ -17450,7 +29197,7 @@ var getSignalByNumber = function(number, signals) { } }; }; -var findSignalByNumber = function(number, signals) { +var findSignalByNumber = (number, signals) => { const signal = signals.find(({ name }) => import_node_os3.constants.signals[name] === number); if (signal !== void 0) { return signal; @@ -17480,42 +29227,43 @@ var getErrorPrefix = ({ timedOut, timeout, errorCode, signal, signalDescription, }; var makeError = ({ stdout, - stderr, + stderr: stderr2, all: all3, error, signal, exitCode, - command: command2, + command: command4, escapedCommand, timedOut, isCanceled, killed, - parsed: { options: { timeout } } + parsed: { options: { timeout, cwd = import_node_process3.default.cwd() } } }) => { exitCode = exitCode === null ? void 0 : exitCode; signal = signal === null ? void 0 : signal; const signalDescription = signal === void 0 ? void 0 : signalsByName[signal].description; const errorCode = error && error.code; const prefix = getErrorPrefix({ timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled }); - const execaMessage = `Command ${prefix}: ${command2}`; - const isError = Object.prototype.toString.call(error) === "[object Error]"; - const shortMessage = isError ? `${execaMessage} + const execaMessage = `Command ${prefix}: ${command4}`; + const isError2 = Object.prototype.toString.call(error) === "[object Error]"; + const shortMessage = isError2 ? `${execaMessage} ${error.message}` : execaMessage; - const message = [shortMessage, stderr, stdout].filter(Boolean).join("\n"); - if (isError) { + const message = [shortMessage, stderr2, stdout].filter(Boolean).join("\n"); + if (isError2) { error.originalMessage = error.message; error.message = message; } else { error = new Error(message); } error.shortMessage = shortMessage; - error.command = command2; + error.command = command4; error.escapedCommand = escapedCommand; error.exitCode = exitCode; error.signal = signal; error.signalDescription = signalDescription; error.stdout = stdout; - error.stderr = stderr; + error.stderr = stderr2; + error.cwd = cwd; if (all3 !== void 0) { error.all = all3; } @@ -17567,11 +29315,11 @@ var setKillTimeout = (kill, signal, options, killResult) => { return; } const timeout = getForceKillAfterTimeout(options); - const t = setTimeout(() => { + const t2 = setTimeout(() => { kill("SIGKILL"); }, timeout); - if (t.unref) { - t.unref(); + if (t2.unref) { + t2.unref(); } }; var shouldForceKill = (signal, { forceKillAfterTimeout }, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult; @@ -17627,15 +29375,82 @@ var setExitHandler = async (spawned, { cleanup, detached }, timedPromise) => { }); }; +// node_modules/execa/lib/pipe.js +var import_node_fs = require("node:fs"); +var import_node_child_process = require("node:child_process"); + // node_modules/is-stream/index.js function isStream(stream4) { return stream4 !== null && typeof stream4 === "object" && typeof stream4.pipe === "function"; } +function isWritableStream(stream4) { + return isStream(stream4) && stream4.writable !== false && typeof stream4._write === "function" && typeof stream4._writableState === "object"; +} + +// node_modules/execa/lib/pipe.js +var isExecaChildProcess = (target) => target instanceof import_node_child_process.ChildProcess && typeof target.then === "function"; +var pipeToTarget = (spawned, streamName, target) => { + if (typeof target === "string") { + spawned[streamName].pipe((0, import_node_fs.createWriteStream)(target)); + return spawned; + } + if (isWritableStream(target)) { + spawned[streamName].pipe(target); + return spawned; + } + if (!isExecaChildProcess(target)) { + throw new TypeError("The second argument must be a string, a stream or an Execa child process."); + } + if (!isWritableStream(target.stdin)) { + throw new TypeError("The target child process's stdin must be available."); + } + spawned[streamName].pipe(target.stdin); + return target; +}; +var addPipeMethods = (spawned) => { + if (spawned.stdout !== null) { + spawned.pipeStdout = pipeToTarget.bind(void 0, spawned, "stdout"); + } + if (spawned.stderr !== null) { + spawned.pipeStderr = pipeToTarget.bind(void 0, spawned, "stderr"); + } + if (spawned.all !== void 0) { + spawned.pipeAll = pipeToTarget.bind(void 0, spawned, "all"); + } +}; // node_modules/execa/lib/stream.js +var import_node_fs2 = require("node:fs"); var import_get_stream = __toESM(require_get_stream(), 1); var import_merge_stream = __toESM(require_merge_stream(), 1); -var handleInput = (spawned, input) => { +var validateInputOptions = (input) => { + if (input !== void 0) { + throw new TypeError("The `input` and `inputFile` options cannot be both set."); + } +}; +var getInputSync = ({ input, inputFile }) => { + if (typeof inputFile !== "string") { + return input; + } + validateInputOptions(input); + return (0, import_node_fs2.readFileSync)(inputFile); +}; +var handleInputSync = (options) => { + const input = getInputSync(options); + if (isStream(input)) { + throw new TypeError("The `input` option cannot be a stream in sync mode"); + } + return input; +}; +var getInput = ({ input, inputFile }) => { + if (typeof inputFile !== "string") { + return input; + } + validateInputOptions(input); + return (0, import_node_fs2.createReadStream)(inputFile); +}; +var handleInput = (spawned, options) => { + const input = getInput(options); if (input === void 0) { return; } @@ -17678,9 +29493,9 @@ var getStreamPromise = (stream4, { encoding, buffer, maxBuffer }) => { } return import_get_stream.default.buffer(stream4, { maxBuffer }); }; -var getSpawnedResult = async ({ stdout, stderr, all: all3 }, { encoding, buffer, maxBuffer }, processDone) => { +var getSpawnedResult = async ({ stdout, stderr: stderr2, all: all3 }, { encoding, buffer, maxBuffer }, processDone) => { const stdoutPromise = getStreamPromise(stdout, { encoding, buffer, maxBuffer }); - const stderrPromise = getStreamPromise(stderr, { encoding, buffer, maxBuffer }); + const stderrPromise = getStreamPromise(stderr2, { encoding, buffer, maxBuffer }); const allPromise = getStreamPromise(all3, { encoding, buffer, maxBuffer: maxBuffer * 2 }); try { return await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]); @@ -17688,7 +29503,7 @@ var getSpawnedResult = async ({ stdout, stderr, all: all3 }, { encoding, buffer, return Promise.all([ { error, signal: error.signal, timedOut: error.timedOut }, getBufferedData(stdout, stdoutPromise), - getBufferedData(stderr, stderrPromise), + getBufferedData(stderr2, stderrPromise), getBufferedData(all3, allPromise) ]); } @@ -17706,7 +29521,6 @@ var mergePromise = (spawned, promise) => { const value = typeof promise === "function" ? (...args) => Reflect.apply(descriptor.value, promise(), args) : descriptor.value.bind(promise); Reflect.defineProperty(spawned, property, { ...descriptor, value }); } - return spawned; }; var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { spawned.on("exit", (exitCode, signal) => { @@ -17723,6 +29537,8 @@ var getSpawnedPromise = (spawned) => new Promise((resolve, reject) => { }); // node_modules/execa/lib/command.js +var import_node_buffer = require("node:buffer"); +var import_node_child_process2 = require("node:child_process"); var normalizeArgs = (file, args = []) => { if (!Array.isArray(args)) { return [file]; @@ -17739,11 +29555,80 @@ var escapeArg = (arg) => { }; var joinCommand = (file, args) => normalizeArgs(file, args).join(" "); var getEscapedCommand = (file, args) => normalizeArgs(file, args).map((arg) => escapeArg(arg)).join(" "); +var SPACES_REGEXP = / +/g; +var parseExpression = (expression) => { + const typeOfExpression = typeof expression; + if (typeOfExpression === "string") { + return expression; + } + if (typeOfExpression === "number") { + return String(expression); + } + if (typeOfExpression === "object" && expression !== null && !(expression instanceof import_node_child_process2.ChildProcess) && "stdout" in expression) { + const typeOfStdout = typeof expression.stdout; + if (typeOfStdout === "string") { + return expression.stdout; + } + if (import_node_buffer.Buffer.isBuffer(expression.stdout)) { + return expression.stdout.toString(); + } + throw new TypeError(`Unexpected "${typeOfStdout}" stdout in template expression`); + } + throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`); +}; +var concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0 ? [...tokens, ...nextTokens] : [ + ...tokens.slice(0, -1), + `${tokens[tokens.length - 1]}${nextTokens[0]}`, + ...nextTokens.slice(1) +]; +var parseTemplate = ({ templates, expressions, tokens, index, template }) => { + const templateString = template ?? templates.raw[index]; + const templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean); + const newTokens = concatTokens( + tokens, + templateTokens, + templateString.startsWith(" ") + ); + if (index === expressions.length) { + return newTokens; + } + const expression = expressions[index]; + const expressionTokens = Array.isArray(expression) ? expression.map((expression2) => parseExpression(expression2)) : [parseExpression(expression)]; + return concatTokens( + newTokens, + expressionTokens, + templateString.endsWith(" ") + ); +}; +var parseTemplates = (templates, expressions) => { + let tokens = []; + for (const [index, template] of templates.entries()) { + tokens = parseTemplate({ templates, expressions, tokens, index, template }); + } + return tokens; +}; + +// node_modules/execa/lib/verbose.js +var import_node_util = require("node:util"); +var import_node_process4 = __toESM(require("node:process"), 1); +var verboseDefault = (0, import_node_util.debuglog)("execa").enabled; +var padField = (field, padding) => String(field).padStart(padding, "0"); +var getTimestamp = () => { + const date = new Date(); + return `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`; +}; +var logCommand = (escapedCommand, { verbose }) => { + if (!verbose) { + return; + } + import_node_process4.default.stderr.write(`[${getTimestamp()}] ${escapedCommand} +`); +}; // node_modules/execa/index.js var DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100; var getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => { - const env2 = extendEnv ? { ...import_node_process3.default.env, ...envOption } : envOption; + const env2 = extendEnv ? { ...import_node_process5.default.env, ...envOption } : envOption; if (preferLocal) { return npmRunPathEnv({ env: env2, cwd: localDir, execPath }); } @@ -17760,24 +29645,25 @@ var handleArguments = (file, args, options = {}) => { stripFinalNewline: true, extendEnv: true, preferLocal: false, - localDir: options.cwd || import_node_process3.default.cwd(), - execPath: import_node_process3.default.execPath, + localDir: options.cwd || import_node_process5.default.cwd(), + execPath: import_node_process5.default.execPath, encoding: "utf8", reject: true, cleanup: true, all: false, windowsHide: true, + verbose: verboseDefault, ...options }; options.env = getEnv(options); options.stdio = normalizeStdio(options); - if (import_node_process3.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { + if (import_node_process5.default.platform === "win32" && import_node_path2.default.basename(file, ".exe") === "cmd") { args.unshift("/q"); } return { file, args, options, parsed }; }; var handleOutput = (options, value, error) => { - if (typeof value !== "string" && !import_node_buffer.Buffer.isBuffer(value)) { + if (typeof value !== "string" && !import_node_buffer2.Buffer.isBuffer(value)) { return error === void 0 ? void 0 : ""; } if (options.stripFinalNewline) { @@ -17787,27 +29673,29 @@ var handleOutput = (options, value, error) => { }; function execa(file, args, options) { const parsed = handleArguments(file, args, options); - const command2 = joinCommand(file, args); + const command4 = joinCommand(file, args); const escapedCommand = getEscapedCommand(file, args); + logCommand(escapedCommand, parsed.options); validateTimeout(parsed.options); let spawned; try { - spawned = import_node_child_process.default.spawn(parsed.file, parsed.args, parsed.options); + spawned = import_node_child_process3.default.spawn(parsed.file, parsed.args, parsed.options); } catch (error) { - const dummySpawned = new import_node_child_process.default.ChildProcess(); + const dummySpawned = new import_node_child_process3.default.ChildProcess(); const errorPromise = Promise.reject(makeError({ error, stdout: "", stderr: "", all: "", - command: command2, + command: command4, escapedCommand, parsed, timedOut: false, isCanceled: false, killed: false })); - return mergePromise(dummySpawned, errorPromise); + mergePromise(dummySpawned, errorPromise); + return dummySpawned; } const spawnedPromise = getSpawnedPromise(spawned); const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise); @@ -17818,7 +29706,7 @@ function execa(file, args, options) { const handlePromise = async () => { const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone); const stdout = handleOutput(parsed.options, stdoutResult); - const stderr = handleOutput(parsed.options, stderrResult); + const stderr2 = handleOutput(parsed.options, stderrResult); const all3 = handleOutput(parsed.options, allResult); if (error || exitCode !== 0 || signal !== null) { const returnedError = makeError({ @@ -17826,9 +29714,9 @@ function execa(file, args, options) { exitCode, signal, stdout, - stderr, + stderr: stderr2, all: all3, - command: command2, + command: command4, escapedCommand, parsed, timedOut, @@ -17841,11 +29729,11 @@ function execa(file, args, options) { throw returnedError; } return { - command: command2, + command: command4, escapedCommand, exitCode: 0, stdout, - stderr, + stderr: stderr2, all: all3, failed: false, timedOut: false, @@ -17854,341 +29742,429 @@ function execa(file, args, options) { }; }; const handlePromiseOnce = onetime_default(handlePromise); - handleInput(spawned, parsed.options.input); + handleInput(spawned, parsed.options); spawned.all = makeAllStream(spawned, parsed.options); - return mergePromise(spawned, handlePromiseOnce); + addPipeMethods(spawned); + mergePromise(spawned, handlePromiseOnce); + return spawned; } +function execaSync(file, args, options) { + const parsed = handleArguments(file, args, options); + const command4 = joinCommand(file, args); + const escapedCommand = getEscapedCommand(file, args); + logCommand(escapedCommand, parsed.options); + const input = handleInputSync(parsed.options); + let result; + try { + result = import_node_child_process3.default.spawnSync(parsed.file, parsed.args, { ...parsed.options, input }); + } catch (error) { + throw makeError({ + error, + stdout: "", + stderr: "", + all: "", + command: command4, + escapedCommand, + parsed, + timedOut: false, + isCanceled: false, + killed: false + }); + } + const stdout = handleOutput(parsed.options, result.stdout, result.error); + const stderr2 = handleOutput(parsed.options, result.stderr, result.error); + if (result.error || result.status !== 0 || result.signal !== null) { + const error = makeError({ + stdout, + stderr: stderr2, + error: result.error, + signal: result.signal, + exitCode: result.status, + command: command4, + escapedCommand, + parsed, + timedOut: result.error && result.error.code === "ETIMEDOUT", + isCanceled: false, + killed: result.signal !== null + }); + if (!parsed.options.reject) { + return error; + } + throw error; + } + return { + command: command4, + escapedCommand, + exitCode: 0, + stdout, + stderr: stderr2, + failed: false, + timedOut: false, + isCanceled: false, + killed: false + }; +} +var normalizeScriptStdin = ({ input, inputFile, stdio }) => input === void 0 && inputFile === void 0 && stdio === void 0 ? { stdin: "inherit" } : {}; +var normalizeScriptOptions = (options = {}) => ({ + preferLocal: true, + ...normalizeScriptStdin(options), + ...options +}); +function create$(options) { + function $6(templatesOrOptions, ...expressions) { + if (!Array.isArray(templatesOrOptions)) { + return create$({ ...options, ...templatesOrOptions }); + } + const [file, ...args] = parseTemplates(templatesOrOptions, expressions); + return execa(file, args, normalizeScriptOptions(options)); + } + $6.sync = (templates, ...expressions) => { + if (!Array.isArray(templates)) { + throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`."); + } + const [file, ...args] = parseTemplates(templates, expressions); + return execaSync(file, args, normalizeScriptOptions(options)); + }; + return $6; +} +var $3 = create$(); // node_modules/@clack/core/dist/index.mjs var import_sisteransi = __toESM(require_src(), 1); -var import_node_process4 = require("node:process"); +var import_node_process6 = require("node:process"); var f = __toESM(require("node:readline"), 1); var import_node_readline = __toESM(require("node:readline"), 1); var import_node_tty2 = require("node:tty"); -function z3({ onlyFirst: t = false } = {}) { - const u2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); - return new RegExp(u2, t ? void 0 : "g"); +function q3({ onlyFirst: t2 = false } = {}) { + const u3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"); + return new RegExp(u3, t2 ? void 0 : "g"); } -function $3(t) { - if (typeof t != "string") - throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``); - return t.replace(z3(), ""); +function S3(t2) { + if (typeof t2 != "string") + throw new TypeError(`Expected a \`string\`, got \`${typeof t2}\``); + return t2.replace(q3(), ""); } -var m3 = {}; -var G4 = { get exports() { - return m3; -}, set exports(t) { - m3 = t; -} }; -(function(t) { - var u2 = {}; - t.exports = u2, u2.eastAsianWidth = function(e2) { - var s = e2.charCodeAt(0), C4 = e2.length == 2 ? e2.charCodeAt(1) : 0, D4 = s; - return 55296 <= s && s <= 56319 && 56320 <= C4 && C4 <= 57343 && (s &= 1023, C4 &= 1023, D4 = s << 10 | C4, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; - }, u2.characterLength = function(e2) { - var s = this.eastAsianWidth(e2); - return s == "F" || s == "W" || s == "A" ? 2 : 1; +function j2(t2) { + return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; +} +var M3 = { exports: {} }; +(function(t2) { + var u3 = {}; + t2.exports = u3, u3.eastAsianWidth = function(e3) { + var s2 = e3.charCodeAt(0), C5 = e3.length == 2 ? e3.charCodeAt(1) : 0, D5 = s2; + return 55296 <= s2 && s2 <= 56319 && 56320 <= C5 && C5 <= 57343 && (s2 &= 1023, C5 &= 1023, D5 = s2 << 10 | C5, D5 += 65536), D5 == 12288 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 ? "F" : D5 == 8361 || 65377 <= D5 && D5 <= 65470 || 65474 <= D5 && D5 <= 65479 || 65482 <= D5 && D5 <= 65487 || 65490 <= D5 && D5 <= 65495 || 65498 <= D5 && D5 <= 65500 || 65512 <= D5 && D5 <= 65518 ? "H" : 4352 <= D5 && D5 <= 4447 || 4515 <= D5 && D5 <= 4519 || 4602 <= D5 && D5 <= 4607 || 9001 <= D5 && D5 <= 9002 || 11904 <= D5 && D5 <= 11929 || 11931 <= D5 && D5 <= 12019 || 12032 <= D5 && D5 <= 12245 || 12272 <= D5 && D5 <= 12283 || 12289 <= D5 && D5 <= 12350 || 12353 <= D5 && D5 <= 12438 || 12441 <= D5 && D5 <= 12543 || 12549 <= D5 && D5 <= 12589 || 12593 <= D5 && D5 <= 12686 || 12688 <= D5 && D5 <= 12730 || 12736 <= D5 && D5 <= 12771 || 12784 <= D5 && D5 <= 12830 || 12832 <= D5 && D5 <= 12871 || 12880 <= D5 && D5 <= 13054 || 13056 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42124 || 42128 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 55216 <= D5 && D5 <= 55238 || 55243 <= D5 && D5 <= 55291 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65106 || 65108 <= D5 && D5 <= 65126 || 65128 <= D5 && D5 <= 65131 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127490 || 127504 <= D5 && D5 <= 127546 || 127552 <= D5 && D5 <= 127560 || 127568 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 194367 || 177984 <= D5 && D5 <= 196605 || 196608 <= D5 && D5 <= 262141 ? "W" : 32 <= D5 && D5 <= 126 || 162 <= D5 && D5 <= 163 || 165 <= D5 && D5 <= 166 || D5 == 172 || D5 == 175 || 10214 <= D5 && D5 <= 10221 || 10629 <= D5 && D5 <= 10630 ? "Na" : D5 == 161 || D5 == 164 || 167 <= D5 && D5 <= 168 || D5 == 170 || 173 <= D5 && D5 <= 174 || 176 <= D5 && D5 <= 180 || 182 <= D5 && D5 <= 186 || 188 <= D5 && D5 <= 191 || D5 == 198 || D5 == 208 || 215 <= D5 && D5 <= 216 || 222 <= D5 && D5 <= 225 || D5 == 230 || 232 <= D5 && D5 <= 234 || 236 <= D5 && D5 <= 237 || D5 == 240 || 242 <= D5 && D5 <= 243 || 247 <= D5 && D5 <= 250 || D5 == 252 || D5 == 254 || D5 == 257 || D5 == 273 || D5 == 275 || D5 == 283 || 294 <= D5 && D5 <= 295 || D5 == 299 || 305 <= D5 && D5 <= 307 || D5 == 312 || 319 <= D5 && D5 <= 322 || D5 == 324 || 328 <= D5 && D5 <= 331 || D5 == 333 || 338 <= D5 && D5 <= 339 || 358 <= D5 && D5 <= 359 || D5 == 363 || D5 == 462 || D5 == 464 || D5 == 466 || D5 == 468 || D5 == 470 || D5 == 472 || D5 == 474 || D5 == 476 || D5 == 593 || D5 == 609 || D5 == 708 || D5 == 711 || 713 <= D5 && D5 <= 715 || D5 == 717 || D5 == 720 || 728 <= D5 && D5 <= 731 || D5 == 733 || D5 == 735 || 768 <= D5 && D5 <= 879 || 913 <= D5 && D5 <= 929 || 931 <= D5 && D5 <= 937 || 945 <= D5 && D5 <= 961 || 963 <= D5 && D5 <= 969 || D5 == 1025 || 1040 <= D5 && D5 <= 1103 || D5 == 1105 || D5 == 8208 || 8211 <= D5 && D5 <= 8214 || 8216 <= D5 && D5 <= 8217 || 8220 <= D5 && D5 <= 8221 || 8224 <= D5 && D5 <= 8226 || 8228 <= D5 && D5 <= 8231 || D5 == 8240 || 8242 <= D5 && D5 <= 8243 || D5 == 8245 || D5 == 8251 || D5 == 8254 || D5 == 8308 || D5 == 8319 || 8321 <= D5 && D5 <= 8324 || D5 == 8364 || D5 == 8451 || D5 == 8453 || D5 == 8457 || D5 == 8467 || D5 == 8470 || 8481 <= D5 && D5 <= 8482 || D5 == 8486 || D5 == 8491 || 8531 <= D5 && D5 <= 8532 || 8539 <= D5 && D5 <= 8542 || 8544 <= D5 && D5 <= 8555 || 8560 <= D5 && D5 <= 8569 || D5 == 8585 || 8592 <= D5 && D5 <= 8601 || 8632 <= D5 && D5 <= 8633 || D5 == 8658 || D5 == 8660 || D5 == 8679 || D5 == 8704 || 8706 <= D5 && D5 <= 8707 || 8711 <= D5 && D5 <= 8712 || D5 == 8715 || D5 == 8719 || D5 == 8721 || D5 == 8725 || D5 == 8730 || 8733 <= D5 && D5 <= 8736 || D5 == 8739 || D5 == 8741 || 8743 <= D5 && D5 <= 8748 || D5 == 8750 || 8756 <= D5 && D5 <= 8759 || 8764 <= D5 && D5 <= 8765 || D5 == 8776 || D5 == 8780 || D5 == 8786 || 8800 <= D5 && D5 <= 8801 || 8804 <= D5 && D5 <= 8807 || 8810 <= D5 && D5 <= 8811 || 8814 <= D5 && D5 <= 8815 || 8834 <= D5 && D5 <= 8835 || 8838 <= D5 && D5 <= 8839 || D5 == 8853 || D5 == 8857 || D5 == 8869 || D5 == 8895 || D5 == 8978 || 9312 <= D5 && D5 <= 9449 || 9451 <= D5 && D5 <= 9547 || 9552 <= D5 && D5 <= 9587 || 9600 <= D5 && D5 <= 9615 || 9618 <= D5 && D5 <= 9621 || 9632 <= D5 && D5 <= 9633 || 9635 <= D5 && D5 <= 9641 || 9650 <= D5 && D5 <= 9651 || 9654 <= D5 && D5 <= 9655 || 9660 <= D5 && D5 <= 9661 || 9664 <= D5 && D5 <= 9665 || 9670 <= D5 && D5 <= 9672 || D5 == 9675 || 9678 <= D5 && D5 <= 9681 || 9698 <= D5 && D5 <= 9701 || D5 == 9711 || 9733 <= D5 && D5 <= 9734 || D5 == 9737 || 9742 <= D5 && D5 <= 9743 || 9748 <= D5 && D5 <= 9749 || D5 == 9756 || D5 == 9758 || D5 == 9792 || D5 == 9794 || 9824 <= D5 && D5 <= 9825 || 9827 <= D5 && D5 <= 9829 || 9831 <= D5 && D5 <= 9834 || 9836 <= D5 && D5 <= 9837 || D5 == 9839 || 9886 <= D5 && D5 <= 9887 || 9918 <= D5 && D5 <= 9919 || 9924 <= D5 && D5 <= 9933 || 9935 <= D5 && D5 <= 9953 || D5 == 9955 || 9960 <= D5 && D5 <= 9983 || D5 == 10045 || D5 == 10071 || 10102 <= D5 && D5 <= 10111 || 11093 <= D5 && D5 <= 11097 || 12872 <= D5 && D5 <= 12879 || 57344 <= D5 && D5 <= 63743 || 65024 <= D5 && D5 <= 65039 || D5 == 65533 || 127232 <= D5 && D5 <= 127242 || 127248 <= D5 && D5 <= 127277 || 127280 <= D5 && D5 <= 127337 || 127344 <= D5 && D5 <= 127386 || 917760 <= D5 && D5 <= 917999 || 983040 <= D5 && D5 <= 1048573 || 1048576 <= D5 && D5 <= 1114109 ? "A" : "N"; + }, u3.characterLength = function(e3) { + var s2 = this.eastAsianWidth(e3); + return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; }; - function F4(e2) { - return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F5(e3) { + return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u2.length = function(e2) { - for (var s = F4(e2), C4 = 0, D4 = 0; D4 < s.length; D4++) - C4 = C4 + this.characterLength(s[D4]); - return C4; - }, u2.slice = function(e2, s, C4) { - textLen = u2.length(e2), s = s || 0, C4 = C4 || 1, s < 0 && (s = textLen + s), C4 < 0 && (C4 = textLen + C4); - for (var D4 = "", i2 = 0, o2 = F4(e2), E3 = 0; E3 < o2.length; E3++) { - var a2 = o2[E3], n = u2.length(a2); - if (i2 >= s - (n == 2 ? 1 : 0)) - if (i2 + n <= C4) - D4 += a2; + u3.length = function(e3) { + for (var s2 = F5(e3), C5 = 0, D5 = 0; D5 < s2.length; D5++) + C5 = C5 + this.characterLength(s2[D5]); + return C5; + }, u3.slice = function(e3, s2, C5) { + textLen = u3.length(e3), s2 = s2 || 0, C5 = C5 || 1, s2 < 0 && (s2 = textLen + s2), C5 < 0 && (C5 = textLen + C5); + for (var D5 = "", i3 = 0, n2 = F5(e3), E4 = 0; E4 < n2.length; E4++) { + var h4 = n2[E4], o3 = u3.length(h4); + if (i3 >= s2 - (o3 == 2 ? 1 : 0)) + if (i3 + o3 <= C5) + D5 += h4; else break; - i2 += n; + i3 += o3; } - return D4; + return D5; }; -})(G4); -var K3 = m3; -var Y2 = function() { +})(M3); +var J3 = M3.exports; +var Q2 = j2(J3); +var X2 = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; -function c2(t, u2 = {}) { - if (typeof t != "string" || t.length === 0 || (u2 = { ambiguousIsNarrow: true, ...u2 }, t = $3(t), t.length === 0)) +var DD2 = j2(X2); +function A2(t2, u3 = {}) { + if (typeof t2 != "string" || t2.length === 0 || (u3 = { ambiguousIsNarrow: true, ...u3 }, t2 = S3(t2), t2.length === 0)) return 0; - t = t.replace(Y2(), " "); - const F4 = u2.ambiguousIsNarrow ? 1 : 2; - let e2 = 0; - for (const s of t) { - const C4 = s.codePointAt(0); - if (C4 <= 31 || C4 >= 127 && C4 <= 159 || C4 >= 768 && C4 <= 879) + t2 = t2.replace(DD2(), " "); + const F5 = u3.ambiguousIsNarrow ? 1 : 2; + let e3 = 0; + for (const s2 of t2) { + const C5 = s2.codePointAt(0); + if (C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879) continue; - switch (K3.eastAsianWidth(s)) { + switch (Q2.eastAsianWidth(s2)) { case "F": case "W": - e2 += 2; + e3 += 2; break; case "A": - e2 += F4; + e3 += F5; break; default: - e2 += 1; + e3 += 1; } } - return e2; + return e3; } -var v3 = 10; -var L4 = (t = 0) => (u2) => `\x1B[${u2 + t}m`; -var M3 = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; -var T4 = (t = 0) => (u2, F4, e2) => `\x1B[${38 + t};2;${u2};${F4};${e2}m`; +var m3 = 10; +var T4 = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; +var P2 = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; +var W3 = (t2 = 0) => (u3, F5, e3) => `\x1B[${38 + t2};2;${u3};${F5};${e3}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var Z3 = Object.keys(r.color); -var H3 = Object.keys(r.bgColor); -[...Z3, ...H3]; -function U4() { - const t = /* @__PURE__ */ new Map(); - for (const [u2, F4] of Object.entries(r)) { - for (const [e2, s] of Object.entries(F4)) - r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F4[e2] = r[e2], t.set(s[0], s[1]); - Object.defineProperty(r, u2, { value: F4, enumerable: false }); +var uD2 = Object.keys(r.color); +var FD2 = Object.keys(r.bgColor); +[...uD2, ...FD2]; +function tD2() { + const t2 = /* @__PURE__ */ new Map(); + for (const [u3, F5] of Object.entries(r)) { + for (const [e3, s2] of Object.entries(F5)) + r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F5[e3] = r[e3], t2.set(s2[0], s2[1]); + Object.defineProperty(r, u3, { value: F5, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L4(), r.color.ansi256 = M3(), r.color.ansi16m = T4(), r.bgColor.ansi = L4(v3), r.bgColor.ansi256 = M3(v3), r.bgColor.ansi16m = T4(v3), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F4, e2) => u2 === F4 && F4 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F4 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - const F4 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); - if (!F4) + return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T4(), r.color.ansi256 = P2(), r.color.ansi16m = W3(), r.bgColor.ansi = T4(m3), r.bgColor.ansi256 = P2(m3), r.bgColor.ansi16m = W3(m3), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F5, e3) => u3 === F5 && F5 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F5 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + const F5 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); + if (!F5) return [0, 0, 0]; - let [e2] = F4; - e2.length === 3 && (e2 = [...e2].map((C4) => C4 + C4).join("")); - const s = Number.parseInt(e2, 16); - return [s >> 16 & 255, s >> 8 & 255, s & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let F4, e2, s; - if (u2 >= 232) - F4 = ((u2 - 232) * 10 + 8) / 255, e2 = F4, s = F4; + let [e3] = F5; + e3.length === 3 && (e3 = [...e3].map((C5) => C5 + C5).join("")); + const s2 = Number.parseInt(e3, 16); + return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let F5, e3, s2; + if (u3 >= 232) + F5 = ((u3 - 232) * 10 + 8) / 255, e3 = F5, s2 = F5; else { - u2 -= 16; - const i2 = u2 % 36; - F4 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; + u3 -= 16; + const i3 = u3 % 36; + F5 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; } - const C4 = Math.max(F4, e2, s) * 2; - if (C4 === 0) + const C5 = Math.max(F5, e3, s2) * 2; + if (C5 === 0) return 30; - let D4 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F4)); - return C4 === 2 && (D4 += 60), D4; - }, enumerable: false }, rgbToAnsi: { value: (u2, F4, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F4, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; + let D5 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F5)); + return C5 === 2 && (D5 += 60), D5; + }, enumerable: false }, rgbToAnsi: { value: (u3, F5, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F5, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; } -var q3 = U4(); -var p2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); -var J3 = 39; +var eD2 = tD2(); +var g2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]); +var sD2 = 39; var b4 = "\x07"; -var W3 = "["; -var Q2 = "]"; +var O3 = "["; +var CD2 = "]"; var I3 = "m"; -var w4 = `${Q2}8;;`; -var N3 = (t) => `${p2.values().next().value}${W3}${t}${I3}`; -var j2 = (t) => `${p2.values().next().value}${w4}${t}${b4}`; -var X2 = (t) => t.split(" ").map((u2) => c2(u2)); -var _4 = (t, u2, F4) => { - const e2 = [...u2]; - let s = false, C4 = false, D4 = c2($3(t[t.length - 1])); - for (const [i2, o2] of e2.entries()) { - const E3 = c2(o2); - if (D4 + E3 <= F4 ? t[t.length - 1] += o2 : (t.push(o2), D4 = 0), p2.has(o2) && (s = true, C4 = e2.slice(i2 + 1).join("").startsWith(w4)), s) { - C4 ? o2 === b4 && (s = false, C4 = false) : o2 === I3 && (s = false); +var w4 = `${CD2}8;;`; +var N3 = (t2) => `${g2.values().next().value}${O3}${t2}${I3}`; +var L4 = (t2) => `${g2.values().next().value}${w4}${t2}${b4}`; +var iD2 = (t2) => t2.split(" ").map((u3) => A2(u3)); +var y3 = (t2, u3, F5) => { + const e3 = [...u3]; + let s2 = false, C5 = false, D5 = A2(S3(t2[t2.length - 1])); + for (const [i3, n2] of e3.entries()) { + const E4 = A2(n2); + if (D5 + E4 <= F5 ? t2[t2.length - 1] += n2 : (t2.push(n2), D5 = 0), g2.has(n2) && (s2 = true, C5 = e3.slice(i3 + 1).join("").startsWith(w4)), s2) { + C5 ? n2 === b4 && (s2 = false, C5 = false) : n2 === I3 && (s2 = false); continue; } - D4 += E3, D4 === F4 && i2 < e2.length - 1 && (t.push(""), D4 = 0); + D5 += E4, D5 === F5 && i3 < e3.length - 1 && (t2.push(""), D5 = 0); } - !D4 && t[t.length - 1].length > 0 && t.length > 1 && (t[t.length - 2] += t.pop()); + !D5 && t2[t2.length - 1].length > 0 && t2.length > 1 && (t2[t2.length - 2] += t2.pop()); }; -var DD2 = (t) => { - const u2 = t.split(" "); - let F4 = u2.length; - for (; F4 > 0 && !(c2(u2[F4 - 1]) > 0); ) - F4--; - return F4 === u2.length ? t : u2.slice(0, F4).join(" ") + u2.slice(F4).join(""); +var rD2 = (t2) => { + const u3 = t2.split(" "); + let F5 = u3.length; + for (; F5 > 0 && !(A2(u3[F5 - 1]) > 0); ) + F5--; + return F5 === u3.length ? t2 : u3.slice(0, F5).join(" ") + u3.slice(F5).join(""); }; -var uD2 = (t, u2, F4 = {}) => { - if (F4.trim !== false && t.trim() === "") +var ED2 = (t2, u3, F5 = {}) => { + if (F5.trim !== false && t2.trim() === "") return ""; - let e2 = "", s, C4; - const D4 = X2(t); - let i2 = [""]; - for (const [E3, a2] of t.split(" ").entries()) { - F4.trim !== false && (i2[i2.length - 1] = i2[i2.length - 1].trimStart()); - let n = c2(i2[i2.length - 1]); - if (E3 !== 0 && (n >= u2 && (F4.wordWrap === false || F4.trim === false) && (i2.push(""), n = 0), (n > 0 || F4.trim === false) && (i2[i2.length - 1] += " ", n++)), F4.hard && D4[E3] > u2) { - const B2 = u2 - n, A3 = 1 + Math.floor((D4[E3] - B2 - 1) / u2); - Math.floor((D4[E3] - 1) / u2) < A3 && i2.push(""), _4(i2, a2, u2); + let e3 = "", s2, C5; + const D5 = iD2(t2); + let i3 = [""]; + for (const [E4, h4] of t2.split(" ").entries()) { + F5.trim !== false && (i3[i3.length - 1] = i3[i3.length - 1].trimStart()); + let o3 = A2(i3[i3.length - 1]); + if (E4 !== 0 && (o3 >= u3 && (F5.wordWrap === false || F5.trim === false) && (i3.push(""), o3 = 0), (o3 > 0 || F5.trim === false) && (i3[i3.length - 1] += " ", o3++)), F5.hard && D5[E4] > u3) { + const B3 = u3 - o3, p4 = 1 + Math.floor((D5[E4] - B3 - 1) / u3); + Math.floor((D5[E4] - 1) / u3) < p4 && i3.push(""), y3(i3, h4, u3); continue; } - if (n + D4[E3] > u2 && n > 0 && D4[E3] > 0) { - if (F4.wordWrap === false && n < u2) { - _4(i2, a2, u2); + if (o3 + D5[E4] > u3 && o3 > 0 && D5[E4] > 0) { + if (F5.wordWrap === false && o3 < u3) { + y3(i3, h4, u3); continue; } - i2.push(""); + i3.push(""); } - if (n + D4[E3] > u2 && F4.wordWrap === false) { - _4(i2, a2, u2); + if (o3 + D5[E4] > u3 && F5.wordWrap === false) { + y3(i3, h4, u3); continue; } - i2[i2.length - 1] += a2; + i3[i3.length - 1] += h4; } - F4.trim !== false && (i2 = i2.map((E3) => DD2(E3))); - const o2 = [...i2.join(` + F5.trim !== false && (i3 = i3.map((E4) => rD2(E4))); + const n2 = [...i3.join(` `)]; - for (const [E3, a2] of o2.entries()) { - if (e2 += a2, p2.has(a2)) { - const { groups: B2 } = new RegExp(`(?:\\${W3}(?<code>\\d+)m|\\${w4}(?<uri>.*)${b4})`).exec(o2.slice(E3).join("")) || { groups: {} }; - if (B2.code !== void 0) { - const A3 = Number.parseFloat(B2.code); - s = A3 === J3 ? void 0 : A3; + for (const [E4, h4] of n2.entries()) { + if (e3 += h4, g2.has(h4)) { + const { groups: B3 } = new RegExp(`(?:\\${O3}(?<code>\\d+)m|\\${w4}(?<uri>.*)${b4})`).exec(n2.slice(E4).join("")) || { groups: {} }; + if (B3.code !== void 0) { + const p4 = Number.parseFloat(B3.code); + s2 = p4 === sD2 ? void 0 : p4; } else - B2.uri !== void 0 && (C4 = B2.uri.length === 0 ? void 0 : B2.uri); + B3.uri !== void 0 && (C5 = B3.uri.length === 0 ? void 0 : B3.uri); } - const n = q3.codes.get(Number(s)); - o2[E3 + 1] === ` -` ? (C4 && (e2 += j2("")), s && n && (e2 += N3(n))) : a2 === ` -` && (s && n && (e2 += N3(s)), C4 && (e2 += j2(C4))); + const o3 = eD2.codes.get(Number(s2)); + n2[E4 + 1] === ` +` ? (C5 && (e3 += L4("")), s2 && o3 && (e3 += N3(o3))) : h4 === ` +` && (s2 && o3 && (e3 += N3(s2)), C5 && (e3 += L4(C5))); } - return e2; + return e3; }; -function P2(t, u2, F4) { - return String(t).normalize().replace(/\r\n/g, ` +function R4(t2, u3, F5) { + return String(t2).normalize().replace(/\r\n/g, ` `).split(` -`).map((e2) => uD2(e2, u2, F4)).join(` +`).map((e3) => ED2(e3, u3, F5)).join(` `); } -function FD2(t, u2) { - if (t === u2) +var oD2 = Object.defineProperty; +var nD2 = (t2, u3, F5) => u3 in t2 ? oD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var a = (t2, u3, F5) => (nD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +function aD2(t2, u3) { + if (t2 === u3) return; - const F4 = t.split(` -`), e2 = u2.split(` -`), s = []; - for (let C4 = 0; C4 < Math.max(F4.length, e2.length); C4++) - F4[C4] !== e2[C4] && s.push(C4); - return s; + const F5 = t2.split(` +`), e3 = u3.split(` +`), s2 = []; + for (let C5 = 0; C5 < Math.max(F5.length, e3.length); C5++) + F5[C5] !== e3[C5] && s2.push(C5); + return s2; } -var R4 = Symbol("clack:cancel"); -function eD2(t) { - return t === R4; +var V4 = Symbol("clack:cancel"); +function hD2(t2) { + return t2 === V4; } -function g2(t, u2) { - t.isTTY && t.setRawMode(u2); +function v3(t2, u3) { + t2.isTTY && t2.setRawMode(u3); } -var V4 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); -var tD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); -var h2 = class { - constructor({ render: u2, input: F4 = import_node_process4.stdin, output: e2 = import_node_process4.stdout, ...s }, C4 = true) { - this._track = false, this._cursor = 0, this.state = "initial", this.error = "", this.subscribers = /* @__PURE__ */ new Map(), this._prevFrame = "", this.opts = s, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u2.bind(this), this._track = C4, this.input = F4, this.output = e2; +var z3 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]); +var lD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]); +var x3 = class { + constructor({ render: u3, input: F5 = import_node_process6.stdin, output: e3 = import_node_process6.stdout, ...s2 }, C5 = true) { + a(this, "input"), a(this, "output"), a(this, "rl"), a(this, "opts"), a(this, "_track", false), a(this, "_render"), a(this, "_cursor", 0), a(this, "state", "initial"), a(this, "value"), a(this, "error", ""), a(this, "subscribers", /* @__PURE__ */ new Map()), a(this, "_prevFrame", ""), this.opts = s2, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u3.bind(this), this._track = C5, this.input = F5, this.output = e3; } prompt() { - const u2 = new import_node_tty2.WriteStream(0); - return u2._write = (F4, e2, s) => { - this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s(); - }, this.input.pipe(u2), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u2, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), g2(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F4, e2) => { + const u3 = new import_node_tty2.WriteStream(0); + return u3._write = (F5, e3, s2) => { + this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s2(); + }, this.input.pipe(u3), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u3, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), v3(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F5, e3) => { this.once("submit", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(this.value); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(this.value); }), this.once("cancel", () => { - this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), g2(this.input, false), F4(R4); + this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(V4); }); }); } - on(u2, F4) { - const e2 = this.subscribers.get(u2) ?? []; - e2.push({ cb: F4 }), this.subscribers.set(u2, e2); + on(u3, F5) { + const e3 = this.subscribers.get(u3) ?? []; + e3.push({ cb: F5 }), this.subscribers.set(u3, e3); } - once(u2, F4) { - const e2 = this.subscribers.get(u2) ?? []; - e2.push({ cb: F4, once: true }), this.subscribers.set(u2, e2); + once(u3, F5) { + const e3 = this.subscribers.get(u3) ?? []; + e3.push({ cb: F5, once: true }), this.subscribers.set(u3, e3); } - emit(u2, ...F4) { - const e2 = this.subscribers.get(u2) ?? [], s = []; - for (const C4 of e2) - C4.cb(...F4), C4.once && s.push(() => e2.splice(e2.indexOf(C4), 1)); - for (const C4 of s) - C4(); + emit(u3, ...F5) { + const e3 = this.subscribers.get(u3) ?? [], s2 = []; + for (const C5 of e3) + C5.cb(...F5), C5.once && s2.push(() => e3.splice(e3.indexOf(C5), 1)); + for (const C5 of s2) + C5(); } unsubscribe() { this.subscribers.clear(); } - onKeypress(u2, F4) { - if (this.state === "error" && (this.state = "active"), F4?.name && !this._track && V4.has(F4.name) && this.emit("cursor", V4.get(F4.name)), F4?.name && tD2.has(F4.name) && this.emit("cursor", F4.name), u2 && (u2.toLowerCase() === "y" || u2.toLowerCase() === "n") && this.emit("confirm", u2.toLowerCase() === "y"), u2 && this.emit("key", u2.toLowerCase()), F4?.name === "return") { + onKeypress(u3, F5) { + if (this.state === "error" && (this.state = "active"), F5?.name && !this._track && z3.has(F5.name) && this.emit("cursor", z3.get(F5.name)), F5?.name && lD2.has(F5.name) && this.emit("cursor", F5.name), u3 && (u3.toLowerCase() === "y" || u3.toLowerCase() === "n") && this.emit("confirm", u3.toLowerCase() === "y"), u3 === " " && this.opts.placeholder && (this.value || (this.rl.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u3 && this.emit("key", u3.toLowerCase()), F5?.name === "return") { if (this.opts.validate) { - const e2 = this.opts.validate(this.value); - e2 && (this.error = e2, this.state = "error", this.rl.write(this.value)); + const e3 = this.opts.validate(this.value); + e3 && (this.error = e3, this.state = "error", this.rl.write(this.value)); } this.state !== "error" && (this.state = "submit"); } - u2 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); + u3 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close(); } close() { this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(` -`), g2(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); +`), v3(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe(); } restoreCursor() { - const u2 = P2(this._prevFrame, process.stdout.columns, { hard: true }).split(` + const u3 = R4(this._prevFrame, process.stdout.columns, { hard: true }).split(` `).length - 1; - this.output.write(import_sisteransi.cursor.move(-999, u2 * -1)); + this.output.write(import_sisteransi.cursor.move(-999, u3 * -1)); } render() { - const u2 = P2(this._render(this) ?? "", process.stdout.columns, { hard: true }); - if (u2 !== this._prevFrame) { + const u3 = R4(this._render(this) ?? "", process.stdout.columns, { hard: true }); + if (u3 !== this._prevFrame) { if (this.state === "initial") this.output.write(import_sisteransi.cursor.hide); else { - const F4 = FD2(this._prevFrame, u2); - if (this.restoreCursor(), F4 && F4?.length === 1) { - const e2 = F4[0]; - this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.lines(1)); - const s = u2.split(` + const F5 = aD2(this._prevFrame, u3); + if (this.restoreCursor(), F5 && F5?.length === 1) { + const e3 = F5[0]; + this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.lines(1)); + const s2 = u3.split(` `); - this.output.write(s[e2]), this._prevFrame = u2, this.output.write(import_sisteransi.cursor.move(0, s.length - e2 - 1)); + this.output.write(s2[e3]), this._prevFrame = u3, this.output.write(import_sisteransi.cursor.move(0, s2.length - e3 - 1)); return; - } else if (F4 && F4?.length > 1) { - const e2 = F4[0]; - this.output.write(import_sisteransi.cursor.move(0, e2)), this.output.write(import_sisteransi.erase.down()); - const C4 = u2.split(` -`).slice(e2); - this.output.write(C4.join(` -`)), this._prevFrame = u2; + } else if (F5 && F5?.length > 1) { + const e3 = F5[0]; + this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.down()); + const s2 = u3.split(` +`).slice(e3); + this.output.write(s2.join(` +`)), this._prevFrame = u3; return; } this.output.write(import_sisteransi.erase.down()); } - this.output.write(u2), this.state === "initial" && (this.state = "active"), this._prevFrame = u2; + this.output.write(u3), this.state === "initial" && (this.state = "active"), this._prevFrame = u3; } } }; -var sD2 = class extends h2 { +var xD2 = class extends x3 { get cursor() { return this.value ? 0 : 1; } get _value() { return this.cursor === 0; } - constructor(u2) { - super(u2, false), this.value = !!u2.initialValue, this.on("value", () => { + constructor(u3) { + super(u3, false), this.value = !!u3.initialValue, this.on("value", () => { this.value = this._value; - }), this.on("confirm", (F4) => { - this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F4, this.state = "submit", this.close(); + }), this.on("confirm", (F5) => { + this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F5, this.state = "submit", this.close(); }), this.on("cursor", () => { this.value = !this.value; }); } }; -var iD2 = class extends h2 { - constructor(u2) { - super(u2, false), this.cursor = 0, this.options = u2.options, this.value = [...u2.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F4 }) => F4 === u2.cursorAt), 0), this.on("key", (F4) => { - F4 === "a" && this.toggleAll(); - }), this.on("cursor", (F4) => { - switch (F4) { +var pD2 = Object.defineProperty; +var fD2 = (t2, u3, F5) => u3 in t2 ? pD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var K3 = (t2, u3, F5) => (fD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +var gD2 = class extends x3 { + constructor(u3) { + super(u3, false), K3(this, "options"), K3(this, "cursor", 0), this.options = u3.options, this.value = [...u3.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F5 }) => F5 === u3.cursorAt), 0), this.on("key", (F5) => { + F5 === "a" && this.toggleAll(); + }), this.on("cursor", (F5) => { + switch (F5) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -18207,18 +30183,21 @@ var iD2 = class extends h2 { return this.options[this.cursor].value; } toggleAll() { - const u2 = this.value.length === this.options.length; - this.value = u2 ? [] : this.options.map((F4) => F4.value); + const u3 = this.value.length === this.options.length; + this.value = u3 ? [] : this.options.map((F5) => F5.value); } toggleValue() { - const u2 = this.value.includes(this._value); - this.value = u2 ? this.value.filter((F4) => F4 !== this._value) : [...this.value, this._value]; + const u3 = this.value.includes(this._value); + this.value = u3 ? this.value.filter((F5) => F5 !== this._value) : [...this.value, this._value]; } }; -var ED2 = class extends h2 { - constructor(u2) { - super(u2, false), this.cursor = 0, this.options = u2.options, this.cursor = this.options.findIndex(({ value: F4 }) => F4 === u2.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F4) => { - switch (F4) { +var bD2 = Object.defineProperty; +var wD2 = (t2, u3, F5) => u3 in t2 ? bD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5; +var Z3 = (t2, u3, F5) => (wD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5); +var yD = class extends x3 { + constructor(u3) { + super(u3, false), Z3(this, "options"), Z3(this, "cursor", 0), this.options = u3.options, this.cursor = this.options.findIndex(({ value: F5 }) => F5 === u3.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F5) => { + switch (F5) { case "left": case "up": this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1; @@ -18238,56 +30217,57 @@ var ED2 = class extends h2 { this.value = this._value.value; } }; -function aD2({ input: t = import_node_process4.stdin, output: u2 = import_node_process4.stdout, overwrite: F4 = true, hideCursor: e2 = true } = {}) { - const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); - const C4 = (D4, { name: i2 }) => { - if (String(D4) === "" && process.exit(0), !F4) +var PD = globalThis.process.platform.startsWith("win"); +function WD({ input: t2 = import_node_process6.stdin, output: u3 = import_node_process6.stdout, overwrite: F5 = true, hideCursor: e3 = true } = {}) { + const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); + const C5 = (D5, { name: i3 }) => { + if (String(D5) === "" && process.exit(0), !F5) return; - let E3 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; - f.moveCursor(u2, E3, a2, () => { - f.clearLine(u2, 1, () => { - t.once("keypress", C4); + let n2 = i3 === "return" ? 0 : -1, E4 = i3 === "return" ? -1 : 0; + f.moveCursor(u3, n2, E4, () => { + f.clearLine(u3, 1, () => { + t2.once("keypress", C5); }); }); }; - return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C4), () => { - t.off("keypress", C4), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); + return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C5), () => { + t2.off("keypress", C5), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); }; } // node_modules/@clack/prompts/dist/index.mjs -var import_node_process5 = __toESM(require("node:process"), 1); +var import_node_process7 = __toESM(require("node:process"), 1); var import_picocolors = __toESM(require_picocolors(), 1); var import_sisteransi2 = __toESM(require_src(), 1); function N4() { - return import_node_process5.default.platform !== "win32" ? import_node_process5.default.env.TERM !== "linux" : Boolean(import_node_process5.default.env.CI) || Boolean(import_node_process5.default.env.WT_SESSION) || Boolean(import_node_process5.default.env.TERMINUS_SUBLIME) || import_node_process5.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process5.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process5.default.env.TERM_PROGRAM === "vscode" || import_node_process5.default.env.TERM === "xterm-256color" || import_node_process5.default.env.TERM === "alacritty" || import_node_process5.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; + return import_node_process7.default.platform !== "win32" ? import_node_process7.default.env.TERM !== "linux" : Boolean(import_node_process7.default.env.CI) || Boolean(import_node_process7.default.env.WT_SESSION) || Boolean(import_node_process7.default.env.TERMINUS_SUBLIME) || import_node_process7.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process7.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process7.default.env.TERM_PROGRAM === "vscode" || import_node_process7.default.env.TERM === "xterm-256color" || import_node_process7.default.env.TERM === "alacritty" || import_node_process7.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } -var p3 = N4(); -var u = (r2, n) => p3 ? r2 : n; +var p2 = N4(); +var u = (r3, n2) => p2 ? r3 : n2; var W4 = u("\u25C6", "*"); var D3 = u("\u25A0", "x"); var F3 = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); var L5 = u("\u250C", "T"); -var a = u("\u2502", "|"); +var a2 = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w5 = u("\u25CF", ">"); var S4 = u("\u25CB", " "); var _5 = u("\u25FB", "[\u2022]"); var y4 = u("\u25FC", "[+]"); -var A2 = u("\u25FB", "[ ]"); +var A3 = u("\u25FB", "[ ]"); var q4 = u("\u25AA", "\u2022"); var R5 = u("\u2500", "-"); -var G5 = u("\u256E", "+"); -var H4 = u("\u251C", "+"); +var G4 = u("\u256E", "+"); +var H3 = u("\u251C", "+"); var K4 = u("\u256F", "+"); var U5 = u("\u25CF", "\u2022"); var Z4 = u("\u25C6", "*"); var z4 = u("\u25B2", "!"); var X3 = u("\u25A0", "x"); -var h3 = (r2) => { - switch (r2) { +var h2 = (r3) => { + switch (r3) { case "initial": case "active": return import_picocolors.default.cyan(W4); @@ -18299,142 +30279,142 @@ var h3 = (r2) => { return import_picocolors.default.green(f2); } }; -var Q3 = (r2) => { - const n = r2.active ?? "Yes", s = r2.inactive ?? "No"; - return new sD2({ active: n, inactive: s, initialValue: r2.initialValue ?? true, render() { - const t = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} -`, i2 = this.value ? n : s; +var Q3 = (r3) => { + const n2 = r3.active ?? "Yes", s2 = r3.inactive ?? "No"; + return new xD2({ active: n2, inactive: s2, initialValue: r3.initialValue ?? true, render() { + const t2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} +`, i3 = this.value ? n2 : s2; switch (this.state) { case "submit": - return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(i2)}`; + return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(i3)}`; case "cancel": - return `${t}${import_picocolors.default.gray(a)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))} -${import_picocolors.default.gray(a)}`; + return `${t2}${import_picocolors.default.gray(a2)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))} +${import_picocolors.default.gray(a2)}`; default: - return `${t}${import_picocolors.default.cyan(a)} ${this.value ? `${import_picocolors.default.green(w5)} ${n}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s)}` : `${import_picocolors.default.green(w5)} ${s}`} + return `${t2}${import_picocolors.default.cyan(a2)} ${this.value ? `${import_picocolors.default.green(w5)} ${n2}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(n2)}`} ${import_picocolors.default.dim("/")} ${this.value ? `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(s2)}` : `${import_picocolors.default.green(w5)} ${s2}`} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var ee = (r2) => { - const n = (s, t) => { - const i2 = s.label ?? String(s.value); - return t === "active" ? `${import_picocolors.default.green(w5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i2)}`; +var ee = (r3) => { + const n2 = (s2, t2) => { + const i3 = s2.label ?? String(s2.value); + return t2 === "active" ? `${import_picocolors.default.green(w5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : `${import_picocolors.default.dim(S4)} ${import_picocolors.default.dim(i3)}`; }; - return new ED2({ options: r2.options, initialValue: r2.initialValue, render() { - const s = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} + return new yD({ options: r3.options, initialValue: r3.initialValue, render() { + const s2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} `; switch (this.state) { case "submit": - return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "selected")}`; + return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "selected")}`; case "cancel": - return `${s}${import_picocolors.default.gray(a)} ${n(this.options[this.cursor], "cancelled")} -${import_picocolors.default.gray(a)}`; + return `${s2}${import_picocolors.default.gray(a2)} ${n2(this.options[this.cursor], "cancelled")} +${import_picocolors.default.gray(a2)}`; default: - return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => n(t, i2 === this.cursor ? "active" : "inactive")).join(` -${import_picocolors.default.cyan(a)} `)} + return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => n2(t2, i3 === this.cursor ? "active" : "inactive")).join(` +${import_picocolors.default.cyan(a2)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var re = (r2) => { - const n = (s, t) => { - const i2 = s.label ?? String(s.value); - return t === "active" ? `${import_picocolors.default.cyan(_5)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i2)}` : t === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i2))}` : t === "active-selected" ? `${import_picocolors.default.green(y4)} ${i2} ${s.hint ? import_picocolors.default.dim(`(${s.hint})`) : ""}` : t === "submitted" ? `${import_picocolors.default.dim(i2)}` : `${import_picocolors.default.dim(A2)} ${import_picocolors.default.dim(i2)}`; +var re = (r3) => { + const n2 = (s2, t2) => { + const i3 = s2.label ?? String(s2.value); + return t2 === "active" ? `${import_picocolors.default.cyan(_5)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors.default.green(y4)} ${import_picocolors.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors.default.strikethrough(import_picocolors.default.dim(i3))}` : t2 === "active-selected" ? `${import_picocolors.default.green(y4)} ${i3} ${s2.hint ? import_picocolors.default.dim(`(${s2.hint})`) : ""}` : t2 === "submitted" ? `${import_picocolors.default.dim(i3)}` : `${import_picocolors.default.dim(A3)} ${import_picocolors.default.dim(i3)}`; }; - return new iD2({ options: r2.options, initialValues: r2.initialValues, required: r2.required ?? true, cursorAt: r2.cursorAt, validate(s) { - if (this.required && s.length === 0) + return new gD2({ options: r3.options, initialValues: r3.initialValues, required: r3.required ?? true, cursorAt: r3.cursorAt, validate(s2) { + if (this.required && s2.length === 0) return `Please select at least one option. ${import_picocolors.default.reset(import_picocolors.default.dim(`Press ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" space ")))} to select, ${import_picocolors.default.gray(import_picocolors.default.bgWhite(import_picocolors.default.inverse(" enter ")))} to submit`))}`; }, render() { - let s = `${import_picocolors.default.gray(a)} -${h3(this.state)} ${r2.message} + let s2 = `${import_picocolors.default.gray(a2)} +${h2(this.state)} ${r3.message} `; switch (this.state) { case "submit": - return `${s}${import_picocolors.default.gray(a)} ${this.options.filter(({ value: t }) => this.value.includes(t)).map((t) => n(t, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; + return `${s2}${import_picocolors.default.gray(a2)} ${this.options.filter(({ value: t2 }) => this.value.includes(t2)).map((t2) => n2(t2, "submitted")).join(import_picocolors.default.dim(", ")) || import_picocolors.default.dim("none")}`; case "cancel": { - const t = this.options.filter(({ value: i2 }) => this.value.includes(i2)).map((i2) => n(i2, "cancelled")).join(import_picocolors.default.dim(", ")); - return `${s}${import_picocolors.default.gray(a)} ${t.trim() ? `${t} -${import_picocolors.default.gray(a)}` : ""}`; + const t2 = this.options.filter(({ value: i3 }) => this.value.includes(i3)).map((i3) => n2(i3, "cancelled")).join(import_picocolors.default.dim(", ")); + return `${s2}${import_picocolors.default.gray(a2)} ${t2.trim() ? `${t2} +${import_picocolors.default.gray(a2)}` : ""}`; } case "error": { - const t = this.error.split(` -`).map((i2, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i2)}` : ` ${i2}`).join(` + const t2 = this.error.split(` +`).map((i3, c3) => c3 === 0 ? `${import_picocolors.default.yellow(o)} ${import_picocolors.default.yellow(i3)}` : ` ${i3}`).join(` `); - return s + import_picocolors.default.yellow(a) + " " + this.options.map((i2, c3) => { - const l = this.value.includes(i2.value), $4 = c3 === this.cursor; - return $4 && l ? n(i2, "active-selected") : l ? n(i2, "selected") : n(i2, $4 ? "active" : "inactive"); + return s2 + import_picocolors.default.yellow(a2) + " " + this.options.map((i3, c3) => { + const l3 = this.value.includes(i3.value), $6 = c3 === this.cursor; + return $6 && l3 ? n2(i3, "active-selected") : l3 ? n2(i3, "selected") : n2(i3, $6 ? "active" : "inactive"); }).join(` -${import_picocolors.default.yellow(a)} `) + ` -` + t + ` +${import_picocolors.default.yellow(a2)} `) + ` +` + t2 + ` `; } default: - return `${s}${import_picocolors.default.cyan(a)} ${this.options.map((t, i2) => { - const c3 = this.value.includes(t.value), l = i2 === this.cursor; - return l && c3 ? n(t, "active-selected") : c3 ? n(t, "selected") : n(t, l ? "active" : "inactive"); + return `${s2}${import_picocolors.default.cyan(a2)} ${this.options.map((t2, i3) => { + const c3 = this.value.includes(t2.value), l3 = i3 === this.cursor; + return l3 && c3 ? n2(t2, "active-selected") : c3 ? n2(t2, "selected") : n2(t2, l3 ? "active" : "inactive"); }).join(` -${import_picocolors.default.cyan(a)} `)} +${import_picocolors.default.cyan(a2)} `)} ${import_picocolors.default.cyan(o)} `; } } }).prompt(); }; -var b5 = (r2) => r2.replace(ue(), ""); -var ie = (r2 = "", n = "") => { - const s = ` -${r2} +var b5 = (r3) => r3.replace(ue(), ""); +var ie = (r3 = "", n2 = "") => { + const s2 = ` +${r3} `.split(` -`), t = Math.max(s.reduce((c3, l) => (l = b5(l), l.length > c3 ? l.length : c3), 0), b5(n).length) + 2, i2 = s.map((c3) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c3)}${" ".repeat(t - b5(c3).length)}${import_picocolors.default.gray(a)}`).join(` +`), t2 = Math.max(s2.reduce((c3, l3) => (l3 = b5(l3), l3.length > c3 ? l3.length : c3), 0), b5(n2).length) + 2, i3 = s2.map((c3) => `${import_picocolors.default.gray(a2)} ${import_picocolors.default.dim(c3)}${" ".repeat(t2 - b5(c3).length)}${import_picocolors.default.gray(a2)}`).join(` `); - process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R5.repeat(Math.max(t - n.length - 1, 1)) + G5)} -${i2} -${import_picocolors.default.gray(H4 + R5.repeat(t + 2) + K4)} + process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R5.repeat(Math.max(t2 - n2.length - 1, 1)) + G4)} +${i3} +${import_picocolors.default.gray(H3 + R5.repeat(t2 + 2) + K4)} `); }; -var ae = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L5)} ${r2} +var ae = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L5)} ${r3} `); }; -var ce = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.gray(o)} ${r2} +var ce = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.gray(o)} ${r3} `); }; -var C3 = p3 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; +var C3 = p2 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r2, n; - const s = p3 ? 80 : 120; - return { start(t = "") { - t = t.replace(/\.?\.?\.$/, ""), r2 = aD2(), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.magenta("\u25CB")} ${t} + let r3, n2; + const s2 = p2 ? 80 : 120; + return { start(t2 = "") { + t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.magenta("\u25CB")} ${t2} `); - let i2 = 0, c3 = 0; - n = setInterval(() => { - let l = C3[i2]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} -`), i2 = i2 === C3.length - 1 ? 0 : i2 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; - }, s); - }, stop(t = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${t} -`), r2(); + let i3 = 0, c3 = 0; + n2 = setInterval(() => { + let l3 = C3[i3]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c3) >= 1 ? ".".repeat(Math.floor(c3)).slice(0, 3) : ""} +`), i3 = i3 === C3.length - 1 ? 0 : i3 + 1, c3 = c3 === C3.length ? 0 : c3 + 0.125; + }, s2); + }, stop(t2 = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a2)} +${import_picocolors.default.green(f2)} ${t2} +`), r3(); } }; }; function ue() { - const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r2, "g"); + const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r3, "g"); } // src/generateCommitMessageFromGitDiff.ts -var import_openai4 = __toESM(require_dist(), 1); +var import_openai5 = __toESM(require_dist(), 1); // src/commands/config.ts var dotenv = __toESM(require_main(), 1); @@ -18649,7 +30629,32 @@ function getI18nLocal(value) { } // src/commands/config.ts -dotenv.config(); +var MODEL_LIST = { + openai: [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-turbo", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ], + anthropic: [ + "claude-3-haiku-20240307", + "claude-3-sonnet-20240229", + "claude-3-opus-20240229" + ] +}; +var getDefaultModel = (provider4) => { + switch (provider4) { + case "ollama": + return ""; + case "anthropic": + return MODEL_LIST.anthropic[0]; + default: + return MODEL_LIST.openai[0]; + } +}; var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -18659,21 +30664,32 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config10 = {}) { validateConfig( - "API_KEY", - value || config8.OCO_AI_PROVIDER.startsWith("ollama"), - "You need to provide an API key" + "OpenAI API_KEY", + value || config10.OCO_ANTHROPIC_API_KEY || config10.OCO_AI_PROVIDER.startsWith("ollama") || config10.OCO_AZURE_API_KEY || config10.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - value.startsWith("sk-"), - 'Must start with "sk-"' + value.startsWith("sk-") || config10.OCO_AI_PROVIDER != "openai", + 'Must start with "sk-" for openai provider' ); + return value; + }, + ["OCO_AZURE_API_KEY" /* OCO_AZURE_API_KEY */](value, config10 = {}) { validateConfig( - "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config8["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, - "Must be 51 characters long" + "ANTHROPIC_API_KEY", + value || config10.OCO_OPENAI_API_KEY || config10.OCO_AZURE_API_KEY || config10.OCO_AI_PROVIDER == "ollama" || config10.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" + ); + return value; + }, + ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config10 = {}) { + validateConfig( + "ANTHROPIC_API_KEY", + value || config10.OCO_OPENAI_API_KEY || config10.OCO_AI_PROVIDER == "ollama" || config10.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" ); return value; }, @@ -18741,18 +30757,16 @@ var configValidators = { ); return value; }, - ["OCO_MODEL" /* OCO_MODEL */](value) { + ["OCO_MODEL" /* OCO_MODEL */](value, config10 = {}) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" - ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value) || config10.OCO_AI_PROVIDER == "azure", + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` + ); + validateConfig( + "OCO_MODEL" /* OCO_MODEL */, + typeof value === "string" && value.match(/^[a-zA-Z0-9~\-]{1,63}[a-zA-Z0-9]$/) || config10.OCO_AI_PROVIDER != "azure", + `${value} is not model deployed name.` ); return value; }, @@ -18772,11 +30786,25 @@ var configValidators = { ); return value; }, + ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { + validateConfig( + "OCO_GITPUSH" /* OCO_GITPUSH */, + typeof value === "boolean", + "Must be true or false" + ); + return value; + }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, - ["", "openai", "ollama"].includes(value) || value.startsWith("ollama/"), - `${value} is not supported yet, use 'ollama/{model}', 'ollama' or 'openai' (default)` + [ + "", + "openai", + "anthropic", + "azure", + "test" + ].includes(value) || value.startsWith("ollama"), + `${value} is not supported yet, use 'ollama/{model}', 'azure', 'anthropic' or 'openai' (default)` ); return value; }, @@ -18787,53 +30815,70 @@ var configValidators = { "Must be true or false" ); return value; + }, + ["OCO_AZURE_ENDPOINT" /* OCO_AZURE_ENDPOINT */](value) { + validateConfig( + "OCO_AZURE_ENDPOINT" /* OCO_AZURE_ENDPOINT */, + value.includes("openai.azure.com"), + 'Must be in format "https://<resource name>.openai.azure.com/"' + ); + return value; } }; -var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); -var getConfig = () => { +var defaultConfigPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); +var defaultEnvPath = (0, import_path.resolve)(process.cwd(), ".env"); +var getConfig = ({ + configPath = defaultConfigPath, + envPath = defaultEnvPath +} = {}) => { + dotenv.config({ path: envPath }); const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, + OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, + OCO_AZURE_API_KEY: process.env.OCO_AZURE_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", + OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", - OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false + OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, + OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false, + OCO_AZURE_ENDPOINT: process.env.OCO_AZURE_ENDPOINT || "" }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config8 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config8)) { - if (!config8[configKey] || ["null", "undefined"].includes(config8[configKey])) { - config8[configKey] = void 0; + const config10 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config10)) { + if (["null", "undefined"].includes(config10[configKey])) { + config10[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config8[configKey] ?? configFromEnv[configKey], - config8 + config10[configKey] ?? configFromEnv[configKey], + config10 ); - config8[configKey] = validValue; + config10[configKey] = validValue; } catch (error) { - ce(`Unknown '${configKey}' config option.`); + ce(`Unknown '${configKey}' config option or missing validator.`); ce( `Manually fix the '.env' file or global '~/.opencommit' config file.` ); process.exit(1); } } - return config8; + return config10; }; -var setConfig = (keyValues) => { - const config8 = getConfig() || {}; +var setConfig = (keyValues, configPath = defaultConfigPath) => { + const config10 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -18845,9 +30890,9 @@ var setConfig = (keyValues) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config8[configKey] = validValue; + config10[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config8), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config10), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; var configCommand = G3( @@ -18858,19 +30903,19 @@ var configCommand = G3( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode2, keyValues } = argv._; - if (mode2 === "get" /* get */) { - const config8 = getConfig() || {}; + const { mode: mode4, keyValues } = argv._; + if (mode4 === "get" /* get */) { + const config10 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config8[key]}`); + ce(`${key}=${config10[key]}`); } - } else if (mode2 === "set" /* set */) { + } else if (mode4 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode4}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -18881,7 +30926,7 @@ var configCommand = G3( ); // src/prompts.ts -var import_openai3 = __toESM(require_dist(), 1); +var import_openai4 = __toESM(require_dist(), 1); // src/modules/commitlint/constants.ts var COMMITLINT_LLM_CONFIG_PATH = `${process.env.PWD}/.opencommit-commitlint`; @@ -18904,7 +30949,7 @@ var import_openai = __toESM(require_dist(), 1); var import_types = __toESM(require_lib(), 1); var config2 = getConfig(); var translation = i18n[config2?.OCO_LANGUAGE || "en"]; -var getTypeRuleExtraDescription = (type, prompt) => prompt?.questions?.type?.enum?.[type]?.description; +var getTypeRuleExtraDescription = (type2, prompt) => prompt?.questions?.type?.enum?.[type2]?.description; var llmReadableRules = { blankline: (key, applicable) => `There should ${applicable} be a blank line at the beginning of the ${key}.`, caseRule: (key, applicable, value) => `The ${key} should ${applicable} be in ${Array.isArray(value) ? `one of the following case: @@ -18913,12 +30958,12 @@ var llmReadableRules = { enumRule: (key, applicable, value) => `The ${key} should ${applicable} be one of the following values: - ${Array.isArray(value) ? value.join("\n - ") : value}.`, enumTypeRule: (key, applicable, value, prompt) => `The ${key} should ${applicable} be one of the following values: - - ${Array.isArray(value) ? value.map((v4) => { - const description = getTypeRuleExtraDescription(v4, prompt); + - ${Array.isArray(value) ? value.map((v5) => { + const description = getTypeRuleExtraDescription(v5, prompt); if (description) { - return `${v4} (${description})`; + return `${v5} (${description})`; } else - return v4; + return v5; }).join("\n - ") : value}.`, fullStopRule: (key, applicable, value) => `The ${key} should ${applicable} end with '${value}'.`, maxLengthRule: (key, applicable, value) => `The ${key} should ${applicable} have ${value} characters or less.`, @@ -18971,8 +31016,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config8) => { - const { rules, prompt } = config8; +var inferPromptsFromCommitlintConfig = (config10) => { + const { rules, prompt } = config10; if (!rules) return []; return Object.keys(rules).map( @@ -19078,7 +31123,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e2) { + } catch (e3) { exists = false; } return exists; @@ -19111,11 +31156,11 @@ var kindOf = ((cache) => (thing) => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(/* @__PURE__ */ Object.create(null)); -var kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type; +var kindOfTest = (type2) => { + type2 = type2.toLowerCase(); + return (thing) => kindOf(thing) === type2; }; -var typeOfTest = (type) => (thing) => typeof thing === type; +var typeOfTest = (type2) => (thing) => typeof thing === type2; var { isArray } = Array; var isUndefined = typeOfTest("undefined"); function isBuffer(val) { @@ -19149,8 +31194,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream2 = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - const pattern = "[object FormData]"; - return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); + let kind2; + return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -19158,21 +31203,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i2; - let l; + let i3; + let l3; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; fn.call(null, obj[key], key, obj); } } @@ -19180,10 +31225,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i2 = keys.length; + let i3 = keys.length; let _key; - while (i2-- > 0) { - _key = keys[i2]; + while (i3-- > 0) { + _key = keys[i3]; if (key === _key.toLowerCase()) { return _key; } @@ -19211,20 +31256,20 @@ function merge() { result[targetKey] = val; } }; - for (let i2 = 0, l = arguments.length; i2 < l; i2++) { - arguments[i2] && forEach(arguments[i2], assignValue); + for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + arguments[i3] && forEach(arguments[i3], assignValue); } return result; } -var extend = (a2, b6, thisArg, { allOwnKeys } = {}) => { - forEach(b6, (val, key) => { +var extend = (a4, b7, thisArg, { allOwnKeys } = {}) => { + forEach(b7, (val, key) => { if (thisArg && isFunction(val)) { - a2[key] = bind(val, thisArg); + a4[key] = bind(val, thisArg); } else { - a2[key] = val; + a4[key] = val; } }, { allOwnKeys }); - return a2; + return a4; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -19242,7 +31287,7 @@ var inherits = (constructor, superConstructor, props, descriptors3) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i2; + let i3; let prop; const merged = {}; destObj = destObj || {}; @@ -19250,9 +31295,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i2 = props.length; - while (i2-- > 0) { - prop = props[i2]; + i3 = props.length; + while (i3-- > 0) { + prop = props[i3]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -19276,12 +31321,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i2 = thing.length; - if (!isNumber(i2)) + let i3 = thing.length; + if (!isNumber(i3)) return null; - const arr = new Array(i2); - while (i2-- > 0) { - arr[i2] = thing[i2]; + const arr = new Array(i3); + while (i3-- > 0) { + arr[i3] = thing[i3]; } return arr; }; @@ -19311,7 +31356,7 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m4, p1, p22) { + function replacer(m5, p1, p22) { return p1.toUpperCase() + p22; } ); @@ -19322,8 +31367,9 @@ var reduceDescriptors = (obj, reducer) => { const descriptors3 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors3, (descriptor, name) => { - if (reducer(descriptor, name, obj) !== false) { - reducedDescriptors[name] = descriptor; + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -19350,12 +31396,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define = (arr) => { + const define2 = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -19371,11 +31417,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet; + const { length } = alphabet2; while (size--) { - str += alphabet[Math.random() * length | 0]; + str += alphabet2[Math.random() * length | 0]; } return str; }; @@ -19384,19 +31430,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i2) => { + const visit = (source, i3) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i2] = source; + stack[i3] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i2 + 1); + const reducedValue = visit(value, i3 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i2] = void 0; + stack[i3] = void 0; return target; } } @@ -19404,6 +31450,8 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; +var isAsyncFn = kindOfTest("AsyncFunction"); +var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -19453,11 +31501,13 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject + toJSONObject, + isAsyncFn, + isThenable }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config8, request, response) { +function AxiosError(message, code, config10, request3, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -19467,8 +31517,8 @@ function AxiosError(message, code, config8, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config8 && (this.config = config8); - request && (this.request = request); + config10 && (this.config = config10); + request3 && (this.request = request3); response && (this.response = response); } utils_default.inherits(AxiosError, Error, { @@ -19508,14 +31558,14 @@ var descriptors2 = {}; }); Object.defineProperties(AxiosError, descriptors2); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config8, request, response, customProps) => { +AxiosError.from = (error, code, config10, request3, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config8, request, response); + AxiosError.call(axiosError, error.message, code, config10, request3, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -19537,9 +31587,9 @@ function removeBrackets(key) { function renderKey(path5, key, dots) { if (!path5) return key; - return path5.concat(key).map(function each(token, i2) { + return path5.concat(key).map(function each(token, i3) { token = removeBrackets(token); - return !dots && i2 ? "[" + token + "]" : token; + return !dots && i3 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -19678,9 +31728,9 @@ var AxiosURLSearchParams_default = AxiosURLSearchParams; function encode2(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } -function buildURL(url3, params, options) { +function buildURL(url2, params, options) { if (!params) { - return url3; + return url2; } const _encode = options && options.encode || encode2; const serializeFn = options && options.serialize; @@ -19691,13 +31741,13 @@ function buildURL(url3, params, options) { serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode); } if (serializedParams) { - const hashmarkIndex = url3.indexOf("#"); + const hashmarkIndex = url2.indexOf("#"); if (hashmarkIndex !== -1) { - url3 = url3.slice(0, hashmarkIndex); + url2 = url2.slice(0, hashmarkIndex); } - url3 += (url3.indexOf("?") === -1 ? "?" : "&") + serializedParams; + url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; } - return url3; + return url2; } // node_modules/axios/lib/core/InterceptorManager.js @@ -19756,11 +31806,32 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; +// node_modules/axios/lib/platform/common/utils.js +var utils_exports = {}; +__export(utils_exports, { + hasBrowserEnv: () => hasBrowserEnv, + hasStandardBrowserEnv: () => hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv +}); +var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; +var hasStandardBrowserEnv = ((product) => { + return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; +})(typeof navigator !== "undefined" && navigator.product); +var hasStandardBrowserWebWorkerEnv = (() => { + return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; +})(); + +// node_modules/axios/lib/platform/index.js +var platform_default = { + ...utils_exports, + ...node_default +}; + // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path5, helpers) { - if (node_default.isNode && utils_default.isBuffer(value)) { + if (platform_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -19778,11 +31849,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i2; + let i3; const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; obj[key] = arr[key]; } return obj; @@ -19790,6 +31861,8 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path5, value, target, index) { let name = path5[index++]; + if (name === "__proto__") + return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path5.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -19822,17 +31895,14 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js -var DEFAULT_CONTENT_TYPE = { - "Content-Type": void 0 -}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -19848,11 +31918,8 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - if (!hasJSONContentType) { - return data; - } + const isFormData3 = utils_default.isFormData(data); + if (isFormData3) { return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -19894,12 +31961,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e3.name === "SyntaxError") { + throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e2; + throw e3; } } } @@ -19911,24 +31978,22 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: node_default.classes.FormData, - Blob: node_default.classes.Blob + FormData: platform_default.classes.FormData, + Blob: platform_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*" + "Accept": "application/json, text/plain, */*", + "Content-Type": void 0 } } }; -utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { +utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { defaults.headers[method] = {}; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); -}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -19955,11 +32020,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i2; + let i3; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i2 = line.indexOf(":"); - key = line.substring(0, i2).trim().toLowerCase(); - val = line.substring(i2 + 1).trim(); + i3 = line.indexOf(":"); + key = line.substring(0, i3).trim().toLowerCase(); + val = line.substring(i3 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -19996,9 +32061,7 @@ function parseTokens(str) { } return tokens; } -function isValidHeaderName(str) { - return /^[-_a-zA-Z]+$/.test(str.trim()); -} +var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -20016,7 +32079,7 @@ function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w6, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w7, char, str) => { return char.toUpperCase() + str; }); } @@ -20109,10 +32172,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i2 = keys.length; + let i3 = keys.length; let deleted = false; - while (i2--) { - const key = keys[i2]; + while (i3--) { + const key = keys[i3]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -20184,18 +32247,26 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.freezeMethods(AxiosHeaders.prototype); +utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + }; +}); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config8 = this || defaults_default; - const context = response || config8; + const config10 = this || defaults_default; + const context = response || config10; const headers = AxiosHeaders_default.from(context.headers); let data = context.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config8, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config10, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -20207,8 +32278,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config8, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config8, request); +function CanceledError(message, config10, request3) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config10, request3); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -20233,13 +32304,13 @@ function settle(resolve, reject, response) { } // node_modules/axios/lib/helpers/isAbsoluteURL.js -function isAbsoluteURL(url3) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url3); +function isAbsoluteURL(url2) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); } // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -20259,18 +32330,18 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.3.4"; +var VERSION = "1.6.8"; // node_modules/axios/lib/helpers/parseProtocol.js -function parseProtocol(url3) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url3); +function parseProtocol(url2) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2); return match && match[1] || ""; } // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || node_default.classes.Blob; + const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -20345,11 +32416,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i2 = tail; + let i3 = tail; let bytesCount = 0; - while (i2 !== head) { - bytesCount += bytes[i2++]; - i2 = i2 % samplesCount; + while (i3 !== head) { + bytesCount += bytes[i3++]; + i3 = i3 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -20515,7 +32586,7 @@ var AxiosTransformStream = class extends import_stream2.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = __toESM(require("events"), 1); +var import_events = require("events"); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -20544,9 +32615,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName } = this.constructor; + const { escapeName: escapeName2 } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -20637,6 +32708,21 @@ var ZlibHeaderTransformStream = class extends import_stream4.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; +// node_modules/axios/lib/helpers/callbackify.js +var callbackify = (fn, reducer) => { + return utils_default.isAsyncFn(fn) ? function(...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +}; +var callbackify_default = callbackify; + // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -20649,15 +32735,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = node_default.protocols.map((protocol) => { +var supportedProtocols = platform_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options) { +function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options); + options.beforeRedirects.config(options, responseDetails); } } function setProxy(options, configProxy, location) { @@ -20715,21 +32801,43 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var http_default = isHttpAdapterSupported && function httpAdapter(config8) { +var resolveFamily = ({ address, family }) => { + if (!utils_default.isString(address)) { + throw TypeError("address must be a string"); + } + return { + address, + family: family || (address.indexOf(".") < 0 ? 6 : 4) + }; +}; +var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); +var http_default = isHttpAdapterSupported && function httpAdapter(config10) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data } = config8; - const { responseType, responseEncoding } = config8; - const method = config8.method.toUpperCase(); + let { data, lookup, family } = config10; + const { responseType, responseEncoding } = config10; + const method = config10.method.toUpperCase(); let isDone; let rejected = false; let req; - const emitter = new import_events.default(); + if (lookup) { + const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + const emitter = new import_events.EventEmitter(); const onFinished = () => { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(abort); + if (config10.cancelToken) { + config10.cancelToken.unsubscribe(abort); } - if (config8.signal) { - config8.signal.removeEventListener("abort", abort); + if (config10.signal) { + config10.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -20741,16 +32849,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config8, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config10, req) : reason); } emitter.once("abort", reject); - if (config8.cancelToken || config8.signal) { - config8.cancelToken && config8.cancelToken.subscribe(abort); - if (config8.signal) { - config8.signal.aborted ? abort() : config8.signal.addEventListener("abort", abort); + if (config10.cancelToken || config10.signal) { + config10.cancelToken && config10.cancelToken.subscribe(abort); + if (config10.signal) { + config10.signal.aborted ? abort() : config10.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config8.baseURL, config8.url); + const fullPath = buildFullPath(config10.baseURL, config10.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -20760,15 +32868,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 405, statusText: "method not allowed", headers: {}, - config: config8 + config: config10 }); } try { - convertedData = fromDataURI(config8.url, responseType === "blob", { - Blob: config8.env && config8.env.Blob + convertedData = fromDataURI(config10.url, responseType === "blob", { + Blob: config10.env && config10.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config8); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config10); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -20783,21 +32891,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config8 + config: config10 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config8 + config10 )); } - const headers = AxiosHeaders_default.from(config8.headers).normalize(); + const headers = AxiosHeaders_default.from(config10.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config8.onDownloadProgress; - const onUploadProgress = config8.onUploadProgress; - const maxRate = config8.maxRate; + const onDownloadProgress = config10.onDownloadProgress; + const onUploadProgress = config10.onUploadProgress; + const maxRate = config10.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -20814,7 +32922,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e2) { + } catch (e3) { } } } else if (utils_default.isBlob(data)) { @@ -20831,15 +32939,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config8 + config10 )); } headers.setContentLength(data.length, false); - if (config8.maxBodyLength > -1 && data.length > config8.maxBodyLength) { + if (config10.maxBodyLength > -1 && data.length > config10.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config8 + config10 )); } } @@ -20865,9 +32973,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); } let auth = void 0; - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password || ""; + if (config10.auth) { + const username = config10.auth.username || ""; + const password = config10.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -20880,13 +32988,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { try { path5 = buildURL( parsed.pathname + parsed.search, - config8.params, - config8.paramsSerializer + config10.params, + config10.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config8; - customErr.url = config8.url; + customErr.config = config10; + customErr.url = config10.url; customErr.exists = true; return reject(customErr); } @@ -20899,42 +33007,44 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { path: path5, method, headers: headers.toJSON(), - agents: { http: config8.httpAgent, https: config8.httpsAgent }, + agents: { http: config10.httpAgent, https: config10.httpsAgent }, auth, protocol, + family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - if (config8.socketPath) { - options.socketPath = config8.socketPath; + !utils_default.isUndefined(lookup) && (options.lookup = lookup); + if (config10.socketPath) { + options.socketPath = config10.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config8.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config10.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config8.httpsAgent : config8.httpAgent; - if (config8.transport) { - transport = config8.transport; - } else if (config8.maxRedirects === 0) { + options.agent = isHttpsRequest ? config10.httpsAgent : config10.httpAgent; + if (config10.transport) { + transport = config10.transport; + } else if (config10.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config8.maxRedirects) { - options.maxRedirects = config8.maxRedirects; + if (config10.maxRedirects) { + options.maxRedirects = config10.maxRedirects; } - if (config8.beforeRedirect) { - options.beforeRedirects.config = config8.beforeRedirect; + if (config10.beforeRedirect) { + options.beforeRedirects.config = config10.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config8.maxBodyLength > -1) { - options.maxBodyLength = config8.maxBodyLength; + if (config10.maxBodyLength > -1) { + options.maxBodyLength = config10.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config8.insecureHTTPParser) { - options.insecureHTTPParser = config8.insecureHTTPParser; + if (config10.insecureHTTPParser) { + options.insecureHTTPParser = config10.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -20955,11 +33065,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } let responseStream = res; const lastRequest = res.req || req; - if (config8.decompress !== false && res.headers["content-encoding"]) { + if (config10.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch (res.headers["content-encoding"]) { + switch ((res.headers["content-encoding"] || "").toLowerCase()) { case "gzip": case "x-gzip": case "compress": @@ -20988,7 +33098,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config8, + config: config10, request: lastRequest }; if (responseType === "stream") { @@ -21000,13 +33110,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config8.maxContentLength > -1 && totalResponseBytes > config8.maxContentLength) { + if (config10.maxContentLength > -1 && totalResponseBytes > config10.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config10.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config10, lastRequest )); } @@ -21016,9 +33126,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config8.maxContentLength + " exceeded", + "maxContentLength size of " + config10.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config8, + config10, lastRequest ); responseStream.destroy(err); @@ -21027,7 +33137,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config8, lastRequest)); + reject(AxiosError_default.from(err, null, config10, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -21040,7 +33150,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { } response.data = responseData; } catch (err) { - reject(AxiosError_default.from(err, null, config8, response.request, response)); + return reject(AxiosError_default.from(err, null, config10, response.request, response)); } settle(resolve, reject, response); }); @@ -21057,18 +33167,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config8, req)); + reject(AxiosError_default.from(err, null, config10, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config8.timeout) { - const timeout = parseInt(config8.timeout, 10); - if (isNaN(timeout)) { + if (config10.timeout) { + const timeout = parseInt(config10.timeout, 10); + if (Number.isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config8, + config10, req )); return; @@ -21076,15 +33186,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + let timeoutErrorMessage = config10.timeout ? "timeout of " + config10.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config10.transitional || transitional_default; + if (config10.timeoutErrorMessage) { + timeoutErrorMessage = config10.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, + config10, req )); abort(); @@ -21102,7 +33212,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config8, req)); + abort(new CanceledError_default("Request stream has been aborted", config10, req)); } }); data.pipe(req); @@ -21113,52 +33223,39 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config8) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { - return { - write: function write(name, value, expires, path5, domain, secure) { - const cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - if (utils_default.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - if (utils_default.isString(path5)) { - cookie.push("path=" + path5); - } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); - } - if (secure === true) { - cookie.push("secure"); - } - document.cookie = cookie.join("; "); - }, - read: function read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, "", Date.now() - 864e5); - } - }; -}() : function nonStandardBrowserEnv() { - return { - write: function write() { - }, - read: function read() { - return null; - }, - remove: function remove() { - } - }; -}(); +var cookies_default = platform_default.hasStandardBrowserEnv ? { + write(name, value, expires, path5, domain, secure) { + const cookie = [name + "=" + encodeURIComponent(value)]; + utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); + utils_default.isString(path5) && cookie.push("path=" + path5); + utils_default.isString(domain) && cookie.push("domain=" + domain); + secure === true && cookie.push("secure"); + document.cookie = cookie.join("; "); + }, + read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove(name) { + this.write(name, "", Date.now() - 864e5); + } +} : { + write() { + }, + read() { + return null; + }, + remove() { + } +}; // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { +var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; - function resolveURL(url3) { - let href = url3; + function resolveURL(url2) { + let href = url2; if (msie) { urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; @@ -21180,7 +33277,7 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv2() { +}() : function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; @@ -21190,9 +33287,9 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e2) => { - const loaded = e2.loaded; - const total = e2.lengthComputable ? e2.total : void 0; + return (e3) => { + const loaded = e3.loaded; + const total = e3.lengthComputable ? e3.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -21204,54 +33301,60 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e2 + event: e3 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config8) { +var xhr_default = isXHRAdapterSupported && function(config10) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config8.data; - const requestHeaders = AxiosHeaders_default.from(config8.headers).normalize(); - const responseType = config8.responseType; + let requestData = config10.data; + const requestHeaders = AxiosHeaders_default.from(config10.headers).normalize(); + let { responseType, withXSRFToken } = config10; let onCanceled; function done() { - if (config8.cancelToken) { - config8.cancelToken.unsubscribe(onCanceled); + if (config10.cancelToken) { + config10.cancelToken.unsubscribe(onCanceled); } - if (config8.signal) { - config8.signal.removeEventListener("abort", onCanceled); + if (config10.signal) { + config10.signal.removeEventListener("abort", onCanceled); } } - if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { - requestHeaders.setContentType(false); + let contentType; + if (utils_default.isFormData(requestData)) { + if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { + requestHeaders.setContentType(false); + } else if ((contentType = requestHeaders.getContentType()) !== false) { + const [type2, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; + requestHeaders.setContentType([type2 || "multipart/form-data", ...tokens].join("; ")); + } } - let request = new XMLHttpRequest(); - if (config8.auth) { - const username = config8.auth.username || ""; - const password = config8.auth.password ? unescape(encodeURIComponent(config8.auth.password)) : ""; + let request3 = new XMLHttpRequest(); + if (config10.auth) { + const username = config10.auth.username || ""; + const password = config10.auth.password ? unescape(encodeURIComponent(config10.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config8.baseURL, config8.url); - request.open(config8.method.toUpperCase(), buildURL(fullPath, config8.params, config8.paramsSerializer), true); - request.timeout = config8.timeout; + const fullPath = buildFullPath(config10.baseURL, config10.url); + request3.open(config10.method.toUpperCase(), buildURL(fullPath, config10.params, config10.paramsSerializer), true); + request3.timeout = config10.timeout; function onloadend() { - if (!request) { + if (!request3) { return; } const responseHeaders = AxiosHeaders_default.from( - "getAllResponseHeaders" in request && request.getAllResponseHeaders() + "getAllResponseHeaders" in request3 && request3.getAllResponseHeaders() ); - const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; + const responseData = !responseType || responseType === "text" || responseType === "json" ? request3.responseText : request3.response; const response = { data: responseData, - status: request.status, - statusText: request.statusText, + status: request3.status, + statusText: request3.statusText, headers: responseHeaders, - config: config8, - request + config: config10, + request: request3 }; settle(function _resolve(value) { resolve(value); @@ -21260,90 +33363,93 @@ var xhr_default = isXHRAdapterSupported && function(config8) { reject(err); done(); }, response); - request = null; + request3 = null; } - if ("onloadend" in request) { - request.onloadend = onloadend; + if ("onloadend" in request3) { + request3.onloadend = onloadend; } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + request3.onreadystatechange = function handleLoad() { + if (!request3 || request3.readyState !== 4) { return; } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { + if (request3.status === 0 && !(request3.responseURL && request3.responseURL.indexOf("file:") === 0)) { return; } setTimeout(onloadend); }; } - request.onabort = function handleAbort() { - if (!request) { + request3.onabort = function handleAbort() { + if (!request3) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config8, request)); - request = null; + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config10, request3)); + request3 = null; }; - request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config8, request)); - request = null; + request3.onerror = function handleError() { + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config10, request3)); + request3 = null; }; - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config8.timeout ? "timeout of " + config8.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config8.transitional || transitional_default; - if (config8.timeoutErrorMessage) { - timeoutErrorMessage = config8.timeoutErrorMessage; + request3.ontimeout = function handleTimeout() { + let timeoutErrorMessage = config10.timeout ? "timeout of " + config10.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config10.transitional || transitional_default; + if (config10.timeoutErrorMessage) { + timeoutErrorMessage = config10.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config8, - request + config10, + request3 )); - request = null; + request3 = null; }; - if (node_default.isStandardBrowserEnv) { - const xsrfValue = (config8.withCredentials || isURLSameOrigin_default(fullPath)) && config8.xsrfCookieName && cookies_default.read(config8.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config8.xsrfHeaderName, xsrfValue); + if (platform_default.hasStandardBrowserEnv) { + withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config10)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { + const xsrfValue = config10.xsrfHeaderName && config10.xsrfCookieName && cookies_default.read(config10.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config10.xsrfHeaderName, xsrfValue); + } } } requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request) { + if ("setRequestHeader" in request3) { utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); + request3.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config8.withCredentials)) { - request.withCredentials = !!config8.withCredentials; + if (!utils_default.isUndefined(config10.withCredentials)) { + request3.withCredentials = !!config10.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config8.responseType; + request3.responseType = config10.responseType; } - if (typeof config8.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config8.onDownloadProgress, true)); + if (typeof config10.onDownloadProgress === "function") { + request3.addEventListener("progress", progressEventReducer(config10.onDownloadProgress, true)); } - if (typeof config8.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config8.onUploadProgress)); + if (typeof config10.onUploadProgress === "function" && request3.upload) { + request3.upload.addEventListener("progress", progressEventReducer(config10.onUploadProgress)); } - if (config8.cancelToken || config8.signal) { + if (config10.cancelToken || config10.signal) { onCanceled = (cancel) => { - if (!request) { + if (!request3) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config8, request) : cancel); - request.abort(); - request = null; + reject(!cancel || cancel.type ? new CanceledError_default(null, config10, request3) : cancel); + request3.abort(); + request3 = null; }; - config8.cancelToken && config8.cancelToken.subscribe(onCanceled); - if (config8.signal) { - config8.signal.aborted ? onCanceled() : config8.signal.addEventListener("abort", onCanceled); + config10.cancelToken && config10.cancelToken.subscribe(onCanceled); + if (config10.signal) { + config10.signal.aborted ? onCanceled() : config10.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && node_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config8)); + if (protocol && platform_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config10)); return; } - request.send(requestData || null); + request3.send(requestData || null); }); }; @@ -21356,36 +33462,44 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e2) { + } catch (e3) { } Object.defineProperty(fn, "adapterName", { value }); } }); +var renderReason = (reason) => `- ${reason}`; +var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - for (let i2 = 0; i2 < length; i2++) { - nameOrAdapter = adapters[i2]; - if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { + const rejectedReasons = {}; + for (let i3 = 0; i3 < length; i3++) { + nameOrAdapter = adapters[i3]; + let id; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === void 0) { + throw new AxiosError_default(`Unknown adapter '${id}'`); + } + } + if (adapter) { break; } + rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - if (adapter === false) { - throw new AxiosError_default( - `Adapter ${nameOrAdapter} is not supported by the environment`, - "ERR_NOT_SUPPORT" - ); - } - throw new Error( - utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` + const reasons = Object.entries(rejectedReasons).map( + ([id, state2]) => `adapter ${id} ` + (state2 === false ? "is not supported by the environment" : "is not available in the build") + ); + let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; + throw new AxiosError_default( + `There is no suitable adapter to dispatch the request ` + s2, + "ERR_NOT_SUPPORT" ); - } - if (!utils_default.isFunction(adapter)) { - throw new TypeError("adapter is not a function"); } return adapter; }, @@ -21393,41 +33507,41 @@ var adapters_default = { }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config8) { - if (config8.cancelToken) { - config8.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config10) { + if (config10.cancelToken) { + config10.cancelToken.throwIfRequested(); } - if (config8.signal && config8.signal.aborted) { - throw new CanceledError_default(null, config8); + if (config10.signal && config10.signal.aborted) { + throw new CanceledError_default(null, config10); } } -function dispatchRequest(config8) { - throwIfCancellationRequested(config8); - config8.headers = AxiosHeaders_default.from(config8.headers); - config8.data = transformData.call( - config8, - config8.transformRequest +function dispatchRequest(config10) { + throwIfCancellationRequested(config10); + config10.headers = AxiosHeaders_default.from(config10.headers); + config10.data = transformData.call( + config10, + config10.transformRequest ); - if (["post", "put", "patch"].indexOf(config8.method) !== -1) { - config8.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config10.method) !== -1) { + config10.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config8.adapter || defaults_default.adapter); - return adapter(config8).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config8); + const adapter = adapters_default.getAdapter(config10.adapter || defaults_default.adapter); + return adapter(config10).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config10); response.data = transformData.call( - config8, - config8.transformResponse, + config10, + config10.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config8); + throwIfCancellationRequested(config10); if (reason && reason.response) { reason.response.data = transformData.call( - config8, - config8.transformResponse, + config10, + config10.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -21438,10 +33552,10 @@ function dispatchRequest(config8) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config8 = {}; + const config10 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -21452,30 +33566,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a2, b6, caseless) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(a2, b6, caseless); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2, caseless); + function mergeDeepProperties(a4, b7, caseless) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(a4, b7, caseless); + } else if (!utils_default.isUndefined(a4)) { + return getMergedValue(void 0, a4, caseless); } } - function valueFromConfig2(a2, b6) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(void 0, b6); + function valueFromConfig2(a4, b7) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(void 0, b7); } } - function defaultToConfig2(a2, b6) { - if (!utils_default.isUndefined(b6)) { - return getMergedValue(void 0, b6); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2); + function defaultToConfig2(a4, b7) { + if (!utils_default.isUndefined(b7)) { + return getMergedValue(void 0, b7); + } else if (!utils_default.isUndefined(a4)) { + return getMergedValue(void 0, a4); } } - function mergeDirectKeys(a2, b6, prop) { + function mergeDirectKeys(a4, b7, prop) { if (prop in config22) { - return getMergedValue(a2, b6); + return getMergedValue(a4, b7); } else if (prop in config1) { - return getMergedValue(void 0, a2); + return getMergedValue(void 0, a4); } } const mergeMap = { @@ -21489,6 +33603,7 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -21506,21 +33621,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a2, b6) => mergeDeepProperties(headersToObject(a2), headersToObject(b6), true) + headers: (a4, b7) => mergeDeepProperties(headersToObject(a4), headersToObject(b7), true) }; - utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config8[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config10[prop] = configValue); }); - return config8; + return config10; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { - validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; +["object", "boolean", "number", "function", "string", "symbol"].forEach((type2, i3) => { + validators[type2] = function validator(thing) { + return typeof thing === type2 || "a" + (i3 < 1 ? "n " : " ") + type2; }; }); var deprecatedWarnings = {}; @@ -21552,9 +33667,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i2 = keys.length; - while (i2-- > 0) { - const opt = keys[i2]; + let i3 = keys.length; + while (i3-- > 0) { + const opt = keys[i3]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -21584,15 +33699,32 @@ var Axios = class { response: new InterceptorManager_default() }; } - request(configOrUrl, config8) { - if (typeof configOrUrl === "string") { - config8 = config8 || {}; - config8.url = configOrUrl; - } else { - config8 = configOrUrl || {}; + async request(configOrUrl, config10) { + try { + return await this._request(configOrUrl, config10); + } catch (err) { + if (err instanceof Error) { + let dummy; + Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; + if (!err.stack) { + err.stack = stack; + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { + err.stack += "\n" + stack; + } + } + throw err; } - config8 = mergeConfig(this.defaults, config8); - const { transitional: transitional2, paramsSerializer, headers } = config8; + } + _request(configOrUrl, config10) { + if (typeof configOrUrl === "string") { + config10 = config10 || {}; + config10.url = configOrUrl; + } else { + config10 = configOrUrl || {}; + } + config10 = mergeConfig(this.defaults, config10); + const { transitional: transitional2, paramsSerializer, headers } = config10; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -21600,29 +33732,34 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer !== void 0) { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); + if (paramsSerializer != null) { + if (utils_default.isFunction(paramsSerializer)) { + config10.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); + } } - config8.method = (config8.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders; - contextHeaders = headers && utils_default.merge( + config10.method = (config10.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders = headers && utils_default.merge( headers.common, - headers[config8.method] + headers[config10.method] ); - contextHeaders && utils_default.forEach( + headers && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config8.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config10.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config8) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config10) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -21633,25 +33770,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i2 = 0; + let i3 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config8); - while (i2 < len) { - promise = promise.then(chain[i2++], chain[i2++]); + promise = Promise.resolve(config10); + while (i3 < len) { + promise = promise.then(chain[i3++], chain[i3++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config8; - i2 = 0; - while (i2 < len) { - const onFulfilled = requestInterceptorChain[i2++]; - const onRejected = requestInterceptorChain[i2++]; + let newConfig = config10; + i3 = 0; + while (i3 < len) { + const onFulfilled = requestInterceptorChain[i3++]; + const onRejected = requestInterceptorChain[i3++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -21664,37 +33801,37 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i2 = 0; + i3 = 0; len = responseInterceptorChain.length; - while (i2 < len) { - promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); + while (i3 < len) { + promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); } return promise; } - getUri(config8) { - config8 = mergeConfig(this.defaults, config8); - const fullPath = buildFullPath(config8.baseURL, config8.url); - return buildURL(fullPath, config8.params, config8.paramsSerializer); + getUri(config10) { + config10 = mergeConfig(this.defaults, config10); + const fullPath = buildFullPath(config10.baseURL, config10.url); + return buildURL(fullPath, config10.params, config10.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url3, config8) { - return this.request(mergeConfig(config8 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { + Axios.prototype[method] = function(url2, config10) { + return this.request(mergeConfig(config10 || {}, { method, - url: url3, - data: (config8 || {}).data + url: url2, + data: (config10 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url3, data, config8) { - return this.request(mergeConfig(config8 || {}, { + return function httpMethod(url2, data, config10) { + return this.request(mergeConfig(config10 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" } : {}, - url: url3, + url: url2, data })); }; @@ -21718,9 +33855,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i2 = token._listeners.length; - while (i2-- > 0) { - token._listeners[i2](cancel); + let i3 = token._listeners.length; + while (i3-- > 0) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -21735,11 +33872,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config8, request) { + executor(function cancel(message, config10, request3) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config8, request); + token.reason = new CanceledError_default(message, config10, request3); resolvePromise(token.reason); }); } @@ -21892,6 +34029,7 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -21912,6 +34050,7 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, + getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -21941,8 +34080,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; -if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { +var provider = config3?.OCO_AI_PROVIDER; +if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" @@ -21953,6 +34092,14 @@ if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; +if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( + ", " + )}` + ); + process.exit(1); +} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -21973,7 +34120,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b6) => a2 + b6, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -22006,7 +34153,7 @@ var OllamaAi = class { } async generateCommitMessage(messages) { const model = this.model; - const url3 = "http://localhost:11434/api/chat"; + const url2 = "http://localhost:11434/api/chat"; const p4 = { model, messages, @@ -22014,7 +34161,7 @@ var OllamaAi = class { stream: false }; try { - const response = await axios_default.post(url3, p4, { + const response = await axios_default.post(url2, p4, { headers: { "Content-Type": "application/json" } @@ -22029,23 +34176,5908 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// node_modules/@azure/core-auth/dist/esm/azureKeyCredential.js +var AzureKeyCredential = class { + get key() { + return this._key; + } + constructor(key) { + if (!key) { + throw new Error("key must be a non-empty string"); + } + this._key = key; + } + update(newKey) { + this._key = newKey; + } +}; + +// node_modules/@azure/abort-controller/dist/esm/AbortError.js +var AbortError = class extends Error { + constructor(message) { + super(message); + this.name = "AbortError"; + } +}; + +// node_modules/@azure/core-util/dist/esm/random.js +function getRandomIntegerInclusive(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + const offset = Math.floor(Math.random() * (max - min + 1)); + return offset + min; +} + +// node_modules/@azure/core-util/dist/esm/object.js +function isObject2(input) { + return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date); +} + +// node_modules/@azure/core-util/dist/esm/error.js +function isError(e3) { + if (isObject2(e3)) { + const hasName = typeof e3.name === "string"; + const hasMessage = typeof e3.message === "string"; + return hasName && hasMessage; + } + return false; +} +function getErrorMessage(e3) { + if (isError(e3)) { + return e3.message; + } else { + let stringified; + try { + if (typeof e3 === "object" && e3) { + stringified = JSON.stringify(e3); + } else { + stringified = String(e3); + } + } catch (err) { + stringified = "[unable to stringify input]"; + } + return `Unknown error ${stringified}`; + } +} + +// node_modules/@azure/core-util/dist/esm/uuidUtils.js +var import_crypto2 = require("crypto"); +var _a; +var uuidFunction = typeof ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) === "function" ? globalThis.crypto.randomUUID.bind(globalThis.crypto) : import_crypto2.randomUUID; +function randomUUID() { + return uuidFunction(); +} + +// node_modules/@azure/core-util/dist/esm/checkEnvironment.js +var _a2; +var _b; +var _c; +var _d; +var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined"; +var isWebWorker = typeof self === "object" && typeof (self === null || self === void 0 ? void 0 : self.importScripts) === "function" && (((_a2 = self.constructor) === null || _a2 === void 0 ? void 0 : _a2.name) === "DedicatedWorkerGlobalScope" || ((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === "ServiceWorkerGlobalScope" || ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === "SharedWorkerGlobalScope"); +var isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined"; +var isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined"; +var isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean((_d = globalThis.process.versions) === null || _d === void 0 ? void 0 : _d.node); +var isNode = isNodeLike; +var isReactNative = typeof navigator !== "undefined" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === "ReactNative"; + +// node_modules/@azure/core-util/dist/esm/bytesEncoding.js +function stringToUint8Array(value, format) { + return Buffer.from(value, format); +} + +// node_modules/@azure/core-auth/dist/esm/tokenCredential.js +function isTokenCredential(credential) { + const castCredential = credential; + return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0); +} + +// node_modules/tslib/modules/index.js +var import_tslib = __toESM(require_tslib(), 1); +var { + __extends, + __assign, + __rest, + __decorate, + __param, + __esDecorate, + __runInitializers, + __propKey, + __setFunctionName, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources +} = import_tslib.default; + +// node_modules/@azure/core-rest-pipeline/dist/esm/pipeline.js +var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]); +var HttpPipeline = class { + constructor(policies) { + var _a4; + this._policies = []; + this._policies = (_a4 = policies === null || policies === void 0 ? void 0 : policies.slice(0)) !== null && _a4 !== void 0 ? _a4 : []; + this._orderedPolicies = void 0; + } + addPolicy(policy, options = {}) { + if (options.phase && options.afterPhase) { + throw new Error("Policies inside a phase cannot specify afterPhase."); + } + if (options.phase && !ValidPhaseNames.has(options.phase)) { + throw new Error(`Invalid phase name: ${options.phase}`); + } + if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) { + throw new Error(`Invalid afterPhase name: ${options.afterPhase}`); + } + this._policies.push({ + policy, + options + }); + this._orderedPolicies = void 0; + } + removePolicy(options) { + const removedPolicies = []; + this._policies = this._policies.filter((policyDescriptor) => { + if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) { + removedPolicies.push(policyDescriptor.policy); + return false; + } else { + return true; + } + }); + this._orderedPolicies = void 0; + return removedPolicies; + } + sendRequest(httpClient, request3) { + const policies = this.getOrderedPolicies(); + const pipeline = policies.reduceRight((next, policy) => { + return (req) => { + return policy.sendRequest(req, next); + }; + }, (req) => httpClient.sendRequest(req)); + return pipeline(request3); + } + getOrderedPolicies() { + if (!this._orderedPolicies) { + this._orderedPolicies = this.orderPolicies(); + } + return this._orderedPolicies; + } + clone() { + return new HttpPipeline(this._policies); + } + static create() { + return new HttpPipeline(); + } + orderPolicies() { + const result = []; + const policyMap = /* @__PURE__ */ new Map(); + function createPhase(name) { + return { + name, + policies: /* @__PURE__ */ new Set(), + hasRun: false, + hasAfterPolicies: false + }; + } + const serializePhase = createPhase("Serialize"); + const noPhase = createPhase("None"); + const deserializePhase = createPhase("Deserialize"); + const retryPhase = createPhase("Retry"); + const signPhase = createPhase("Sign"); + const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase]; + function getPhase(phase) { + if (phase === "Retry") { + return retryPhase; + } else if (phase === "Serialize") { + return serializePhase; + } else if (phase === "Deserialize") { + return deserializePhase; + } else if (phase === "Sign") { + return signPhase; + } else { + return noPhase; + } + } + for (const descriptor of this._policies) { + const policy = descriptor.policy; + const options = descriptor.options; + const policyName = policy.name; + if (policyMap.has(policyName)) { + throw new Error("Duplicate policy names not allowed in pipeline"); + } + const node = { + policy, + dependsOn: /* @__PURE__ */ new Set(), + dependants: /* @__PURE__ */ new Set() + }; + if (options.afterPhase) { + node.afterPhase = getPhase(options.afterPhase); + node.afterPhase.hasAfterPolicies = true; + } + policyMap.set(policyName, node); + const phase = getPhase(options.phase); + phase.policies.add(node); + } + for (const descriptor of this._policies) { + const { policy, options } = descriptor; + const policyName = policy.name; + const node = policyMap.get(policyName); + if (!node) { + throw new Error(`Missing node for policy ${policyName}`); + } + if (options.afterPolicies) { + for (const afterPolicyName of options.afterPolicies) { + const afterNode = policyMap.get(afterPolicyName); + if (afterNode) { + node.dependsOn.add(afterNode); + afterNode.dependants.add(node); + } + } + } + if (options.beforePolicies) { + for (const beforePolicyName of options.beforePolicies) { + const beforeNode = policyMap.get(beforePolicyName); + if (beforeNode) { + beforeNode.dependsOn.add(node); + node.dependants.add(beforeNode); + } + } + } + } + function walkPhase(phase) { + phase.hasRun = true; + for (const node of phase.policies) { + if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) { + continue; + } + if (node.dependsOn.size === 0) { + result.push(node.policy); + for (const dependant of node.dependants) { + dependant.dependsOn.delete(node); + } + policyMap.delete(node.policy.name); + phase.policies.delete(node); + } + } + } + function walkPhases() { + for (const phase of orderedPhases) { + walkPhase(phase); + if (phase.policies.size > 0 && phase !== noPhase) { + if (!noPhase.hasRun) { + walkPhase(noPhase); + } + return; + } + if (phase.hasAfterPolicies) { + walkPhase(noPhase); + } + } + } + let iteration = 0; + while (policyMap.size > 0) { + iteration++; + const initialResultLength = result.length; + walkPhases(); + if (result.length <= initialResultLength && iteration > 1) { + throw new Error("Cannot satisfy policy dependencies due to requirements cycle."); + } + } + return result; + } +}; +function createEmptyPipeline() { + return HttpPipeline.create(); +} + +// node_modules/@azure/logger/dist/esm/log.js +var import_node_os5 = require("node:os"); +var import_node_util2 = __toESM(require("node:util"), 1); +var process7 = __toESM(require("node:process"), 1); +function log(message, ...args) { + process7.stderr.write(`${import_node_util2.default.format(message, ...args)}${import_node_os5.EOL}`); +} + +// node_modules/@azure/logger/dist/esm/debug.js +var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0; +var enabledString; +var enabledNamespaces = []; +var skippedNamespaces = []; +var debuggers = []; +if (debugEnvVariable) { + enable(debugEnvVariable); +} +var debugObj = Object.assign((namespace) => { + return createDebugger(namespace); +}, { + enable, + enabled, + disable, + log +}); +function enable(namespaces) { + enabledString = namespaces; + enabledNamespaces = []; + skippedNamespaces = []; + const wildcard = /\*/g; + const namespaceList = namespaces.split(",").map((ns) => ns.trim().replace(wildcard, ".*?")); + for (const ns of namespaceList) { + if (ns.startsWith("-")) { + skippedNamespaces.push(new RegExp(`^${ns.substr(1)}$`)); + } else { + enabledNamespaces.push(new RegExp(`^${ns}$`)); + } + } + for (const instance of debuggers) { + instance.enabled = enabled(instance.namespace); + } +} +function enabled(namespace) { + if (namespace.endsWith("*")) { + return true; + } + for (const skipped of skippedNamespaces) { + if (skipped.test(namespace)) { + return false; + } + } + for (const enabledNamespace of enabledNamespaces) { + if (enabledNamespace.test(namespace)) { + return true; + } + } + return false; +} +function disable() { + const result = enabledString || ""; + enable(""); + return result; +} +function createDebugger(namespace) { + const newDebugger = Object.assign(debug2, { + enabled: enabled(namespace), + destroy, + log: debugObj.log, + namespace, + extend: extend2 + }); + function debug2(...args) { + if (!newDebugger.enabled) { + return; + } + if (args.length > 0) { + args[0] = `${namespace} ${args[0]}`; + } + newDebugger.log(...args); + } + debuggers.push(newDebugger); + return newDebugger; +} +function destroy() { + const index = debuggers.indexOf(this); + if (index >= 0) { + debuggers.splice(index, 1); + return true; + } + return false; +} +function extend2(namespace) { + const newDebugger = createDebugger(`${this.namespace}:${namespace}`); + newDebugger.log = this.log; + return newDebugger; +} +var debug_default = debugObj; + +// node_modules/@azure/logger/dist/esm/index.js +var registeredLoggers = /* @__PURE__ */ new Set(); +var logLevelFromEnv = typeof process !== "undefined" && process.env && process.env.AZURE_LOG_LEVEL || void 0; +var azureLogLevel; +var AzureLogger = debug_default("azure"); +AzureLogger.log = (...args) => { + debug_default.log(...args); +}; +var AZURE_LOG_LEVELS = ["verbose", "info", "warning", "error"]; +if (logLevelFromEnv) { + if (isAzureLogLevel(logLevelFromEnv)) { + setLogLevel(logLevelFromEnv); + } else { + console.error(`AZURE_LOG_LEVEL set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${AZURE_LOG_LEVELS.join(", ")}.`); + } +} +function setLogLevel(level) { + if (level && !isAzureLogLevel(level)) { + throw new Error(`Unknown log level '${level}'. Acceptable values: ${AZURE_LOG_LEVELS.join(",")}`); + } + azureLogLevel = level; + const enabledNamespaces2 = []; + for (const logger3 of registeredLoggers) { + if (shouldEnable(logger3)) { + enabledNamespaces2.push(logger3.namespace); + } + } + debug_default.enable(enabledNamespaces2.join(",")); +} +var levelMap = { + verbose: 400, + info: 300, + warning: 200, + error: 100 +}; +function createClientLogger(namespace) { + const clientRootLogger = AzureLogger.extend(namespace); + patchLogMethod(AzureLogger, clientRootLogger); + return { + error: createLogger(clientRootLogger, "error"), + warning: createLogger(clientRootLogger, "warning"), + info: createLogger(clientRootLogger, "info"), + verbose: createLogger(clientRootLogger, "verbose") + }; +} +function patchLogMethod(parent, child) { + child.log = (...args) => { + parent.log(...args); + }; +} +function createLogger(parent, level) { + const logger3 = Object.assign(parent.extend(level), { + level + }); + patchLogMethod(parent, logger3); + if (shouldEnable(logger3)) { + const enabledNamespaces2 = debug_default.disable(); + debug_default.enable(enabledNamespaces2 + "," + logger3.namespace); + } + registeredLoggers.add(logger3); + return logger3; +} +function shouldEnable(logger3) { + return Boolean(azureLogLevel && levelMap[logger3.level] <= levelMap[azureLogLevel]); +} +function isAzureLogLevel(logLevel) { + return AZURE_LOG_LEVELS.includes(logLevel); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/log.js +var logger = createClientLogger("core-rest-pipeline"); + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/sanitizer.js +var RedactedString = "REDACTED"; +var defaultAllowedHeaderNames = [ + "x-ms-client-request-id", + "x-ms-return-client-request-id", + "x-ms-useragent", + "x-ms-correlation-request-id", + "x-ms-request-id", + "client-request-id", + "ms-cv", + "return-client-request-id", + "traceparent", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Origin", + "Accept", + "Accept-Encoding", + "Cache-Control", + "Connection", + "Content-Length", + "Content-Type", + "Date", + "ETag", + "Expires", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Unmodified-Since", + "Last-Modified", + "Pragma", + "Request-Id", + "Retry-After", + "Server", + "Transfer-Encoding", + "User-Agent", + "WWW-Authenticate" +]; +var defaultAllowedQueryParameters = ["api-version"]; +var Sanitizer = class { + constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) { + allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames); + allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters); + this.allowedHeaderNames = new Set(allowedHeaderNames.map((n2) => n2.toLowerCase())); + this.allowedQueryParameters = new Set(allowedQueryParameters.map((p4) => p4.toLowerCase())); + } + sanitize(obj) { + const seen = /* @__PURE__ */ new Set(); + return JSON.stringify(obj, (key, value) => { + if (value instanceof Error) { + return Object.assign(Object.assign({}, value), { name: value.name, message: value.message }); + } + if (key === "headers") { + return this.sanitizeHeaders(value); + } else if (key === "url") { + return this.sanitizeUrl(value); + } else if (key === "query") { + return this.sanitizeQuery(value); + } else if (key === "body") { + return void 0; + } else if (key === "response") { + return void 0; + } else if (key === "operationSpec") { + return void 0; + } else if (Array.isArray(value) || isObject2(value)) { + if (seen.has(value)) { + return "[Circular]"; + } + seen.add(value); + } + return value; + }, 2); + } + sanitizeHeaders(obj) { + const sanitized = {}; + for (const key of Object.keys(obj)) { + if (this.allowedHeaderNames.has(key.toLowerCase())) { + sanitized[key] = obj[key]; + } else { + sanitized[key] = RedactedString; + } + } + return sanitized; + } + sanitizeQuery(value) { + if (typeof value !== "object" || value === null) { + return value; + } + const sanitized = {}; + for (const k7 of Object.keys(value)) { + if (this.allowedQueryParameters.has(k7.toLowerCase())) { + sanitized[k7] = value[k7]; + } else { + sanitized[k7] = RedactedString; + } + } + return sanitized; + } + sanitizeUrl(value) { + if (typeof value !== "string" || value === null) { + return value; + } + const url2 = new URL(value); + if (!url2.search) { + return value; + } + for (const [key] of url2.searchParams) { + if (!this.allowedQueryParameters.has(key.toLowerCase())) { + url2.searchParams.set(key, RedactedString); + } + } + return url2.toString(); + } +}; + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/logPolicy.js +var logPolicyName = "logPolicy"; +function logPolicy(options = {}) { + var _a4; + const logger3 = (_a4 = options.logger) !== null && _a4 !== void 0 ? _a4 : logger.info; + const sanitizer = new Sanitizer({ + additionalAllowedHeaderNames: options.additionalAllowedHeaderNames, + additionalAllowedQueryParameters: options.additionalAllowedQueryParameters + }); + return { + name: logPolicyName, + async sendRequest(request3, next) { + if (!logger3.enabled) { + return next(request3); + } + logger3(`Request: ${sanitizer.sanitize(request3)}`); + const response = await next(request3); + logger3(`Response status code: ${response.status}`); + logger3(`Headers: ${sanitizer.sanitize(response.headers)}`); + return response; + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/redirectPolicy.js +var redirectPolicyName = "redirectPolicy"; +var allowedRedirect = ["GET", "HEAD"]; +function redirectPolicy(options = {}) { + const { maxRetries = 20 } = options; + return { + name: redirectPolicyName, + async sendRequest(request3, next) { + const response = await next(request3); + return handleRedirect(next, response, maxRetries); + } + }; +} +async function handleRedirect(next, response, maxRetries, currentRetries = 0) { + const { request: request3, status, headers } = response; + const locationHeader = headers.get("location"); + if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request3.method) || status === 302 && allowedRedirect.includes(request3.method) || status === 303 && request3.method === "POST" || status === 307) && currentRetries < maxRetries) { + const url2 = new URL(locationHeader, request3.url); + request3.url = url2.toString(); + if (status === 303) { + request3.method = "GET"; + request3.headers.delete("Content-Length"); + delete request3.body; + } + request3.headers.delete("Authorization"); + const res = await next(request3); + return handleRedirect(next, res, maxRetries, currentRetries + 1); + } + return response; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.js +var os3 = __toESM(require("node:os"), 1); +var process8 = __toESM(require("node:process"), 1); +function getHeaderName() { + return "User-Agent"; +} +function setPlatformSpecificData(map) { + const versions2 = process8.versions; + if (versions2.bun) { + map.set("Bun", versions2.bun); + } else if (versions2.deno) { + map.set("Deno", versions2.deno); + } else if (versions2.node) { + map.set("Node", versions2.node); + } + map.set("OS", `(${os3.arch()}-${os3.type()}-${os3.release()})`); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/constants.js +var SDK_VERSION = "1.15.2"; +var DEFAULT_RETRY_POLICY_COUNT = 3; + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgent.js +function getUserAgentString(telemetryInfo) { + const parts = []; + for (const [key, value] of telemetryInfo) { + const token = value ? `${key}/${value}` : key; + parts.push(token); + } + return parts.join(" "); +} +function getUserAgentHeaderName() { + return getHeaderName(); +} +function getUserAgentValue(prefix) { + const runtimeInfo = /* @__PURE__ */ new Map(); + runtimeInfo.set("core-rest-pipeline", SDK_VERSION); + setPlatformSpecificData(runtimeInfo); + const defaultAgent = getUserAgentString(runtimeInfo); + const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent; + return userAgentValue; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/userAgentPolicy.js +var UserAgentHeaderName = getUserAgentHeaderName(); +var userAgentPolicyName = "userAgentPolicy"; +function userAgentPolicy(options = {}) { + const userAgentValue = getUserAgentValue(options.userAgentPrefix); + return { + name: userAgentPolicyName, + async sendRequest(request3, next) { + if (!request3.headers.has(UserAgentHeaderName)) { + request3.headers.set(UserAgentHeaderName, userAgentValue); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/concat.js +var import_node_stream = require("node:stream"); + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/typeGuards.js +function isBlob2(x5) { + return typeof x5.stream === "function"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/file.js +var unimplementedMethods = { + arrayBuffer: () => { + throw new Error("Not implemented"); + }, + slice: () => { + throw new Error("Not implemented"); + }, + text: () => { + throw new Error("Not implemented"); + } +}; +var rawContent = Symbol("rawContent"); +function hasRawContent(x5) { + return typeof x5[rawContent] === "function"; +} +function getRawContent(blob) { + if (hasRawContent(blob)) { + return blob[rawContent](); + } else { + return blob.stream(); + } +} +function createFile(content, name, options = {}) { + var _a4, _b2, _c2; + if (isNode) { + return Object.assign(Object.assign({}, unimplementedMethods), { type: (_a4 = options.type) !== null && _a4 !== void 0 ? _a4 : "", lastModified: (_b2 = options.lastModified) !== null && _b2 !== void 0 ? _b2 : new Date().getTime(), webkitRelativePath: (_c2 = options.webkitRelativePath) !== null && _c2 !== void 0 ? _c2 : "", size: content.byteLength, name, arrayBuffer: async () => content.buffer, stream: () => new Blob([content]).stream(), [rawContent]: () => content }); + } else { + return new File([content], name, options); + } +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/concat.js +function streamAsyncIterator() { + return __asyncGenerator(this, arguments, function* streamAsyncIterator_1() { + const reader = this.getReader(); + try { + while (true) { + const { done, value } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + reader.releaseLock(); + } + }); +} +function makeAsyncIterable(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream); + } + if (!webStream.values) { + webStream.values = streamAsyncIterator.bind(webStream); + } +} +function ensureNodeStream(stream4) { + if (stream4 instanceof ReadableStream) { + makeAsyncIterable(stream4); + return import_node_stream.Readable.fromWeb(stream4); + } else { + return stream4; + } +} +function toStream(source) { + if (source instanceof Uint8Array) { + return import_node_stream.Readable.from(Buffer.from(source)); + } else if (isBlob2(source)) { + return toStream(getRawContent(source)); + } else { + return ensureNodeStream(source); + } +} +async function concat(sources) { + return function() { + const streams = sources.map((x5) => typeof x5 === "function" ? x5() : x5).map(toStream); + return import_node_stream.Readable.from(function() { + return __asyncGenerator(this, arguments, function* () { + var _a4, e_1, _b2, _c2; + for (const stream4 of streams) { + try { + for (var _d2 = true, stream_1 = (e_1 = void 0, __asyncValues(stream4)), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a4 = stream_1_1.done, !_a4; _d2 = true) { + _c2 = stream_1_1.value; + _d2 = false; + const chunk = _c2; + yield yield __await(chunk); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = stream_1.return)) + yield __await(_b2.call(stream_1)); + } finally { + if (e_1) + throw e_1.error; + } + } + } + }); + }()); + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/multipartPolicy.js +function generateBoundary() { + return `----AzSDKFormBoundary${randomUUID()}`; +} +function encodeHeaders(headers) { + let result = ""; + for (const [key, value] of headers) { + result += `${key}: ${value}\r +`; + } + return result; +} +function getLength(source) { + if (source instanceof Uint8Array) { + return source.byteLength; + } else if (isBlob2(source)) { + return source.size === -1 ? void 0 : source.size; + } else { + return void 0; + } +} +function getTotalLength(sources) { + let total = 0; + for (const source of sources) { + const partLength = getLength(source); + if (partLength === void 0) { + return void 0; + } else { + total += partLength; + } + } + return total; +} +async function buildRequestBody(request3, parts, boundary) { + const sources = [ + stringToUint8Array(`--${boundary}`, "utf-8"), + ...parts.flatMap((part) => [ + stringToUint8Array("\r\n", "utf-8"), + stringToUint8Array(encodeHeaders(part.headers), "utf-8"), + stringToUint8Array("\r\n", "utf-8"), + part.body, + stringToUint8Array(`\r +--${boundary}`, "utf-8") + ]), + stringToUint8Array("--\r\n\r\n", "utf-8") + ]; + const contentLength = getTotalLength(sources); + if (contentLength) { + request3.headers.set("Content-Length", contentLength); + } + request3.body = await concat(sources); +} +var multipartPolicyName = "multipartPolicy"; +var maxBoundaryLength = 70; +var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`); +function assertValidBoundary(boundary) { + if (boundary.length > maxBoundaryLength) { + throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`); + } + if (Array.from(boundary).some((x5) => !validBoundaryCharacters.has(x5))) { + throw new Error(`Multipart boundary "${boundary}" contains invalid characters`); + } +} +function multipartPolicy() { + return { + name: multipartPolicyName, + async sendRequest(request3, next) { + var _a4; + if (!request3.multipartBody) { + return next(request3); + } + if (request3.body) { + throw new Error("multipartBody and regular body cannot be set at the same time"); + } + let boundary = request3.multipartBody.boundary; + const contentTypeHeader = (_a4 = request3.headers.get("Content-Type")) !== null && _a4 !== void 0 ? _a4 : "multipart/mixed"; + const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/); + if (!parsedHeader) { + throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`); + } + const [, contentType, parsedBoundary] = parsedHeader; + if (parsedBoundary && boundary && parsedBoundary !== boundary) { + throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`); + } + boundary !== null && boundary !== void 0 ? boundary : boundary = parsedBoundary; + if (boundary) { + assertValidBoundary(boundary); + } else { + boundary = generateBoundary(); + } + request3.headers.set("Content-Type", `${contentType}; boundary=${boundary}`); + await buildRequestBody(request3, request3.multipartBody.parts, boundary); + request3.multipartBody = void 0; + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/decompressResponsePolicy.js +var decompressResponsePolicyName = "decompressResponsePolicy"; +function decompressResponsePolicy() { + return { + name: decompressResponsePolicyName, + async sendRequest(request3, next) { + if (request3.method !== "HEAD") { + request3.headers.set("Accept-Encoding", "gzip,deflate"); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/helpers.js +var StandardAbortMessage = "The operation was aborted."; +function delay2(delayInMs, value, options) { + return new Promise((resolve, reject) => { + let timer = void 0; + let onAborted = void 0; + const rejectOnAbort = () => { + return reject(new AbortError((options === null || options === void 0 ? void 0 : options.abortErrorMsg) ? options === null || options === void 0 ? void 0 : options.abortErrorMsg : StandardAbortMessage)); + }; + const removeListeners = () => { + if ((options === null || options === void 0 ? void 0 : options.abortSignal) && onAborted) { + options.abortSignal.removeEventListener("abort", onAborted); + } + }; + onAborted = () => { + if (timer) { + clearTimeout(timer); + } + removeListeners(); + return rejectOnAbort(); + }; + if ((options === null || options === void 0 ? void 0 : options.abortSignal) && options.abortSignal.aborted) { + return rejectOnAbort(); + } + timer = setTimeout(() => { + removeListeners(); + resolve(value); + }, delayInMs); + if (options === null || options === void 0 ? void 0 : options.abortSignal) { + options.abortSignal.addEventListener("abort", onAborted); + } + }); +} +function parseHeaderValueAsNumber(response, headerName) { + const value = response.headers.get(headerName); + if (!value) + return; + const valueAsNum = Number(value); + if (Number.isNaN(valueAsNum)) + return; + return valueAsNum; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/retryStrategies/throttlingRetryStrategy.js +var RetryAfterHeader = "Retry-After"; +var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader]; +function getRetryAfterInMs(response) { + if (!(response && [429, 503].includes(response.status))) + return void 0; + try { + for (const header of AllRetryAfterHeaders) { + const retryAfterValue = parseHeaderValueAsNumber(response, header); + if (retryAfterValue === 0 || retryAfterValue) { + const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1; + return retryAfterValue * multiplyingFactor; + } + } + const retryAfterHeader = response.headers.get(RetryAfterHeader); + if (!retryAfterHeader) + return; + const date = Date.parse(retryAfterHeader); + const diff = date - Date.now(); + return Number.isFinite(diff) ? Math.max(0, diff) : void 0; + } catch (e3) { + return void 0; + } +} +function isThrottlingRetryResponse(response) { + return Number.isFinite(getRetryAfterInMs(response)); +} +function throttlingRetryStrategy() { + return { + name: "throttlingRetryStrategy", + retry({ response }) { + const retryAfterInMs = getRetryAfterInMs(response); + if (!Number.isFinite(retryAfterInMs)) { + return { skipStrategy: true }; + } + return { + retryAfterInMs + }; + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/retryStrategies/exponentialRetryStrategy.js +var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3; +var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64; +function exponentialRetryStrategy(options = {}) { + var _a4, _b2; + const retryInterval = (_a4 = options.retryDelayInMs) !== null && _a4 !== void 0 ? _a4 : DEFAULT_CLIENT_RETRY_INTERVAL; + const maxRetryInterval = (_b2 = options.maxRetryDelayInMs) !== null && _b2 !== void 0 ? _b2 : DEFAULT_CLIENT_MAX_RETRY_INTERVAL; + let retryAfterInMs = retryInterval; + return { + name: "exponentialRetryStrategy", + retry({ retryCount, response, responseError }) { + const matchedSystemError = isSystemError(responseError); + const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors; + const isExponential = isExponentialRetryResponse(response); + const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes; + const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential); + if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) { + return { skipStrategy: true }; + } + if (responseError && !matchedSystemError && !isExponential) { + return { errorToThrow: responseError }; + } + const exponentialDelay = retryAfterInMs * Math.pow(2, retryCount); + const clampedExponentialDelay = Math.min(maxRetryInterval, exponentialDelay); + retryAfterInMs = clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2); + return { retryAfterInMs }; + } + }; +} +function isExponentialRetryResponse(response) { + return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505); +} +function isSystemError(err) { + if (!err) { + return false; + } + return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/retryPolicy.js +var retryPolicyLogger = createClientLogger("core-rest-pipeline retryPolicy"); +var retryPolicyName = "retryPolicy"; +function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT }) { + const logger3 = options.logger || retryPolicyLogger; + return { + name: retryPolicyName, + async sendRequest(request3, next) { + var _a4, _b2; + let response; + let responseError; + let retryCount = -1; + retryRequest: + while (true) { + retryCount += 1; + response = void 0; + responseError = void 0; + try { + logger3.info(`Retry ${retryCount}: Attempting to send request`, request3.requestId); + response = await next(request3); + logger3.info(`Retry ${retryCount}: Received a response from request`, request3.requestId); + } catch (e3) { + logger3.error(`Retry ${retryCount}: Received an error from request`, request3.requestId); + responseError = e3; + if (!e3 || responseError.name !== "RestError") { + throw e3; + } + response = responseError.response; + } + if ((_a4 = request3.abortSignal) === null || _a4 === void 0 ? void 0 : _a4.aborted) { + logger3.error(`Retry ${retryCount}: Request aborted.`); + const abortError = new AbortError(); + throw abortError; + } + if (retryCount >= ((_b2 = options.maxRetries) !== null && _b2 !== void 0 ? _b2 : DEFAULT_RETRY_POLICY_COUNT)) { + logger3.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`); + if (responseError) { + throw responseError; + } else if (response) { + return response; + } else { + throw new Error("Maximum retries reached with no response or error to throw"); + } + } + logger3.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`); + strategiesLoop: + for (const strategy of strategies) { + const strategyLogger = strategy.logger || retryPolicyLogger; + strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`); + const modifiers = strategy.retry({ + retryCount, + response, + responseError + }); + if (modifiers.skipStrategy) { + strategyLogger.info(`Retry ${retryCount}: Skipped.`); + continue strategiesLoop; + } + const { errorToThrow, retryAfterInMs, redirectTo } = modifiers; + if (errorToThrow) { + strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow); + throw errorToThrow; + } + if (retryAfterInMs || retryAfterInMs === 0) { + strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`); + await delay2(retryAfterInMs, void 0, { abortSignal: request3.abortSignal }); + continue retryRequest; + } + if (redirectTo) { + strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`); + request3.url = redirectTo; + continue retryRequest; + } + } + if (responseError) { + logger3.info(`None of the retry strategies could work with the received error. Throwing it.`); + throw responseError; + } + if (response) { + logger3.info(`None of the retry strategies could work with the received response. Returning it.`); + return response; + } + } + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/defaultRetryPolicy.js +var defaultRetryPolicyName = "defaultRetryPolicy"; +function defaultRetryPolicy(options = {}) { + var _a4; + return { + name: defaultRetryPolicyName, + sendRequest: retryPolicy([throttlingRetryStrategy(), exponentialRetryStrategy(options)], { + maxRetries: (_a4 = options.maxRetries) !== null && _a4 !== void 0 ? _a4 : DEFAULT_RETRY_POLICY_COUNT + }).sendRequest + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/httpHeaders.js +function normalizeName(name) { + return name.toLowerCase(); +} +function* headerIterator(map) { + for (const entry of map.values()) { + yield [entry.name, entry.value]; + } +} +var HttpHeadersImpl = class { + constructor(rawHeaders) { + this._headersMap = /* @__PURE__ */ new Map(); + if (rawHeaders) { + for (const headerName of Object.keys(rawHeaders)) { + this.set(headerName, rawHeaders[headerName]); + } + } + } + set(name, value) { + this._headersMap.set(normalizeName(name), { name, value: String(value).trim() }); + } + get(name) { + var _a4; + return (_a4 = this._headersMap.get(normalizeName(name))) === null || _a4 === void 0 ? void 0 : _a4.value; + } + has(name) { + return this._headersMap.has(normalizeName(name)); + } + delete(name) { + this._headersMap.delete(normalizeName(name)); + } + toJSON(options = {}) { + const result = {}; + if (options.preserveCase) { + for (const entry of this._headersMap.values()) { + result[entry.name] = entry.value; + } + } else { + for (const [normalizedName, entry] of this._headersMap) { + result[normalizedName] = entry.value; + } + } + return result; + } + toString() { + return JSON.stringify(this.toJSON({ preserveCase: true })); + } + [Symbol.iterator]() { + return headerIterator(this._headersMap); + } +}; +function createHttpHeaders(rawHeaders) { + return new HttpHeadersImpl(rawHeaders); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/formDataPolicy.js +var formDataPolicyName = "formDataPolicy"; +function formDataPolicy() { + return { + name: formDataPolicyName, + async sendRequest(request3, next) { + if (request3.formData) { + const contentType = request3.headers.get("Content-Type"); + if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) { + request3.body = wwwFormUrlEncode(request3.formData); + } else { + await prepareFormData(request3.formData, request3); + } + request3.formData = void 0; + } + return next(request3); + } + }; +} +function wwwFormUrlEncode(formData) { + const urlSearchParams = new URLSearchParams(); + for (const [key, value] of Object.entries(formData)) { + if (Array.isArray(value)) { + for (const subValue of value) { + urlSearchParams.append(key, subValue.toString()); + } + } else { + urlSearchParams.append(key, value.toString()); + } + } + return urlSearchParams.toString(); +} +async function prepareFormData(formData, request3) { + const contentType = request3.headers.get("Content-Type"); + if (contentType && !contentType.startsWith("multipart/form-data")) { + return; + } + request3.headers.set("Content-Type", contentType !== null && contentType !== void 0 ? contentType : "multipart/form-data"); + const parts = []; + for (const [fieldName, values] of Object.entries(formData)) { + for (const value of Array.isArray(values) ? values : [values]) { + if (typeof value === "string") { + parts.push({ + headers: createHttpHeaders({ + "Content-Disposition": `form-data; name="${fieldName}"` + }), + body: stringToUint8Array(value, "utf-8") + }); + } else if (value === void 0 || value === null || typeof value !== "object") { + throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`); + } else { + const fileName = value.name || "blob"; + const headers = createHttpHeaders(); + headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`); + headers.set("Content-Type", value.type || "application/octet-stream"); + parts.push({ + headers, + body: value + }); + } + } + } + request3.multipartBody = { parts }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/proxyPolicy.js +var import_https_proxy_agent = __toESM(require_dist3(), 1); +var import_http_proxy_agent = __toESM(require_dist4(), 1); +var HTTPS_PROXY = "HTTPS_PROXY"; +var HTTP_PROXY = "HTTP_PROXY"; +var ALL_PROXY = "ALL_PROXY"; +var NO_PROXY = "NO_PROXY"; +var proxyPolicyName = "proxyPolicy"; +var globalNoProxyList = []; +var noProxyListLoaded = false; +var globalBypassedMap = /* @__PURE__ */ new Map(); +function getEnvironmentValue(name) { + if (process.env[name]) { + return process.env[name]; + } else if (process.env[name.toLowerCase()]) { + return process.env[name.toLowerCase()]; + } + return void 0; +} +function loadEnvironmentProxyValue() { + if (!process) { + return void 0; + } + const httpsProxy = getEnvironmentValue(HTTPS_PROXY); + const allProxy = getEnvironmentValue(ALL_PROXY); + const httpProxy = getEnvironmentValue(HTTP_PROXY); + return httpsProxy || allProxy || httpProxy; +} +function isBypassed(uri, noProxyList, bypassedMap) { + if (noProxyList.length === 0) { + return false; + } + const host = new URL(uri).hostname; + if (bypassedMap === null || bypassedMap === void 0 ? void 0 : bypassedMap.has(host)) { + return bypassedMap.get(host); + } + let isBypassedFlag = false; + for (const pattern of noProxyList) { + if (pattern[0] === ".") { + if (host.endsWith(pattern)) { + isBypassedFlag = true; + } else { + if (host.length === pattern.length - 1 && host === pattern.slice(1)) { + isBypassedFlag = true; + } + } + } else { + if (host === pattern) { + isBypassedFlag = true; + } + } + } + bypassedMap === null || bypassedMap === void 0 ? void 0 : bypassedMap.set(host, isBypassedFlag); + return isBypassedFlag; +} +function loadNoProxy() { + const noProxy = getEnvironmentValue(NO_PROXY); + noProxyListLoaded = true; + if (noProxy) { + return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length); + } + return []; +} +function getDefaultProxySettingsInternal() { + const envProxy = loadEnvironmentProxyValue(); + return envProxy ? new URL(envProxy) : void 0; +} +function getUrlFromProxySettings(settings) { + let parsedProxyUrl; + try { + parsedProxyUrl = new URL(settings.host); + } catch (_error) { + throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`); + } + parsedProxyUrl.port = String(settings.port); + if (settings.username) { + parsedProxyUrl.username = settings.username; + } + if (settings.password) { + parsedProxyUrl.password = settings.password; + } + return parsedProxyUrl; +} +function setProxyAgentOnRequest(request3, cachedAgents, proxyUrl) { + if (request3.agent) { + return; + } + const url2 = new URL(request3.url); + const isInsecure = url2.protocol !== "https:"; + if (request3.tlsSettings) { + logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored."); + } + const headers = request3.headers.toJSON(); + if (isInsecure) { + if (!cachedAgents.httpProxyAgent) { + cachedAgents.httpProxyAgent = new import_http_proxy_agent.HttpProxyAgent(proxyUrl, { headers }); + } + request3.agent = cachedAgents.httpProxyAgent; + } else { + if (!cachedAgents.httpsProxyAgent) { + cachedAgents.httpsProxyAgent = new import_https_proxy_agent.HttpsProxyAgent(proxyUrl, { headers }); + } + request3.agent = cachedAgents.httpsProxyAgent; + } +} +function proxyPolicy(proxySettings, options) { + if (!noProxyListLoaded) { + globalNoProxyList.push(...loadNoProxy()); + } + const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal(); + const cachedAgents = {}; + return { + name: proxyPolicyName, + async sendRequest(request3, next) { + var _a4; + if (!request3.proxySettings && defaultProxy && !isBypassed(request3.url, (_a4 = options === null || options === void 0 ? void 0 : options.customNoProxyList) !== null && _a4 !== void 0 ? _a4 : globalNoProxyList, (options === null || options === void 0 ? void 0 : options.customNoProxyList) ? void 0 : globalBypassedMap)) { + setProxyAgentOnRequest(request3, cachedAgents, defaultProxy); + } else if (request3.proxySettings) { + setProxyAgentOnRequest(request3, cachedAgents, getUrlFromProxySettings(request3.proxySettings)); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/setClientRequestIdPolicy.js +var setClientRequestIdPolicyName = "setClientRequestIdPolicy"; +function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") { + return { + name: setClientRequestIdPolicyName, + async sendRequest(request3, next) { + if (!request3.headers.has(requestIdHeaderName)) { + request3.headers.set(requestIdHeaderName, request3.requestId); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/tlsPolicy.js +var tlsPolicyName = "tlsPolicy"; +function tlsPolicy(tlsSettings) { + return { + name: tlsPolicyName, + sendRequest: async (req, next) => { + if (!req.tlsSettings) { + req.tlsSettings = tlsSettings; + } + return next(req); + } + }; +} + +// node_modules/@azure/core-tracing/dist/esm/tracingContext.js +var knownContextKeys = { + span: Symbol.for("@azure/core-tracing span"), + namespace: Symbol.for("@azure/core-tracing namespace") +}; +function createTracingContext(options = {}) { + let context = new TracingContextImpl(options.parentContext); + if (options.span) { + context = context.setValue(knownContextKeys.span, options.span); + } + if (options.namespace) { + context = context.setValue(knownContextKeys.namespace, options.namespace); + } + return context; +} +var TracingContextImpl = class { + constructor(initialContext) { + this._contextMap = initialContext instanceof TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map(); + } + setValue(key, value) { + const newContext = new TracingContextImpl(this); + newContext._contextMap.set(key, value); + return newContext; + } + getValue(key) { + return this._contextMap.get(key); + } + deleteValue(key) { + const newContext = new TracingContextImpl(this); + newContext._contextMap.delete(key); + return newContext; + } +}; + +// node_modules/@azure/core-tracing/dist/esm/state.js +var import_state = __toESM(require_state2(), 1); +var state = import_state.state; + +// node_modules/@azure/core-tracing/dist/esm/instrumenter.js +function createDefaultTracingSpan() { + return { + end: () => { + }, + isRecording: () => false, + recordException: () => { + }, + setAttribute: () => { + }, + setStatus: () => { + } + }; +} +function createDefaultInstrumenter() { + return { + createRequestHeaders: () => { + return {}; + }, + parseTraceparentHeader: () => { + return void 0; + }, + startSpan: (_name, spanOptions) => { + return { + span: createDefaultTracingSpan(), + tracingContext: createTracingContext({ parentContext: spanOptions.tracingContext }) + }; + }, + withContext(_context, callback, ...callbackArgs) { + return callback(...callbackArgs); + } + }; +} +function getInstrumenter() { + if (!state.instrumenterImplementation) { + state.instrumenterImplementation = createDefaultInstrumenter(); + } + return state.instrumenterImplementation; +} + +// node_modules/@azure/core-tracing/dist/esm/tracingClient.js +function createTracingClient(options) { + const { namespace, packageName, packageVersion } = options; + function startSpan(name, operationOptions, spanOptions) { + var _a4; + const startSpanResult = getInstrumenter().startSpan(name, Object.assign(Object.assign({}, spanOptions), { packageName, packageVersion, tracingContext: (_a4 = operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions) === null || _a4 === void 0 ? void 0 : _a4.tracingContext })); + let tracingContext = startSpanResult.tracingContext; + const span = startSpanResult.span; + if (!tracingContext.getValue(knownContextKeys.namespace)) { + tracingContext = tracingContext.setValue(knownContextKeys.namespace, namespace); + } + span.setAttribute("az.namespace", tracingContext.getValue(knownContextKeys.namespace)); + const updatedOptions = Object.assign({}, operationOptions, { + tracingOptions: Object.assign(Object.assign({}, operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions), { tracingContext }) + }); + return { + span, + updatedOptions + }; + } + async function withSpan(name, operationOptions, callback, spanOptions) { + const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions); + try { + const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span))); + span.setStatus({ status: "success" }); + return result; + } catch (err) { + span.setStatus({ status: "error", error: err }); + throw err; + } finally { + span.end(); + } + } + function withContext(context, callback, ...callbackArgs) { + return getInstrumenter().withContext(context, callback, ...callbackArgs); + } + function parseTraceparentHeader(traceparentHeader) { + return getInstrumenter().parseTraceparentHeader(traceparentHeader); + } + function createRequestHeaders(tracingContext) { + return getInstrumenter().createRequestHeaders(tracingContext); + } + return { + startSpan, + withSpan, + withContext, + parseTraceparentHeader, + createRequestHeaders + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/inspect.js +var import_node_util3 = require("node:util"); +var custom = import_node_util3.inspect.custom; + +// node_modules/@azure/core-rest-pipeline/dist/esm/restError.js +var errorSanitizer = new Sanitizer(); +var RestError = class extends Error { + constructor(message, options = {}) { + super(message); + this.name = "RestError"; + this.code = options.code; + this.statusCode = options.statusCode; + this.request = options.request; + this.response = options.response; + Object.setPrototypeOf(this, RestError.prototype); + } + [custom]() { + return `RestError: ${this.message} + ${errorSanitizer.sanitize(this)}`; + } +}; +RestError.REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR"; +RestError.PARSE_ERROR = "PARSE_ERROR"; +function isRestError(e3) { + if (e3 instanceof RestError) { + return true; + } + return isError(e3) && e3.name === "RestError"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/tracingPolicy.js +var tracingPolicyName = "tracingPolicy"; +function tracingPolicy(options = {}) { + const userAgent = getUserAgentValue(options.userAgentPrefix); + const tracingClient = tryCreateTracingClient(); + return { + name: tracingPolicyName, + async sendRequest(request3, next) { + var _a4, _b2; + if (!tracingClient || !((_a4 = request3.tracingOptions) === null || _a4 === void 0 ? void 0 : _a4.tracingContext)) { + return next(request3); + } + const { span, tracingContext } = (_b2 = tryCreateSpan(tracingClient, request3, userAgent)) !== null && _b2 !== void 0 ? _b2 : {}; + if (!span || !tracingContext) { + return next(request3); + } + try { + const response = await tracingClient.withContext(tracingContext, next, request3); + tryProcessResponse(span, response); + return response; + } catch (err) { + tryProcessError(span, err); + throw err; + } + } + }; +} +function tryCreateTracingClient() { + try { + return createTracingClient({ + namespace: "", + packageName: "@azure/core-rest-pipeline", + packageVersion: SDK_VERSION + }); + } catch (e3) { + logger.warning(`Error when creating the TracingClient: ${getErrorMessage(e3)}`); + return void 0; + } +} +function tryCreateSpan(tracingClient, request3, userAgent) { + try { + const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request3.method}`, { tracingOptions: request3.tracingOptions }, { + spanKind: "client", + spanAttributes: { + "http.method": request3.method, + "http.url": request3.url, + requestId: request3.requestId + } + }); + if (!span.isRecording()) { + span.end(); + return void 0; + } + if (userAgent) { + span.setAttribute("http.user_agent", userAgent); + } + const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext); + for (const [key, value] of Object.entries(headers)) { + request3.headers.set(key, value); + } + return { span, tracingContext: updatedOptions.tracingOptions.tracingContext }; + } catch (e3) { + logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e3)}`); + return void 0; + } +} +function tryProcessError(span, error) { + try { + span.setStatus({ + status: "error", + error: isError(error) ? error : void 0 + }); + if (isRestError(error) && error.statusCode) { + span.setAttribute("http.status_code", error.statusCode); + } + span.end(); + } catch (e3) { + logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e3)}`); + } +} +function tryProcessResponse(span, response) { + try { + span.setAttribute("http.status_code", response.status); + const serviceRequestId = response.headers.get("x-ms-request-id"); + if (serviceRequestId) { + span.setAttribute("serviceRequestId", serviceRequestId); + } + span.setStatus({ + status: "success" + }); + span.end(); + } catch (e3) { + logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e3)}`); + } +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/createPipelineFromOptions.js +function createPipelineFromOptions(options) { + var _a4; + const pipeline = createEmptyPipeline(); + if (isNode) { + if (options.tlsOptions) { + pipeline.addPolicy(tlsPolicy(options.tlsOptions)); + } + pipeline.addPolicy(proxyPolicy(options.proxyOptions)); + pipeline.addPolicy(decompressResponsePolicy()); + } + pipeline.addPolicy(formDataPolicy(), { beforePolicies: [multipartPolicyName] }); + pipeline.addPolicy(userAgentPolicy(options.userAgentOptions)); + pipeline.addPolicy(setClientRequestIdPolicy((_a4 = options.telemetryOptions) === null || _a4 === void 0 ? void 0 : _a4.clientRequestIdHeaderName)); + pipeline.addPolicy(multipartPolicy(), { afterPhase: "Deserialize" }); + pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(tracingPolicy(options.userAgentOptions), { afterPhase: "Retry" }); + if (isNode) { + pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" }); + } + pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: "Sign" }); + return pipeline; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/nodeHttpClient.js +var http2 = __toESM(require("node:http"), 1); +var https2 = __toESM(require("node:https"), 1); +var zlib2 = __toESM(require("node:zlib"), 1); +var import_node_stream2 = require("node:stream"); +var DEFAULT_TLS_SETTINGS = {}; +function isReadableStream(body) { + return body && typeof body.pipe === "function"; +} +function isStreamComplete(stream4) { + return new Promise((resolve) => { + stream4.on("close", resolve); + stream4.on("end", resolve); + stream4.on("error", resolve); + }); +} +function isArrayBuffer2(body) { + return body && typeof body.byteLength === "number"; +} +var ReportTransform = class extends import_node_stream2.Transform { + _transform(chunk, _encoding, callback) { + this.push(chunk); + this.loadedBytes += chunk.length; + try { + this.progressCallback({ loadedBytes: this.loadedBytes }); + callback(); + } catch (e3) { + callback(e3); + } + } + constructor(progressCallback) { + super(); + this.loadedBytes = 0; + this.progressCallback = progressCallback; + } +}; +var NodeHttpClient = class { + constructor() { + this.cachedHttpsAgents = /* @__PURE__ */ new WeakMap(); + } + async sendRequest(request3) { + var _a4, _b2, _c2; + const abortController = new AbortController(); + let abortListener; + if (request3.abortSignal) { + if (request3.abortSignal.aborted) { + throw new AbortError("The operation was aborted."); + } + abortListener = (event) => { + if (event.type === "abort") { + abortController.abort(); + } + }; + request3.abortSignal.addEventListener("abort", abortListener); + } + if (request3.timeout > 0) { + setTimeout(() => { + abortController.abort(); + }, request3.timeout); + } + const acceptEncoding = request3.headers.get("Accept-Encoding"); + const shouldDecompress = (acceptEncoding === null || acceptEncoding === void 0 ? void 0 : acceptEncoding.includes("gzip")) || (acceptEncoding === null || acceptEncoding === void 0 ? void 0 : acceptEncoding.includes("deflate")); + let body = typeof request3.body === "function" ? request3.body() : request3.body; + if (body && !request3.headers.has("Content-Length")) { + const bodyLength = getBodyLength(body); + if (bodyLength !== null) { + request3.headers.set("Content-Length", bodyLength); + } + } + let responseStream; + try { + if (body && request3.onUploadProgress) { + const onUploadProgress = request3.onUploadProgress; + const uploadReportStream = new ReportTransform(onUploadProgress); + uploadReportStream.on("error", (e3) => { + logger.error("Error in upload progress", e3); + }); + if (isReadableStream(body)) { + body.pipe(uploadReportStream); + } else { + uploadReportStream.end(body); + } + body = uploadReportStream; + } + const res = await this.makeRequest(request3, abortController, body); + const headers = getResponseHeaders(res); + const status = (_a4 = res.statusCode) !== null && _a4 !== void 0 ? _a4 : 0; + const response = { + status, + headers, + request: request3 + }; + if (request3.method === "HEAD") { + res.resume(); + return response; + } + responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res; + const onDownloadProgress = request3.onDownloadProgress; + if (onDownloadProgress) { + const downloadReportStream = new ReportTransform(onDownloadProgress); + downloadReportStream.on("error", (e3) => { + logger.error("Error in download progress", e3); + }); + responseStream.pipe(downloadReportStream); + responseStream = downloadReportStream; + } + if (((_b2 = request3.streamResponseStatusCodes) === null || _b2 === void 0 ? void 0 : _b2.has(Number.POSITIVE_INFINITY)) || ((_c2 = request3.streamResponseStatusCodes) === null || _c2 === void 0 ? void 0 : _c2.has(response.status))) { + response.readableStreamBody = responseStream; + } else { + response.bodyAsText = await streamToText(responseStream); + } + return response; + } finally { + if (request3.abortSignal && abortListener) { + let uploadStreamDone = Promise.resolve(); + if (isReadableStream(body)) { + uploadStreamDone = isStreamComplete(body); + } + let downloadStreamDone = Promise.resolve(); + if (isReadableStream(responseStream)) { + downloadStreamDone = isStreamComplete(responseStream); + } + Promise.all([uploadStreamDone, downloadStreamDone]).then(() => { + var _a5; + if (abortListener) { + (_a5 = request3.abortSignal) === null || _a5 === void 0 ? void 0 : _a5.removeEventListener("abort", abortListener); + } + }).catch((e3) => { + logger.warning("Error when cleaning up abortListener on httpRequest", e3); + }); + } + } + } + makeRequest(request3, abortController, body) { + var _a4; + const url2 = new URL(request3.url); + const isInsecure = url2.protocol !== "https:"; + if (isInsecure && !request3.allowInsecureConnection) { + throw new Error(`Cannot connect to ${request3.url} while allowInsecureConnection is false.`); + } + const agent = (_a4 = request3.agent) !== null && _a4 !== void 0 ? _a4 : this.getOrCreateAgent(request3, isInsecure); + const options = { + agent, + hostname: url2.hostname, + path: `${url2.pathname}${url2.search}`, + port: url2.port, + method: request3.method, + headers: request3.headers.toJSON({ preserveCase: true }) + }; + return new Promise((resolve, reject) => { + const req = isInsecure ? http2.request(options, resolve) : https2.request(options, resolve); + req.once("error", (err) => { + var _a5; + reject(new RestError(err.message, { code: (_a5 = err.code) !== null && _a5 !== void 0 ? _a5 : RestError.REQUEST_SEND_ERROR, request: request3 })); + }); + abortController.signal.addEventListener("abort", () => { + const abortError = new AbortError("The operation was aborted."); + req.destroy(abortError); + reject(abortError); + }); + if (body && isReadableStream(body)) { + body.pipe(req); + } else if (body) { + if (typeof body === "string" || Buffer.isBuffer(body)) { + req.end(body); + } else if (isArrayBuffer2(body)) { + req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body)); + } else { + logger.error("Unrecognized body type", body); + reject(new RestError("Unrecognized body type")); + } + } else { + req.end(); + } + }); + } + getOrCreateAgent(request3, isInsecure) { + var _a4; + const disableKeepAlive = request3.disableKeepAlive; + if (isInsecure) { + if (disableKeepAlive) { + return http2.globalAgent; + } + if (!this.cachedHttpAgent) { + this.cachedHttpAgent = new http2.Agent({ keepAlive: true }); + } + return this.cachedHttpAgent; + } else { + if (disableKeepAlive && !request3.tlsSettings) { + return https2.globalAgent; + } + const tlsSettings = (_a4 = request3.tlsSettings) !== null && _a4 !== void 0 ? _a4 : DEFAULT_TLS_SETTINGS; + let agent = this.cachedHttpsAgents.get(tlsSettings); + if (agent && agent.options.keepAlive === !disableKeepAlive) { + return agent; + } + logger.info("No cached TLS Agent exist, creating a new Agent"); + agent = new https2.Agent(Object.assign({ + keepAlive: !disableKeepAlive + }, tlsSettings)); + this.cachedHttpsAgents.set(tlsSettings, agent); + return agent; + } + } +}; +function getResponseHeaders(res) { + const headers = createHttpHeaders(); + for (const header of Object.keys(res.headers)) { + const value = res.headers[header]; + if (Array.isArray(value)) { + if (value.length > 0) { + headers.set(header, value[0]); + } + } else if (value) { + headers.set(header, value); + } + } + return headers; +} +function getDecodedResponseStream(stream4, headers) { + const contentEncoding = headers.get("Content-Encoding"); + if (contentEncoding === "gzip") { + const unzip = zlib2.createGunzip(); + stream4.pipe(unzip); + return unzip; + } else if (contentEncoding === "deflate") { + const inflate = zlib2.createInflate(); + stream4.pipe(inflate); + return inflate; + } + return stream4; +} +function streamToText(stream4) { + return new Promise((resolve, reject) => { + const buffer = []; + stream4.on("data", (chunk) => { + if (Buffer.isBuffer(chunk)) { + buffer.push(chunk); + } else { + buffer.push(Buffer.from(chunk)); + } + }); + stream4.on("end", () => { + resolve(Buffer.concat(buffer).toString("utf8")); + }); + stream4.on("error", (e3) => { + if (e3 && (e3 === null || e3 === void 0 ? void 0 : e3.name) === "AbortError") { + reject(e3); + } else { + reject(new RestError(`Error reading response as text: ${e3.message}`, { + code: RestError.PARSE_ERROR + })); + } + }); + }); +} +function getBodyLength(body) { + if (!body) { + return 0; + } else if (Buffer.isBuffer(body)) { + return body.length; + } else if (isReadableStream(body)) { + return null; + } else if (isArrayBuffer2(body)) { + return body.byteLength; + } else if (typeof body === "string") { + return Buffer.from(body).length; + } else { + return null; + } +} +function createNodeHttpClient() { + return new NodeHttpClient(); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/defaultHttpClient.js +function createDefaultHttpClient() { + return createNodeHttpClient(); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/pipelineRequest.js +var PipelineRequestImpl = class { + constructor(options) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + this.url = options.url; + this.body = options.body; + this.headers = (_a4 = options.headers) !== null && _a4 !== void 0 ? _a4 : createHttpHeaders(); + this.method = (_b2 = options.method) !== null && _b2 !== void 0 ? _b2 : "GET"; + this.timeout = (_c2 = options.timeout) !== null && _c2 !== void 0 ? _c2 : 0; + this.multipartBody = options.multipartBody; + this.formData = options.formData; + this.disableKeepAlive = (_d2 = options.disableKeepAlive) !== null && _d2 !== void 0 ? _d2 : false; + this.proxySettings = options.proxySettings; + this.streamResponseStatusCodes = options.streamResponseStatusCodes; + this.withCredentials = (_e2 = options.withCredentials) !== null && _e2 !== void 0 ? _e2 : false; + this.abortSignal = options.abortSignal; + this.tracingOptions = options.tracingOptions; + this.onUploadProgress = options.onUploadProgress; + this.onDownloadProgress = options.onDownloadProgress; + this.requestId = options.requestId || randomUUID(); + this.allowInsecureConnection = (_f = options.allowInsecureConnection) !== null && _f !== void 0 ? _f : false; + this.enableBrowserStreams = (_g = options.enableBrowserStreams) !== null && _g !== void 0 ? _g : false; + } +}; +function createPipelineRequest(options) { + return new PipelineRequestImpl(options); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/tokenCycler.js +var DEFAULT_CYCLER_OPTIONS = { + forcedRefreshWindowInMs: 1e3, + retryIntervalInMs: 3e3, + refreshWindowInMs: 1e3 * 60 * 2 +}; +async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) { + async function tryGetAccessToken() { + if (Date.now() < refreshTimeout) { + try { + return await getAccessToken(); + } catch (_a4) { + return null; + } + } else { + const finalToken = await getAccessToken(); + if (finalToken === null) { + throw new Error("Failed to refresh access token."); + } + return finalToken; + } + } + let token = await tryGetAccessToken(); + while (token === null) { + await delay2(retryIntervalInMs); + token = await tryGetAccessToken(); + } + return token; +} +function createTokenCycler(credential, tokenCyclerOptions) { + let refreshWorker = null; + let token = null; + let tenantId; + const options = Object.assign(Object.assign({}, DEFAULT_CYCLER_OPTIONS), tokenCyclerOptions); + const cycler = { + get isRefreshing() { + return refreshWorker !== null; + }, + get shouldRefresh() { + var _a4; + return !cycler.isRefreshing && ((_a4 = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a4 !== void 0 ? _a4 : 0) - options.refreshWindowInMs < Date.now(); + }, + get mustRefresh() { + return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now(); + } + }; + function refresh(scopes, getTokenOptions) { + var _a4; + if (!cycler.isRefreshing) { + const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions); + refreshWorker = beginRefresh( + tryGetAccessToken, + options.retryIntervalInMs, + (_a4 = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a4 !== void 0 ? _a4 : Date.now() + ).then((_token) => { + refreshWorker = null; + token = _token; + tenantId = getTokenOptions.tenantId; + return token; + }).catch((reason) => { + refreshWorker = null; + token = null; + tenantId = void 0; + throw reason; + }); + } + return refreshWorker; + } + return async (scopes, tokenOptions) => { + const mustRefresh = tenantId !== tokenOptions.tenantId || Boolean(tokenOptions.claims) || cycler.mustRefresh; + if (mustRefresh) + return refresh(scopes, tokenOptions); + if (cycler.shouldRefresh) { + refresh(scopes, tokenOptions); + } + return token; + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/bearerTokenAuthenticationPolicy.js +var bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy"; +async function defaultAuthorizeRequest(options) { + const { scopes, getAccessToken, request: request3 } = options; + const getTokenOptions = { + abortSignal: request3.abortSignal, + tracingOptions: request3.tracingOptions + }; + const accessToken = await getAccessToken(scopes, getTokenOptions); + if (accessToken) { + options.request.headers.set("Authorization", `Bearer ${accessToken.token}`); + } +} +function getChallenge(response) { + const challenge = response.headers.get("WWW-Authenticate"); + if (response.status === 401 && challenge) { + return challenge; + } + return; +} +function bearerTokenAuthenticationPolicy(options) { + var _a4; + const { credential, scopes, challengeCallbacks } = options; + const logger3 = options.logger || logger; + const callbacks = Object.assign({ authorizeRequest: (_a4 = challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequest) !== null && _a4 !== void 0 ? _a4 : defaultAuthorizeRequest, authorizeRequestOnChallenge: challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequestOnChallenge }, challengeCallbacks); + const getAccessToken = credential ? createTokenCycler(credential) : () => Promise.resolve(null); + return { + name: bearerTokenAuthenticationPolicyName, + async sendRequest(request3, next) { + if (!request3.url.toLowerCase().startsWith("https://")) { + throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs."); + } + await callbacks.authorizeRequest({ + scopes: Array.isArray(scopes) ? scopes : [scopes], + request: request3, + getAccessToken, + logger: logger3 + }); + let response; + let error; + try { + response = await next(request3); + } catch (err) { + error = err; + response = err.response; + } + if (callbacks.authorizeRequestOnChallenge && (response === null || response === void 0 ? void 0 : response.status) === 401 && getChallenge(response)) { + const shouldSendRequest = await callbacks.authorizeRequestOnChallenge({ + scopes: Array.isArray(scopes) ? scopes : [scopes], + request: request3, + response, + getAccessToken, + logger: logger3 + }); + if (shouldSendRequest) { + return next(request3); + } + } + if (error) { + throw error; + } else { + return response; + } + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/apiVersionPolicy.js +var apiVersionPolicyName = "ApiVersionPolicy"; +function apiVersionPolicy(options) { + return { + name: apiVersionPolicyName, + sendRequest: (req, next) => { + const url2 = new URL(req.url); + if (!url2.searchParams.get("api-version") && options.apiVersion) { + req.url = `${req.url}${Array.from(url2.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`; + } + return next(req); + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/keyCredentialAuthenticationPolicy.js +var keyCredentialAuthenticationPolicyName = "keyCredentialAuthenticationPolicy"; +function keyCredentialAuthenticationPolicy(credential, apiKeyHeaderName) { + return { + name: keyCredentialAuthenticationPolicyName, + async sendRequest(request3, next) { + request3.headers.set(apiKeyHeaderName, credential.key); + return next(request3); + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/clientHelpers.js +var cachedHttpClient; +function addCredentialPipelinePolicy(pipeline, endpoint, options = {}) { + var _a4, _b2, _c2, _d2; + const { credential, clientOptions } = options; + if (!credential) { + return; + } + if (isTokenCredential(credential)) { + const tokenPolicy = bearerTokenAuthenticationPolicy({ + credential, + scopes: (_b2 = (_a4 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _a4 === void 0 ? void 0 : _a4.scopes) !== null && _b2 !== void 0 ? _b2 : `${endpoint}/.default` + }); + pipeline.addPolicy(tokenPolicy); + } else if (isKeyCredential2(credential)) { + if (!((_c2 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _c2 === void 0 ? void 0 : _c2.apiKeyHeaderName)) { + throw new Error(`Missing API Key Header Name`); + } + const keyPolicy = keyCredentialAuthenticationPolicy(credential, (_d2 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _d2 === void 0 ? void 0 : _d2.apiKeyHeaderName); + pipeline.addPolicy(keyPolicy); + } +} +function createDefaultPipeline(endpoint, credential, options = {}) { + const pipeline = createPipelineFromOptions(options); + pipeline.addPolicy(apiVersionPolicy(options)); + addCredentialPipelinePolicy(pipeline, endpoint, { credential, clientOptions: options }); + return pipeline; +} +function isKeyCredential2(credential) { + return credential.key !== void 0; +} +function getCachedDefaultHttpsClient() { + if (!cachedHttpClient) { + cachedHttpClient = createDefaultHttpClient(); + } + return cachedHttpClient; +} + +// node_modules/@azure-rest/core-client/dist/esm/operationOptionHelpers.js +function operationOptionsToRequestParameters(options) { + var _a4, _b2, _c2, _d2, _e2, _f; + return { + allowInsecureConnection: (_a4 = options.requestOptions) === null || _a4 === void 0 ? void 0 : _a4.allowInsecureConnection, + timeout: (_b2 = options.requestOptions) === null || _b2 === void 0 ? void 0 : _b2.timeout, + skipUrlEncoding: (_c2 = options.requestOptions) === null || _c2 === void 0 ? void 0 : _c2.skipUrlEncoding, + abortSignal: options.abortSignal, + onUploadProgress: (_d2 = options.requestOptions) === null || _d2 === void 0 ? void 0 : _d2.onUploadProgress, + onDownloadProgress: (_e2 = options.requestOptions) === null || _e2 === void 0 ? void 0 : _e2.onDownloadProgress, + tracingOptions: options.tracingOptions, + headers: Object.assign({}, (_f = options.requestOptions) === null || _f === void 0 ? void 0 : _f.headers), + onResponse: options.onResponse + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/helpers/isReadableStream.js +function isReadableStream2(body) { + return Boolean(body) && typeof body.pipe === "function"; +} + +// node_modules/@azure-rest/core-client/dist/esm/sendRequest.js +async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) { + var _a4; + const httpClient = customHttpClient !== null && customHttpClient !== void 0 ? customHttpClient : getCachedDefaultHttpsClient(); + const request3 = buildPipelineRequest(method, url2, options); + const response = await pipeline.sendRequest(httpClient, request3); + const headers = response.headers.toJSON(); + const stream4 = (_a4 = response.readableStreamBody) !== null && _a4 !== void 0 ? _a4 : response.browserStreamBody; + const parsedBody = options.responseAsStream || stream4 !== void 0 ? void 0 : getResponseBody(response); + const body = stream4 !== null && stream4 !== void 0 ? stream4 : parsedBody; + if (options === null || options === void 0 ? void 0 : options.onResponse) { + options.onResponse(Object.assign(Object.assign({}, response), { request: request3, rawHeaders: headers, parsedBody })); + } + return { + request: request3, + headers, + status: `${response.status}`, + body + }; +} +function getRequestContentType(options = {}) { + var _a4, _b2, _c2; + return (_c2 = (_a4 = options.contentType) !== null && _a4 !== void 0 ? _a4 : (_b2 = options.headers) === null || _b2 === void 0 ? void 0 : _b2["content-type"]) !== null && _c2 !== void 0 ? _c2 : getContentType(options.body); +} +function getContentType(body) { + if (ArrayBuffer.isView(body)) { + return "application/octet-stream"; + } + if (typeof body === "string") { + try { + JSON.parse(body); + return "application/json; charset=UTF-8"; + } catch (error) { + return void 0; + } + } + return "application/json; charset=UTF-8"; +} +function buildPipelineRequest(method, url2, options = {}) { + var _a4, _b2, _c2; + const requestContentType = getRequestContentType(options); + const { body, formData } = getRequestBody(options.body, requestContentType); + const hasContent = body !== void 0 || formData !== void 0; + const headers = createHttpHeaders(Object.assign(Object.assign(Object.assign({}, options.headers ? options.headers : {}), { accept: (_c2 = (_a4 = options.accept) !== null && _a4 !== void 0 ? _a4 : (_b2 = options.headers) === null || _b2 === void 0 ? void 0 : _b2.accept) !== null && _c2 !== void 0 ? _c2 : "application/json" }), hasContent && requestContentType && { + "content-type": requestContentType + })); + return createPipelineRequest({ + url: url2, + method, + body, + formData, + headers, + allowInsecureConnection: options.allowInsecureConnection, + tracingOptions: options.tracingOptions, + abortSignal: options.abortSignal, + onUploadProgress: options.onUploadProgress, + onDownloadProgress: options.onDownloadProgress, + timeout: options.timeout, + enableBrowserStreams: true, + streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0 + }); +} +function getRequestBody(body, contentType = "") { + if (body === void 0) { + return { body: void 0 }; + } + if (isReadableStream2(body)) { + return { body }; + } + const firstType = contentType.split(";")[0]; + if (firstType === "application/json") { + return { body: JSON.stringify(body) }; + } + if (ArrayBuffer.isView(body)) { + return { body: body instanceof Uint8Array ? body : JSON.stringify(body) }; + } + switch (firstType) { + case "multipart/form-data": + return isRLCFormDataInput(body) ? { formData: processFormData(body) } : { body: JSON.stringify(body) }; + case "text/plain": + return { body: String(body) }; + default: + if (typeof body === "string") { + return { body }; + } + return { body: JSON.stringify(body) }; + } +} +function isRLCFormDataValue(value) { + return typeof value === "string" || value instanceof Uint8Array || typeof value.stream === "function"; +} +function isRLCFormDataInput(body) { + return body !== void 0 && body instanceof Object && Object.values(body).every((value) => isRLCFormDataValue(value) || Array.isArray(value) && value.every(isRLCFormDataValue)); +} +function processFormDataValue(value) { + return value instanceof Uint8Array ? createFile(value, "blob") : value; +} +function processFormData(formData) { + const processedFormData = {}; + for (const element in formData) { + const value = formData[element]; + processedFormData[element] = Array.isArray(value) ? value.map(processFormDataValue) : processFormDataValue(value); + } + return processedFormData; +} +function getResponseBody(response) { + var _a4, _b2; + const contentType = (_a4 = response.headers.get("content-type")) !== null && _a4 !== void 0 ? _a4 : ""; + const firstType = contentType.split(";")[0]; + const bodyToParse = (_b2 = response.bodyAsText) !== null && _b2 !== void 0 ? _b2 : ""; + if (firstType === "text/plain") { + return String(bodyToParse); + } + try { + return bodyToParse ? JSON.parse(bodyToParse) : void 0; + } catch (error) { + if (firstType === "application/json") { + throw createParseError(response, error); + } + return String(bodyToParse); + } +} +function createParseError(response, err) { + var _a4; + const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`; + const errCode = (_a4 = err.code) !== null && _a4 !== void 0 ? _a4 : RestError.PARSE_ERROR; + return new RestError(msg, { + code: errCode, + statusCode: response.status, + request: response.request, + response + }); +} + +// node_modules/@azure-rest/core-client/dist/esm/urlHelpers.js +function buildRequestUrl(endpoint, routePath, pathParameters, options = {}) { + if (routePath.startsWith("https://") || routePath.startsWith("http://")) { + return routePath; + } + endpoint = buildBaseUrl(endpoint, options); + routePath = buildRoutePath(routePath, pathParameters, options); + const requestUrl = appendQueryParams(`${endpoint}/${routePath}`, options); + const url2 = new URL(requestUrl); + return url2.toString().replace(/([^:]\/)\/+/g, "$1"); +} +function appendQueryParams(url2, options = {}) { + if (!options.queryParameters) { + return url2; + } + let parsedUrl = new URL(url2); + const queryParams = options.queryParameters; + for (const key of Object.keys(queryParams)) { + const param = queryParams[key]; + if (param === void 0 || param === null) { + continue; + } + if (!param.toString || typeof param.toString !== "function") { + throw new Error(`Query parameters must be able to be represented as string, ${key} can't`); + } + const value = param.toISOString !== void 0 ? param.toISOString() : param.toString(); + parsedUrl.searchParams.append(key, value); + } + if (options.skipUrlEncoding) { + parsedUrl = skipQueryParameterEncoding(parsedUrl); + } + return parsedUrl.toString(); +} +function skipQueryParameterEncoding(url2) { + if (!url2) { + return url2; + } + const searchPieces = []; + for (const [name, value] of url2.searchParams) { + searchPieces.push(`${name}=${value}`); + } + url2.search = searchPieces.length ? `?${searchPieces.join("&")}` : ""; + return url2; +} +function buildBaseUrl(endpoint, options) { + var _a4; + if (!options.pathParameters) { + return endpoint; + } + const pathParams = options.pathParameters; + for (const [key, param] of Object.entries(pathParams)) { + if (param === void 0 || param === null) { + throw new Error(`Path parameters ${key} must not be undefined or null`); + } + if (!param.toString || typeof param.toString !== "function") { + throw new Error(`Path parameters must be able to be represented as string, ${key} can't`); + } + let value = param.toISOString !== void 0 ? param.toISOString() : String(param); + if (!options.skipUrlEncoding) { + value = encodeURIComponent(param); + } + endpoint = (_a4 = replaceAll(endpoint, `{${key}}`, value)) !== null && _a4 !== void 0 ? _a4 : ""; + } + return endpoint; +} +function buildRoutePath(routePath, pathParameters, options = {}) { + for (const pathParam of pathParameters) { + let value = pathParam; + if (!options.skipUrlEncoding) { + value = encodeURIComponent(pathParam); + } + routePath = routePath.replace(/\{\w+\}/, value); + } + return routePath; +} +function replaceAll(value, searchValue, replaceValue) { + return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || ""); +} + +// node_modules/@azure-rest/core-client/dist/esm/getClient.js +function getClient(endpoint, credentialsOrPipelineOptions, clientOptions = {}) { + var _a4, _b2; + let credentials; + if (credentialsOrPipelineOptions) { + if (isCredential(credentialsOrPipelineOptions)) { + credentials = credentialsOrPipelineOptions; + } else { + clientOptions = credentialsOrPipelineOptions !== null && credentialsOrPipelineOptions !== void 0 ? credentialsOrPipelineOptions : {}; + } + } + const pipeline = createDefaultPipeline(endpoint, credentials, clientOptions); + if ((_a4 = clientOptions.additionalPolicies) === null || _a4 === void 0 ? void 0 : _a4.length) { + for (const { policy, position } of clientOptions.additionalPolicies) { + const afterPhase = position === "perRetry" ? "Sign" : void 0; + pipeline.addPolicy(policy, { + afterPhase + }); + } + } + const { allowInsecureConnection, httpClient } = clientOptions; + const endpointUrl = (_b2 = clientOptions.endpoint) !== null && _b2 !== void 0 ? _b2 : endpoint; + const client = (path5, ...args) => { + const getUrl = (requestOptions) => buildRequestUrl(endpointUrl, path5, args, Object.assign({ allowInsecureConnection }, requestOptions)); + return { + get: (requestOptions = {}) => { + return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + post: (requestOptions = {}) => { + return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + put: (requestOptions = {}) => { + return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + patch: (requestOptions = {}) => { + return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + delete: (requestOptions = {}) => { + return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + head: (requestOptions = {}) => { + return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + options: (requestOptions = {}) => { + return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + trace: (requestOptions = {}) => { + return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + } + }; + }; + return { + path: client, + pathUnchecked: client, + pipeline + }; +} +function buildOperation(method, url2, pipeline, options, allowInsecureConnection, httpClient) { + var _a4; + allowInsecureConnection = (_a4 = options.allowInsecureConnection) !== null && _a4 !== void 0 ? _a4 : allowInsecureConnection; + return { + then: function(onFulfilled, onrejected) { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection }), httpClient).then(onFulfilled, onrejected); + }, + async asBrowserStream() { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection, responseAsStream: true }), httpClient); + }, + async asNodeStream() { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection, responseAsStream: true }), httpClient); + } + }; +} +function isCredential(param) { + if (param.key !== void 0 || isTokenCredential(param)) { + return true; + } + return false; +} + +// node_modules/@azure/openai/dist-esm/src/logger.js +var logger2 = createClientLogger("openai"); + +// node_modules/@azure/openai/dist-esm/src/rest/openAIClient.js +function createClient(endpoint, credentials, options = {}) { + var _a4, _b2, _c2, _d2, _e2, _f, _g, _h; + const baseUrl = (_a4 = options.baseUrl) !== null && _a4 !== void 0 ? _a4 : `${endpoint}/openai`; + options.apiVersion = (_b2 = options.apiVersion) !== null && _b2 !== void 0 ? _b2 : "2024-03-01-preview"; + const userAgentInfo = `azsdk-js-openai-rest/1.0.0-beta.12`; + const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}` : `${userAgentInfo}`; + options = Object.assign(Object.assign({}, options), { userAgentOptions: { + userAgentPrefix + }, loggingOptions: { + logger: (_d2 = (_c2 = options.loggingOptions) === null || _c2 === void 0 ? void 0 : _c2.logger) !== null && _d2 !== void 0 ? _d2 : logger2.info + }, credentials: { + scopes: (_f = (_e2 = options.credentials) === null || _e2 === void 0 ? void 0 : _e2.scopes) !== null && _f !== void 0 ? _f : ["https://cognitiveservices.azure.com/.default"], + apiKeyHeaderName: (_h = (_g = options.credentials) === null || _g === void 0 ? void 0 : _g.apiKeyHeaderName) !== null && _h !== void 0 ? _h : "api-key" + } }); + const client = getClient(baseUrl, credentials, options); + return client; +} + +// node_modules/@azure/openai/dist-esm/src/rest/isUnexpected.js +var responseMap = { + "POST /deployments/{deploymentId}/audio/transcriptions": ["200"], + "POST /deployments/{deploymentId}/audio/translations": ["200"], + "POST /deployments/{deploymentId}/completions": ["200"], + "POST /deployments/{deploymentId}/chat/completions": ["200"], + "POST /deployments/{deploymentId}/images/generations": ["200"], + "POST /deployments/{deploymentId}/embeddings": ["200"], + "GET /operations/images/{operationId}": ["200"], + "POST /images/generations:submit": ["202"], + "GET /images/generations:submit": ["200", "202"] +}; +function isUnexpected(response) { + const lroOriginal = response.headers["x-ms-original-url"]; + const url2 = new URL(lroOriginal !== null && lroOriginal !== void 0 ? lroOriginal : response.request.url); + const method = response.request.method; + let pathDetails = responseMap[`${method} ${url2.pathname}`]; + if (!pathDetails) { + pathDetails = getParametrizedPathSuccess(method, url2.pathname); + } + return !pathDetails.includes(response.status); +} +function getParametrizedPathSuccess(method, path5) { + var _a4, _b2, _c2, _d2; + const pathParts = path5.split("/"); + let matchedLen = -1, matchedValue = []; + for (const [key, value] of Object.entries(responseMap)) { + if (!key.startsWith(method)) { + continue; + } + const candidatePath = getPathFromMapKey(key); + const candidateParts = candidatePath.split("/"); + let found = true; + for (let i3 = candidateParts.length - 1, j4 = pathParts.length - 1; i3 >= 1 && j4 >= 1; i3--, j4--) { + if (((_a4 = candidateParts[i3]) === null || _a4 === void 0 ? void 0 : _a4.startsWith("{")) && ((_b2 = candidateParts[i3]) === null || _b2 === void 0 ? void 0 : _b2.indexOf("}")) !== -1) { + const start = candidateParts[i3].indexOf("}") + 1, end = (_c2 = candidateParts[i3]) === null || _c2 === void 0 ? void 0 : _c2.length; + const isMatched = new RegExp(`${(_d2 = candidateParts[i3]) === null || _d2 === void 0 ? void 0 : _d2.slice(start, end)}`).test(pathParts[j4] || ""); + if (!isMatched) { + found = false; + break; + } + continue; + } + if (candidateParts[i3] !== pathParts[j4]) { + found = false; + break; + } + } + if (found && candidatePath.length > matchedLen) { + matchedLen = candidatePath.length; + matchedValue = value; + } + } + return matchedValue; +} +function getPathFromMapKey(mapKey) { + const pathStart = mapKey.indexOf("/"); + return mapKey.slice(pathStart); +} + +// node_modules/@azure/openai/dist-esm/src/rest/index.js +var rest_default = createClient; + +// node_modules/@azure/openai/dist-esm/src/api/OpenAIContext.js +function createOpenAI(endpoint, credential, options = {}) { + const clientContext = rest_default(endpoint, credential, options); + return clientContext; +} + +// node_modules/@azure/openai/dist-esm/src/api/util.js +function wrapError(f4, message) { + try { + const result = f4(); + return result; + } catch (cause) { + throw new Error(`${message}: ${cause}`, { cause }); + } +} +function camelCaseKeys(obj) { + if (typeof obj !== "object" || !obj) + return obj; + if (Array.isArray(obj)) { + return obj.map((v5) => camelCaseKeys(v5)); + } else { + for (const key of Object.keys(obj)) { + const value = obj[key]; + const newKey = tocamelCase(key); + if (newKey !== key) { + delete obj[key]; + } + obj[newKey] = typeof obj[newKey] === "object" ? camelCaseKeys(value) : value; + } + return obj; + } +} +function snakeCaseKeys(obj) { + if (typeof obj !== "object" || !obj) + return obj; + if (Array.isArray(obj)) { + return obj.map((v5) => snakeCaseKeys(v5)); + } else { + for (const key of Object.keys(obj)) { + const value = obj[key]; + const newKey = toSnakeCase(key); + if (newKey !== key) { + delete obj[key]; + } + obj[newKey] = typeof obj[newKey] === "object" ? snakeCaseKeys(value) : value; + } + return obj; + } +} +function tocamelCase(str) { + return str.toLowerCase().replace(/([_][a-z])/g, (group) => group.toUpperCase().replace("_", "")); +} +function toSnakeCase(str) { + return str.replace(/([A-Z])/g, (group) => `_${group.toLowerCase()}`).replace(/^_/, ""); +} + +// node_modules/@azure/openai/dist-esm/src/utils/serializeUtil.js +function serializeChatRequestUserMessage(obj) { + return { + role: obj["role"], + content: typeof obj["content"] === "string" ? obj["content"] : obj["content"].map(serializeChatRequestContentItemUnion), + name: obj["name"] + }; +} +function serializeChatRequestContentItemUnion(obj) { + switch (obj.type) { + case "image_url": + return serializeChatMessageImageContentItem(obj); + default: + return obj; + } +} +function serializeChatRequestAssistantMessage(obj) { + if (obj.content === void 0) { + obj.content = null; + } + const { functionCall, toolCalls } = obj, rest = __rest(obj, ["functionCall", "toolCalls"]); + return Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), !toolCalls || toolCalls.length === 0 ? {} : { tool_calls: toolCalls }), functionCall ? { function_call: functionCall } : {}); +} +function serializeChatRequestToolMessage(obj) { + return { + role: obj["role"], + content: obj["content"], + tool_call_id: obj["toolCallId"] + }; +} +function serializeChatRequestMessageUnion(obj) { + switch (obj.role) { + case "user": + return serializeChatRequestUserMessage(obj); + case "assistant": + return serializeChatRequestAssistantMessage(obj); + case "tool": + return serializeChatRequestToolMessage(obj); + default: + return obj; + } +} +function serializeChatMessageImageContentItem(obj) { + return { + type: obj["type"], + image_url: { url: obj.imageUrl["url"], detail: obj.imageUrl["detail"] } + }; +} +function serializeAzureSearchChatExtensionConfiguration(obj) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + endpoint: obj["endpoint"], + index_name: obj["indexName"], + fields_mapping: !obj.fieldsMapping ? void 0 : { + title_field: (_a4 = obj.fieldsMapping) === null || _a4 === void 0 ? void 0 : _a4["titleField"], + url_field: (_b2 = obj.fieldsMapping) === null || _b2 === void 0 ? void 0 : _b2["urlField"], + filepath_field: (_c2 = obj.fieldsMapping) === null || _c2 === void 0 ? void 0 : _c2["filepathField"], + content_fields: (_d2 = obj.fieldsMapping) === null || _d2 === void 0 ? void 0 : _d2["contentFields"], + content_fields_separator: (_e2 = obj.fieldsMapping) === null || _e2 === void 0 ? void 0 : _e2["contentFieldsSeparator"], + vector_fields: (_f = obj.fieldsMapping) === null || _f === void 0 ? void 0 : _f["vectorFields"], + image_vector_fields: (_g = obj.fieldsMapping) === null || _g === void 0 ? void 0 : _g["imageVectorFields"] + }, + query_type: obj["queryType"], + semantic_configuration: obj["semanticConfiguration"], + filter: obj["filter"], + embedding_dependency: !obj.embeddingDependency ? obj.embeddingDependency : serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeAzureMachineLearningIndexChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + project_resource_id: obj["projectResourceId"], + name: obj["name"], + version: obj["version"], + filter: obj["filter"] + } + }; +} +function serializeAzureCosmosDBChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + database_name: obj["databaseName"], + container_name: obj["containerName"], + index_name: obj["indexName"], + fields_mapping: { + title_field: obj.fieldsMapping["titleField"], + url_field: obj.fieldsMapping["urlField"], + filepath_field: obj.fieldsMapping["filepathField"], + content_fields: obj.fieldsMapping["contentFields"], + content_fields_separator: obj.fieldsMapping["contentFieldsSeparator"], + vector_fields: obj.fieldsMapping["vectorFields"] + }, + embedding_dependency: serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeElasticsearchChatExtensionConfiguration(obj) { + var _a4, _b2, _c2, _d2, _e2, _f; + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + endpoint: obj["endpoint"], + index_name: obj["indexName"], + fields_mapping: !obj.fieldsMapping ? void 0 : { + title_field: (_a4 = obj.fieldsMapping) === null || _a4 === void 0 ? void 0 : _a4["titleField"], + url_field: (_b2 = obj.fieldsMapping) === null || _b2 === void 0 ? void 0 : _b2["urlField"], + filepath_field: (_c2 = obj.fieldsMapping) === null || _c2 === void 0 ? void 0 : _c2["filepathField"], + content_fields: (_d2 = obj.fieldsMapping) === null || _d2 === void 0 ? void 0 : _d2["contentFields"], + content_fields_separator: (_e2 = obj.fieldsMapping) === null || _e2 === void 0 ? void 0 : _e2["contentFieldsSeparator"], + vector_fields: (_f = obj.fieldsMapping) === null || _f === void 0 ? void 0 : _f["vectorFields"] + }, + query_type: obj["queryType"], + embedding_dependency: !obj.embeddingDependency ? obj.embeddingDependency : serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializePineconeChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + environment: obj["environment"], + index_name: obj["indexName"], + fields_mapping: { + title_field: obj.fieldsMapping["titleField"], + url_field: obj.fieldsMapping["urlField"], + filepath_field: obj.fieldsMapping["filepathField"], + content_fields: obj.fieldsMapping["contentFields"], + content_fields_separator: obj.fieldsMapping["contentFieldsSeparator"] + }, + embedding_dependency: serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeAzureChatExtensionConfigurationUnion(obj) { + switch (obj.type) { + case "azure_search": + return serializeAzureSearchChatExtensionConfiguration(obj); + case "azure_ml_index": + return serializeAzureMachineLearningIndexChatExtensionConfiguration(obj); + case "azure_cosmos_db": + return serializeAzureCosmosDBChatExtensionConfiguration(obj); + case "elasticsearch": + return serializeElasticsearchChatExtensionConfiguration(obj); + case "pinecone": + return serializePineconeChatExtensionConfiguration(obj); + default: + return obj; + } +} +function serializeOnYourDataConnectionStringAuthenticationOptions(obj) { + return { type: obj["type"], connection_string: obj["connectionString"] }; +} +function serializeOnYourDataKeyAndKeyIdAuthenticationOptions(obj) { + return { type: obj["type"], key: obj["key"], key_id: obj["keyId"] }; +} +function serializeOnYourDataEncodedApiKeyAuthenticationOptions(obj) { + return { type: obj["type"], encoded_api_key: obj["encodedApiKey"] }; +} +function serializeOnYourDataAccessTokenAuthenticationOptions(obj) { + return { type: obj["type"], access_token: obj["accessToken"] }; +} +function serializeOnYourDataUserAssignedManagedIdentityAuthenticationOptions(obj) { + return { + type: obj["type"], + managed_identity_resource_id: obj["managedIdentityResourceId"] + }; +} +function serializeOnYourDataAuthenticationOptionsUnion(obj) { + switch (obj.type) { + case "connection_string": + return serializeOnYourDataConnectionStringAuthenticationOptions(obj); + case "key_and_key_id": + return serializeOnYourDataKeyAndKeyIdAuthenticationOptions(obj); + case "encoded_api_key": + return serializeOnYourDataEncodedApiKeyAuthenticationOptions(obj); + case "access_token": + return serializeOnYourDataAccessTokenAuthenticationOptions(obj); + case "user_assigned_managed_identity": + return serializeOnYourDataUserAssignedManagedIdentityAuthenticationOptions(obj); + default: + return obj; + } +} +function serializeOnYourDataEndpointVectorizationSource(obj) { + return { + type: obj["type"], + endpoint: obj["endpoint"], + authentication: serializeOnYourDataAuthenticationOptionsUnion(obj.authentication) + }; +} +function serializeOnYourDataDeploymentNameVectorizationSource(obj) { + return { type: obj["type"], deployment_name: obj["deploymentName"] }; +} +function serializeOnYourDataModelIdVectorizationSource(obj) { + return { type: obj["type"], model_id: obj["modelId"] }; +} +function serializeOnYourDataVectorizationSourceUnion(obj) { + switch (obj.type) { + case "endpoint": + return serializeOnYourDataEndpointVectorizationSource(obj); + case "deployment_name": + return serializeOnYourDataDeploymentNameVectorizationSource(obj); + case "model_id": + return serializeOnYourDataModelIdVectorizationSource(obj); + default: + return obj; + } +} + +// node_modules/@azure/openai/dist-esm/src/api/getSSEs.js +async function getStream2(response) { + const { body, status } = await response.asNodeStream(); + if (status !== "200" && body !== void 0) { + const text = await streamToText2(body); + throw wrapError(() => JSON.parse(text).error, "Error parsing response body"); + } + if (!body) + throw new Error("No stream found in response. Did you enable the stream option?"); + return body; +} +function streamToText2(stream4) { + return new Promise((resolve, reject) => { + const buffer = []; + stream4.on("data", (chunk) => { + if (Buffer.isBuffer(chunk)) { + buffer.push(chunk); + } else { + buffer.push(Buffer.from(chunk)); + } + }); + stream4.on("end", () => { + resolve(Buffer.concat(buffer).toString("utf8")); + }); + stream4.on("error", (e3) => { + if (e3 && (e3 === null || e3 === void 0 ? void 0 : e3.name) === "AbortError") { + reject(e3); + } else { + reject(new RestError(`Error reading response as text: ${e3.message}`, { + code: RestError.PARSE_ERROR + })); + } + }); + }); +} + +// node_modules/@azure/core-sse/dist/esm/utils.js +function createStream(asyncIter, cancel) { + const stream4 = iteratorToStream(asyncIter, cancel); + return polyfillStream(stream4, cancel); +} +function polyfillStream(stream4, dispose) { + makeAsyncIterable2(stream4); + makeAsyncDisposable(stream4, dispose); + return stream4; +} +function makeAsyncDisposable(webStream, dispose) { + var _a4; + (_a4 = Symbol.asyncDispose) !== null && _a4 !== void 0 ? _a4 : Symbol.asyncDispose = Symbol("Symbol.asyncDispose"); + if (!webStream[Symbol.asyncDispose]) { + webStream[Symbol.asyncDispose] = () => dispose(); + } +} +function makeAsyncIterable2(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = () => toAsyncIterable(webStream); + } + if (!webStream.values) { + webStream.values = () => toAsyncIterable(webStream); + } +} +function iteratorToStream(iterator, cancel) { + return new ReadableStream({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + controller.close(); + } else { + controller.enqueue(value); + } + }, + cancel + }); +} +function ensureAsyncIterable(stream4) { + if (isReadableStream3(stream4)) { + makeAsyncIterable2(stream4); + return { + cancel: () => stream4.cancel(), + iterable: stream4 + }; + } else { + return { + cancel: async () => { + stream4.socket.end(); + }, + iterable: stream4 + }; + } +} +function isReadableStream3(body) { + return Boolean(body && typeof body.getReader === "function" && typeof body.tee === "function"); +} +function toAsyncIterable(stream4) { + return __asyncGenerator(this, arguments, function* toAsyncIterable_1() { + const reader = stream4.getReader(); + try { + while (true) { + const { value, done } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + yield __await(cancelPromise); + } + }); +} + +// node_modules/@azure/core-sse/dist/esm/sse.js +var ControlChars; +(function(ControlChars2) { + ControlChars2[ControlChars2["NewLine"] = 10] = "NewLine"; + ControlChars2[ControlChars2["CarriageReturn"] = 13] = "CarriageReturn"; + ControlChars2[ControlChars2["Space"] = 32] = "Space"; + ControlChars2[ControlChars2["Colon"] = 58] = "Colon"; +})(ControlChars || (ControlChars = {})); +function createSseStream(chunkStream) { + const { cancel, iterable } = ensureAsyncIterable(chunkStream); + const asyncIter = toMessage(toLine(iterable)); + return createStream(asyncIter, cancel); +} +function concatBuffer(a4, b7) { + const res = new Uint8Array(a4.length + b7.length); + res.set(a4); + res.set(b7, a4.length); + return res; +} +function createMessage() { + return { + data: void 0, + event: "", + id: "", + retry: void 0 + }; +} +function toLine(chunkIter) { + return __asyncGenerator(this, arguments, function* toLine_1() { + var _a4, e_1, _b2, _c2; + let buf; + let bufIdx = 0; + let fieldLen = -1; + let discardTrailingNewline = false; + try { + for (var _d2 = true, chunkIter_1 = __asyncValues(chunkIter), chunkIter_1_1; chunkIter_1_1 = yield __await(chunkIter_1.next()), _a4 = chunkIter_1_1.done, !_a4; _d2 = true) { + _c2 = chunkIter_1_1.value; + _d2 = false; + const chunk = _c2; + if (buf === void 0) { + buf = chunk; + bufIdx = 0; + fieldLen = -1; + } else { + buf = concatBuffer(buf, chunk); + } + const bufLen = buf.length; + let start = 0; + while (bufIdx < bufLen) { + if (discardTrailingNewline) { + if (buf[bufIdx] === ControlChars.NewLine) { + start = ++bufIdx; + } + discardTrailingNewline = false; + } + let end = -1; + for (; bufIdx < bufLen && end === -1; ++bufIdx) { + switch (buf[bufIdx]) { + case ControlChars.Colon: + if (fieldLen === -1) { + fieldLen = bufIdx - start; + } + break; + case ControlChars.CarriageReturn: + discardTrailingNewline = true; + end = bufIdx; + break; + case ControlChars.NewLine: + end = bufIdx; + break; + } + } + if (end === -1) { + break; + } + yield yield __await({ line: buf.subarray(start, end), fieldLen }); + start = bufIdx; + fieldLen = -1; + } + if (start === bufLen) { + buf = void 0; + } else if (start !== 0) { + buf = buf.subarray(start); + bufIdx -= start; + } + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = chunkIter_1.return)) + yield __await(_b2.call(chunkIter_1)); + } finally { + if (e_1) + throw e_1.error; + } + } + }); +} +function toMessage(lineIter) { + return __asyncGenerator(this, arguments, function* toMessage_1() { + var _a4, e_2, _b2, _c2; + let message = createMessage(); + const decoder = new TextDecoder(); + try { + for (var _d2 = true, lineIter_1 = __asyncValues(lineIter), lineIter_1_1; lineIter_1_1 = yield __await(lineIter_1.next()), _a4 = lineIter_1_1.done, !_a4; _d2 = true) { + _c2 = lineIter_1_1.value; + _d2 = false; + const { line, fieldLen } = _c2; + if (line.length === 0 && message.data !== void 0) { + yield yield __await(message); + message = createMessage(); + } else if (fieldLen > 0) { + const field = decoder.decode(line.subarray(0, fieldLen)); + const valueOffset = fieldLen + (line[fieldLen + 1] === ControlChars.Space ? 2 : 1); + const value = decoder.decode(line.subarray(valueOffset)); + switch (field) { + case "data": + message.data = message.data ? message.data + "\n" + value : value; + break; + case "event": + message.event = value; + break; + case "id": + message.id = value; + break; + case "retry": { + const retry = parseInt(value, 10); + if (!isNaN(retry)) { + message.retry = retry; + } + break; + } + } + } + } + } catch (e_2_1) { + e_2 = { error: e_2_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = lineIter_1.return)) + yield __await(_b2.call(lineIter_1)); + } finally { + if (e_2) + throw e_2.error; + } + } + }); +} + +// node_modules/@azure/openai/dist-esm/src/api/readableStreamUtils.js +function polyfillStream2(stream4) { + makeAsyncIterable3(stream4); + return stream4; +} +function makeAsyncIterable3(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = () => toAsyncIterable2(webStream); + } + if (!webStream.values) { + webStream.values = () => toAsyncIterable2(webStream); + } +} +function toAsyncIterable2(stream4) { + return __asyncGenerator(this, arguments, function* toAsyncIterable_1() { + const reader = stream4.getReader(); + try { + while (true) { + const { value, done } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + yield __await(cancelPromise); + } + }); +} + +// node_modules/@azure/openai/dist-esm/src/api/oaiSse.js +async function getOaiSSEs(response, toEvent) { + const stringStream = await getStream2(response); + const eventStream = createSseStream(stringStream); + const jsonParser = new TransformStream({ + transform: async (chunk, controller) => { + if (chunk.data === "[DONE]") { + return; + } + controller.enqueue(toEvent(wrapError(() => JSON.parse(chunk.data), "Error parsing an event. See 'cause' for more details"))); + } + }); + return polyfillStream2(eventStream.pipeThrough(jsonParser)); +} + +// node_modules/@azure/openai/dist-esm/src/api/operations.js +async function getAudioTranscription(context, deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const { body, status } = await context.pathUnchecked("deployments/{deploymentName}/audio/transcriptions", deploymentName).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters({ + abortSignal, + onResponse, + tracingOptions, + requestOptions + })), { contentType: "multipart/form-data", body: Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), { file: createFile(fileContent, "placeholder.wav") }), response_format ? { response_format } : {}) })); + if (status !== "200") { + throw body.error; + } + return response_format !== "verbose_json" ? body : camelCaseKeys(body); +} +async function getAudioTranslation(context, deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const { body, status } = await context.pathUnchecked("deployments/{deploymentName}/audio/translations", deploymentName).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters({ + abortSignal, + onResponse, + tracingOptions, + requestOptions + })), { contentType: "multipart/form-data", body: Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), { file: createFile(fileContent, "placeholder.wav") }), response_format ? { response_format } : {}) })); + if (status !== "200") { + throw body.error; + } + return response_format !== "verbose_json" ? body : camelCaseKeys(body); +} +function _getCompletionsSend(context, deploymentId, body, options = { requestOptions: {} }) { + return context.path("/deployments/{deploymentId}/completions", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + prompt: body["prompt"], + max_tokens: body["maxTokens"], + temperature: body["temperature"], + top_p: body["topP"], + logit_bias: body["logitBias"], + user: body["user"], + n: body["n"], + logprobs: body["logprobs"], + suffix: body["suffix"], + echo: body["echo"], + stop: body["stop"], + presence_penalty: body["presencePenalty"], + frequency_penalty: body["frequencyPenalty"], + best_of: body["bestOf"], + stream: body["stream"], + model: body["model"] + } })); +} +async function _getCompletionsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return getCompletionsResult(result.body); +} +function getCompletionsResult(body) { + const { created, choices, prompt_filter_results, prompt_annotations } = body, rest = __rest(body, ["created", "choices", "prompt_filter_results", "prompt_annotations"]); + return Object.assign(Object.assign(Object.assign(Object.assign({}, camelCaseKeys(rest)), { created: new Date(created) }), { + promptFilterResults: getContentFilterResultsForPrompt({ + prompt_filter_results, + prompt_annotations + }) + }), { choices: choices.map((_a4) => { + var { content_filter_results } = _a4, choice = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(choice)), !content_filter_results ? {} : { + contentFilterResults: parseContentFilterResultsForChoiceOutput(content_filter_results) + }); + }) }); +} +async function getCompletions(context, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getCompletionsSend(context, deploymentId, body, options); + return _getCompletionsDeserialize(result); +} +function streamCompletions(context, deploymentName, prompt, options = { requestOptions: {} }) { + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const response = _getCompletionsSend(context, deploymentName, Object.assign(Object.assign({ prompt }, rest), { stream: true }), { abortSignal, onResponse, requestOptions, tracingOptions }); + return getOaiSSEs(response, getCompletionsResult); +} +function _getChatCompletionsSend(context, deploymentId, body, options = { requestOptions: {} }) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + return context.path("/deployments/{deploymentId}/chat/completions", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + model: body["model"], + stream: body["stream"], + max_tokens: body["maxTokens"], + temperature: body["temperature"], + top_p: body["topP"], + logit_bias: body["logitBias"], + user: body["user"], + n: body["n"], + stop: body["stop"], + presence_penalty: body["presencePenalty"], + frequency_penalty: body["frequencyPenalty"], + data_sources: body["dataSources"] === void 0 ? body["dataSources"] : body["dataSources"].map((p4) => serializeAzureChatExtensionConfigurationUnion(p4)), + enhancements: !body.enhancements ? void 0 : { + grounding: !((_a4 = body.enhancements) === null || _a4 === void 0 ? void 0 : _a4.grounding) ? void 0 : { enabled: (_c2 = (_b2 = body.enhancements) === null || _b2 === void 0 ? void 0 : _b2.grounding) === null || _c2 === void 0 ? void 0 : _c2["enabled"] }, + ocr: !((_d2 = body.enhancements) === null || _d2 === void 0 ? void 0 : _d2.ocr) ? void 0 : { enabled: (_f = (_e2 = body.enhancements) === null || _e2 === void 0 ? void 0 : _e2.ocr) === null || _f === void 0 ? void 0 : _f["enabled"] } + }, + seed: body["seed"], + logprobs: body["logprobs"], + top_logprobs: body["topLogprobs"], + response_format: !body.responseFormat ? void 0 : { type: (_g = body.responseFormat) === null || _g === void 0 ? void 0 : _g["type"] }, + tool_choice: body["toolChoice"], + tools: body["tools"], + functions: body["functions"] === void 0 ? body["functions"] : body["functions"].map((p4) => ({ + name: p4["name"], + description: p4["description"], + parameters: p4["parameters"] + })), + function_call: body["functionCall"], + messages: body["messages"].map((p4) => serializeChatRequestMessageUnion(p4)) + } })); +} +async function _getChatCompletionsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return getChatCompletionsResult(result.body); +} +function getChatCompletionsResult(body) { + const { created, choices, prompt_filter_results, prompt_annotations, usage } = body, rest = __rest(body, ["created", "choices", "prompt_filter_results", "prompt_annotations", "usage"]); + return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, camelCaseKeys(rest)), { created: new Date(created) }), { + promptFilterResults: getContentFilterResultsForPrompt({ + prompt_filter_results, + prompt_annotations + }) + }), !usage ? {} : { + usage: { + completionTokens: usage["completion_tokens"], + promptTokens: usage["prompt_tokens"], + totalTokens: usage["total_tokens"] + } + }), { choices: !choices ? [] : choices.map((_a4) => { + var { content_filter_results } = _a4, choice = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(choice)), !content_filter_results ? {} : { + contentFilterResults: parseContentFilterResultsForChoiceOutput(content_filter_results) + }); + }) }); +} +async function getChatCompletions(context, deploymentName, messages, options = { requestOptions: {} }) { + const result = await _getChatCompletionsSendX(context, deploymentName, messages, options); + return _getChatCompletionsDeserialize(result); +} +function _getChatCompletionsSendX(context, deploymentName, messages, options = { requestOptions: {} }) { + const { azureExtensionOptions, abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["azureExtensionOptions", "abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const coreOptions = { + abortSignal, + onResponse, + requestOptions, + tracingOptions + }; + const azure2 = Object.assign(Object.assign({}, !(azureExtensionOptions === null || azureExtensionOptions === void 0 ? void 0 : azureExtensionOptions.extensions) ? {} : { dataSources: azureExtensionOptions.extensions }), !(azureExtensionOptions === null || azureExtensionOptions === void 0 ? void 0 : azureExtensionOptions.enhancements) ? {} : { enhancements: azureExtensionOptions.enhancements }); + return _getChatCompletionsSend(context, deploymentName, Object.assign(Object.assign({ messages }, rest), azure2), coreOptions); +} +function streamChatCompletions(context, deploymentName, messages, options = { requestOptions: {} }) { + const response = _getChatCompletionsSendX(context, deploymentName, messages, Object.assign(Object.assign({}, options), { stream: true })); + return getOaiSSEs(response, getChatCompletionsResult); +} +function _getImageGenerationsSend(context, deploymentId, body, options = { requestOptions: {} }) { + return context.path("/deployments/{deploymentId}/images/generations", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + model: body["model"], + prompt: body["prompt"], + n: body["n"], + size: body["size"], + response_format: body["responseFormat"], + quality: body["quality"], + style: body["style"], + user: body["user"] + } })); +} +async function _getImageGenerationsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return { + created: new Date(result.body["created"]), + data: result.body["data"].map((p4) => { + var _a4, _b2, _c2, _d2, _e2, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r2, _s, _t2, _u, _v, _w, _x, _y, _z, _0, _1, _22, _32, _42, _52, _62, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _222, _23, _24, _25; + return { + url: p4["url"], + base64Data: p4["b64_json"], + contentFilterResults: !p4.content_filter_results ? void 0 : { + sexual: !((_a4 = p4.content_filter_results) === null || _a4 === void 0 ? void 0 : _a4.sexual) ? void 0 : { + severity: (_c2 = (_b2 = p4.content_filter_results) === null || _b2 === void 0 ? void 0 : _b2.sexual) === null || _c2 === void 0 ? void 0 : _c2["severity"], + filtered: (_e2 = (_d2 = p4.content_filter_results) === null || _d2 === void 0 ? void 0 : _d2.sexual) === null || _e2 === void 0 ? void 0 : _e2["filtered"] + }, + violence: !((_f = p4.content_filter_results) === null || _f === void 0 ? void 0 : _f.violence) ? void 0 : { + severity: (_h = (_g = p4.content_filter_results) === null || _g === void 0 ? void 0 : _g.violence) === null || _h === void 0 ? void 0 : _h["severity"], + filtered: (_k = (_j = p4.content_filter_results) === null || _j === void 0 ? void 0 : _j.violence) === null || _k === void 0 ? void 0 : _k["filtered"] + }, + hate: !((_l = p4.content_filter_results) === null || _l === void 0 ? void 0 : _l.hate) ? void 0 : { + severity: (_o = (_m = p4.content_filter_results) === null || _m === void 0 ? void 0 : _m.hate) === null || _o === void 0 ? void 0 : _o["severity"], + filtered: (_q = (_p = p4.content_filter_results) === null || _p === void 0 ? void 0 : _p.hate) === null || _q === void 0 ? void 0 : _q["filtered"] + }, + selfHarm: !((_r2 = p4.content_filter_results) === null || _r2 === void 0 ? void 0 : _r2.self_harm) ? void 0 : { + severity: (_t2 = (_s = p4.content_filter_results) === null || _s === void 0 ? void 0 : _s.self_harm) === null || _t2 === void 0 ? void 0 : _t2["severity"], + filtered: (_v = (_u = p4.content_filter_results) === null || _u === void 0 ? void 0 : _u.self_harm) === null || _v === void 0 ? void 0 : _v["filtered"] + } + }, + revisedPrompt: p4["revised_prompt"], + promptFilterResults: !p4.prompt_filter_results ? void 0 : { + sexual: !((_w = p4.prompt_filter_results) === null || _w === void 0 ? void 0 : _w.sexual) ? void 0 : { + severity: (_y = (_x = p4.prompt_filter_results) === null || _x === void 0 ? void 0 : _x.sexual) === null || _y === void 0 ? void 0 : _y["severity"], + filtered: (_0 = (_z = p4.prompt_filter_results) === null || _z === void 0 ? void 0 : _z.sexual) === null || _0 === void 0 ? void 0 : _0["filtered"] + }, + violence: !((_1 = p4.prompt_filter_results) === null || _1 === void 0 ? void 0 : _1.violence) ? void 0 : { + severity: (_32 = (_22 = p4.prompt_filter_results) === null || _22 === void 0 ? void 0 : _22.violence) === null || _32 === void 0 ? void 0 : _32["severity"], + filtered: (_52 = (_42 = p4.prompt_filter_results) === null || _42 === void 0 ? void 0 : _42.violence) === null || _52 === void 0 ? void 0 : _52["filtered"] + }, + hate: !((_62 = p4.prompt_filter_results) === null || _62 === void 0 ? void 0 : _62.hate) ? void 0 : { + severity: (_8 = (_7 = p4.prompt_filter_results) === null || _7 === void 0 ? void 0 : _7.hate) === null || _8 === void 0 ? void 0 : _8["severity"], + filtered: (_10 = (_9 = p4.prompt_filter_results) === null || _9 === void 0 ? void 0 : _9.hate) === null || _10 === void 0 ? void 0 : _10["filtered"] + }, + selfHarm: !((_11 = p4.prompt_filter_results) === null || _11 === void 0 ? void 0 : _11.self_harm) ? void 0 : { + severity: (_13 = (_12 = p4.prompt_filter_results) === null || _12 === void 0 ? void 0 : _12.self_harm) === null || _13 === void 0 ? void 0 : _13["severity"], + filtered: (_15 = (_14 = p4.prompt_filter_results) === null || _14 === void 0 ? void 0 : _14.self_harm) === null || _15 === void 0 ? void 0 : _15["filtered"] + }, + profanity: !((_16 = p4.prompt_filter_results) === null || _16 === void 0 ? void 0 : _16.profanity) ? void 0 : { + filtered: (_18 = (_17 = p4.prompt_filter_results) === null || _17 === void 0 ? void 0 : _17.profanity) === null || _18 === void 0 ? void 0 : _18["filtered"], + detected: (_20 = (_19 = p4.prompt_filter_results) === null || _19 === void 0 ? void 0 : _19.profanity) === null || _20 === void 0 ? void 0 : _20["detected"] + }, + jailbreak: !((_21 = p4.prompt_filter_results) === null || _21 === void 0 ? void 0 : _21.jailbreak) ? void 0 : { + filtered: (_23 = (_222 = p4.prompt_filter_results) === null || _222 === void 0 ? void 0 : _222.jailbreak) === null || _23 === void 0 ? void 0 : _23["filtered"], + detected: (_25 = (_24 = p4.prompt_filter_results) === null || _24 === void 0 ? void 0 : _24.jailbreak) === null || _25 === void 0 ? void 0 : _25["detected"] + } + } + }; + }) + }; +} +async function getImageGenerations(context, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getImageGenerationsSend(context, deploymentId, body, options); + return _getImageGenerationsDeserialize(result); +} +function _getEmbeddingsSend(context, deploymentId, body, options = { requestOptions: {} }) { + return context.path("/deployments/{deploymentId}/embeddings", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + user: body["user"], + model: body["model"], + input: body["input"], + dimensions: body["dimensions"] + } })); +} +async function _getEmbeddingsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return { + data: result.body["data"].map((p4) => ({ + embedding: p4["embedding"], + index: p4["index"] + })), + usage: { + promptTokens: result.body.usage["prompt_tokens"], + totalTokens: result.body.usage["total_tokens"] + } + }; +} +async function getEmbeddings(context, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getEmbeddingsSend(context, deploymentId, body, options); + return _getEmbeddingsDeserialize(result); +} +function getContentFilterResultsForPrompt({ prompt_annotations, prompt_filter_results }) { + const res = prompt_filter_results !== null && prompt_filter_results !== void 0 ? prompt_filter_results : prompt_annotations; + return res === null || res === void 0 ? void 0 : res.map((_a4) => { + var { content_filter_results } = _a4, rest = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(rest)), { contentFilterResults: parseContentFilterResultDetailsForPromptOutput(content_filter_results) }); + }); +} +function parseContentFilterResultDetailsForPromptOutput(_a4 = {}) { + var { error } = _a4, rest = __rest(_a4, ["error"]); + return error ? parseError(error) : camelCaseKeys(rest); +} +function parseError(error) { + var _a4; + return { + error: Object.assign(Object.assign({}, error), { details: (_a4 = error["details"]) !== null && _a4 !== void 0 ? _a4 : [] }) + }; +} +function parseContentFilterResultsForChoiceOutput(_a4 = {}) { + var _b2; + var { error } = _a4, successResult = __rest(_a4, ["error"]); + return error ? { + error: Object.assign(Object.assign({}, error), { details: (_b2 = error["details"]) !== null && _b2 !== void 0 ? _b2 : [] }) + } : camelCaseKeys(successResult); +} + +// node_modules/@azure/openai/dist-esm/src/api/policies/nonAzure.js +function nonAzurePolicy() { + const policy = { + name: "openAiEndpoint", + sendRequest: (request3, next) => { + const obj = new URL(request3.url); + const parts = obj.pathname.split("/"); + switch (parts[parts.length - 1]) { + case "completions": + if (parts[parts.length - 2] === "chat") { + obj.pathname = `${parts[1]}/chat/completions`; + } else { + obj.pathname = `${parts[1]}/completions`; + } + break; + case "embeddings": + obj.pathname = `${parts[1]}/embeddings`; + break; + case "generations": + if (parts[parts.length - 2] === "images") { + obj.pathname = `${parts[1]}/images/generations`; + } else { + throw new Error("Unexpected path"); + } + break; + case "transcriptions": + obj.pathname = `${parts[1]}/audio/transcriptions`; + break; + case "translations": + obj.pathname = `${parts[1]}/audio/translations`; + break; + } + obj.searchParams.delete("api-version"); + request3.url = obj.toString(); + return next(request3); + } + }; + return policy; +} + +// node_modules/@azure/openai/dist-esm/src/OpenAIClient.js +function createOpenAIEndpoint(version) { + return `https://api.openai.com/v${version}`; +} +function isCred(cred) { + return isTokenCredential(cred) || cred.key !== void 0; +} +var OpenAIClient = class { + constructor(endpointOrOpenAiKey, credOrOptions = {}, options = {}) { + var _a4, _b2; + this._isAzure = false; + let opts; + let endpoint; + let cred; + if (isCred(credOrOptions)) { + endpoint = endpointOrOpenAiKey; + cred = credOrOptions; + opts = options; + this._isAzure = true; + } else { + endpoint = createOpenAIEndpoint(1); + cred = endpointOrOpenAiKey; + const { credentials } = credOrOptions, restOpts = __rest(credOrOptions, ["credentials"]); + opts = Object.assign({ credentials: { + apiKeyHeaderName: (_a4 = credentials === null || credentials === void 0 ? void 0 : credentials.apiKeyHeaderName) !== null && _a4 !== void 0 ? _a4 : "Authorization", + scopes: credentials === null || credentials === void 0 ? void 0 : credentials.scopes + } }, restOpts); + } + this._client = createOpenAI(endpoint, cred, Object.assign(Object.assign({}, opts), this._isAzure ? {} : { + additionalPolicies: [ + ...(_b2 = opts.additionalPolicies) !== null && _b2 !== void 0 ? _b2 : [], + { + position: "perCall", + policy: nonAzurePolicy() + } + ] + })); + } + setModel(model, options) { + if (!this._isAzure) { + options.model = model; + } + } + async getAudioTranslation(deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + this.setModel(deploymentName, options); + if (response_format === void 0) { + return getAudioTranslation(this._client, deploymentName, fileContent, options); + } + return getAudioTranslation(this._client, deploymentName, fileContent, response_format, options); + } + async getAudioTranscription(deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + this.setModel(deploymentName, options); + if (response_format === void 0) { + return getAudioTranscription(this._client, deploymentName, fileContent, options); + } + return getAudioTranscription(this._client, deploymentName, fileContent, response_format, options); + } + getCompletions(deploymentName, prompt, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getCompletions(this._client, deploymentName, Object.assign({ prompt }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } + streamCompletions(deploymentName, prompt, options = {}) { + this.setModel(deploymentName, options); + return streamCompletions(this._client, deploymentName, prompt, options); + } + getChatCompletions(deploymentName, messages, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + return getChatCompletions(this._client, deploymentName, messages, options); + } + streamChatCompletions(deploymentName, messages, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + return streamChatCompletions(this._client, deploymentName, messages, options); + } + getImages(deploymentName, prompt, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getImageGenerations(this._client, deploymentName, Object.assign({ prompt }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } + getEmbeddings(deploymentName, input, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getEmbeddings(this._client, deploymentName, Object.assign({ input }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } +}; + +// src/engine/azure.ts +var config4 = getConfig(); +var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var basePath2 = config4?.OCO_OPENAI_BASE_PATH; +var apiKey2 = config4?.OCO_AZURE_API_KEY; +var apiEndpoint = config4?.OCO_AZURE_ENDPOINT; +var [command2, mode2] = process.argv.slice(2); +var provider2 = config4?.OCO_AI_PROVIDER; +if (provider2 === "azure" && !apiKey2 && !apiEndpoint && command2 !== "config" && mode2 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_AZURE_API_KEY or OCO_AZURE_ENDPOINT are not set, please run `oco config set OCO_AZURE_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL2 = config4?.OCO_MODEL || "gpt-3.5-turbo"; +var Azure = class { + openAI; + constructor() { + if (provider2 === "azure") { + this.openAI = new OpenAIClient(apiEndpoint, new AzureKeyCredential(apiKey2)); + } + } + generateCommitMessage = async (messages) => { + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.openAI.getChatCompletions(MODEL2, messages); + const message = data.choices[0].message; + if (message?.content === null) { + return void 0; + } + return message?.content; + } catch (error) { + ce(`${source_default.red("\u2716")} ${MODEL2}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const openAiError = error.response.data.error; + if (openAiError?.message) + ce(openAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var azure = new Azure(); + +// node_modules/@anthropic-ai/sdk/version.mjs +var VERSION3 = "0.19.2"; + +// node_modules/@anthropic-ai/sdk/_shims/registry.mjs +var auto = false; +var kind = void 0; +var fetch = void 0; +var Request = void 0; +var Response = void 0; +var Headers = void 0; +var FormData3 = void 0; +var Blob2 = void 0; +var File2 = void 0; +var ReadableStream2 = void 0; +var getMultipartRequestOptions = void 0; +var getDefaultAgent = void 0; +var fileFromPath = void 0; +var isFsReadStream = void 0; +function setShims(shims, options = { auto: false }) { + if (auto) { + throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); + } + if (kind) { + throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); + } + auto = options.auto; + kind = shims.kind; + fetch = shims.fetch; + Request = shims.Request; + Response = shims.Response; + Headers = shims.Headers; + FormData3 = shims.FormData; + Blob2 = shims.Blob; + File2 = shims.File; + ReadableStream2 = shims.ReadableStream; + getMultipartRequestOptions = shims.getMultipartRequestOptions; + getDefaultAgent = shims.getDefaultAgent; + fileFromPath = shims.fileFromPath; + isFsReadStream = shims.isFsReadStream; +} + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var nf = __toESM(require_lib3(), 1); + +// node_modules/formdata-node/lib/esm/FormData.js +var import_util8 = require("util"); +init_File(); +init_isFile(); + +// node_modules/formdata-node/lib/esm/isBlob.js +init_Blob(); +var isBlob3 = (value) => value instanceof Blob3; + +// node_modules/formdata-node/lib/esm/FormData.js +init_isFunction(); + +// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js +var import_util7 = require("util"); +var deprecateConstructorEntries = (0, import_util7.deprecate)(() => { +}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); + +// node_modules/formdata-node/lib/esm/FormData.js +var __classPrivateFieldGet4 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _FormData_instances; +var _FormData_entries; +var _FormData_setEntry; +var FormData4 = class { + constructor(entries) { + _FormData_instances.add(this); + _FormData_entries.set(this, /* @__PURE__ */ new Map()); + if (entries) { + deprecateConstructorEntries(); + entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); + } + } + static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { + return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); + } + append(name, value, fileName) { + __classPrivateFieldGet4(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: true, + rawValue: value, + argsLength: arguments.length + }); + } + set(name, value, fileName) { + __classPrivateFieldGet4(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: false, + rawValue: value, + argsLength: arguments.length + }); + } + get(name) { + const field = __classPrivateFieldGet4(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return null; + } + return field[0]; + } + getAll(name) { + const field = __classPrivateFieldGet4(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return []; + } + return field.slice(); + } + has(name) { + return __classPrivateFieldGet4(this, _FormData_entries, "f").has(String(name)); + } + delete(name) { + __classPrivateFieldGet4(this, _FormData_entries, "f").delete(String(name)); + } + *keys() { + for (const key of __classPrivateFieldGet4(this, _FormData_entries, "f").keys()) { + yield key; + } + } + *entries() { + for (const name of this.keys()) { + const values = this.getAll(name); + for (const value of values) { + yield [name, value]; + } + } + } + *values() { + for (const [, value] of this) { + yield value; + } + } + [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { + const methodName = append2 ? "append" : "set"; + if (argsLength < 2) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); + } + name = String(name); + let value; + if (isFile2(rawValue)) { + value = fileName === void 0 ? rawValue : new File3([rawValue], fileName, { + type: rawValue.type, + lastModified: rawValue.lastModified + }); + } else if (isBlob3(rawValue)) { + value = new File3([rawValue], fileName === void 0 ? "blob" : fileName, { + type: rawValue.type + }); + } else if (fileName) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); + } else { + value = String(rawValue); + } + const values = __classPrivateFieldGet4(this, _FormData_entries, "f").get(name); + if (!values) { + return void __classPrivateFieldGet4(this, _FormData_entries, "f").set(name, [value]); + } + if (!append2) { + return void __classPrivateFieldGet4(this, _FormData_entries, "f").set(name, [value]); + } + values.push(value); + }, Symbol.iterator)]() { + return this.entries(); + } + forEach(callback, thisArg) { + for (const [name, value] of this) { + callback.call(thisArg, value, name, this); + } + } + get [Symbol.toStringTag]() { + return "FormData"; + } + [import_util8.inspect.custom]() { + return this[Symbol.toStringTag]; + } +}; + +// node_modules/formdata-node/lib/esm/index.js +init_Blob(); +init_File(); + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); +var import_abort_controller5 = __toESM(require_abort_controller(), 1); +var import_node_fs3 = require("node:fs"); + +// node_modules/form-data-encoder/lib/esm/util/createBoundary.js +var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; +function createBoundary() { + let size = 16; + let res = ""; + while (size--) { + res += alphabet[Math.random() * alphabet.length << 0]; + } + return res; +} +var createBoundary_default = createBoundary; + +// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js +var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); +function isPlainObject2(value) { + if (getType(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var isPlainObject_default = isPlainObject2; + +// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js +var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { + if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { + return "\r\n"; + } + return match; +}); +var normalizeValue_default = normalizeValue2; + +// node_modules/form-data-encoder/lib/esm/util/escapeName.js +var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); +var escapeName_default = escapeName; + +// node_modules/form-data-encoder/lib/esm/util/isFunction.js +var isFunction3 = (value) => typeof value === "function"; +var isFunction_default = isFunction3; + +// node_modules/form-data-encoder/lib/esm/util/isFileLike.js +var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); + +// node_modules/form-data-encoder/lib/esm/util/isFormData.js +var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); + +// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js +var __classPrivateFieldSet4 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet5 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _FormDataEncoder_instances; +var _FormDataEncoder_CRLF; +var _FormDataEncoder_CRLF_BYTES; +var _FormDataEncoder_CRLF_BYTES_LENGTH; +var _FormDataEncoder_DASHES; +var _FormDataEncoder_encoder; +var _FormDataEncoder_footer; +var _FormDataEncoder_form; +var _FormDataEncoder_options; +var _FormDataEncoder_getFieldHeader; +var defaultOptions = { + enableAdditionalHeaders: false +}; +var FormDataEncoder = class { + constructor(form, boundaryOrOptions, options) { + _FormDataEncoder_instances.add(this); + _FormDataEncoder_CRLF.set(this, "\r\n"); + _FormDataEncoder_CRLF_BYTES.set(this, void 0); + _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); + _FormDataEncoder_DASHES.set(this, "-".repeat(2)); + _FormDataEncoder_encoder.set(this, new TextEncoder()); + _FormDataEncoder_footer.set(this, void 0); + _FormDataEncoder_form.set(this, void 0); + _FormDataEncoder_options.set(this, void 0); + if (!isFormData2(form)) { + throw new TypeError("Expected first argument to be a FormData instance."); + } + let boundary; + if (isPlainObject_default(boundaryOrOptions)) { + options = boundaryOrOptions; + } else { + boundary = boundaryOrOptions; + } + if (!boundary) { + boundary = createBoundary_default(); + } + if (typeof boundary !== "string") { + throw new TypeError("Expected boundary argument to be a string."); + } + if (options && !isPlainObject_default(options)) { + throw new TypeError("Expected options argument to be an object."); + } + __classPrivateFieldSet4(this, _FormDataEncoder_form, form, "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")), "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); + this.boundary = `form-data-boundary-${boundary}`; + this.contentType = `multipart/form-data; boundary=${this.boundary}`; + __classPrivateFieldSet4(this, _FormDataEncoder_footer, __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); + this.contentLength = String(this.getContentLength()); + this.headers = Object.freeze({ + "Content-Type": this.contentType, + "Content-Length": this.contentLength + }); + Object.defineProperties(this, { + boundary: { writable: false, configurable: false }, + contentType: { writable: false, configurable: false }, + contentLength: { writable: false, configurable: false }, + headers: { writable: false, configurable: false } + }); + } + getContentLength() { + let length = 0; + for (const [name, raw] of __classPrivateFieldGet5(this, _FormDataEncoder_form, "f")) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + length += __classPrivateFieldGet5(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; + length += isFileLike(value) ? value.size : value.byteLength; + length += __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); + } + return length + __classPrivateFieldGet5(this, _FormDataEncoder_footer, "f").byteLength; + } + *values() { + for (const [name, raw] of __classPrivateFieldGet5(this, _FormDataEncoder_form, "f").entries()) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + yield __classPrivateFieldGet5(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); + yield value; + yield __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES, "f"); + } + yield __classPrivateFieldGet5(this, _FormDataEncoder_footer, "f"); + } + async *encode() { + for (const part of this.values()) { + if (isFileLike(part)) { + yield* part.stream(); + } else { + yield part; + } + } + } + [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { + let header = ""; + header += `${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; + if (isFileLike(value)) { + header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Type: ${value.type || "application/octet-stream"}`; + } + if (__classPrivateFieldGet5(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { + header += `${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; + } + return __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); + }, Symbol.iterator)]() { + return this.values(); + } + [Symbol.asyncIterator]() { + return this.encode(); + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_node_stream3 = require("node:stream"); + +// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs +var MultipartBody = class { + constructor(body) { + this.body = body; + } + get [Symbol.toStringTag]() { + return "MultipartBody"; + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); +var fileFromPathWarned = false; +async function fileFromPath3(path5, ...args) { + const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); + if (!fileFromPathWarned) { + console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path5)}) instead`); + fileFromPathWarned = true; + } + return await _fileFromPath(path5, ...args); +} +var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +async function getMultipartRequestOptions2(form, opts) { + const encoder = new FormDataEncoder(form); + const readable = import_node_stream3.Readable.from(encoder); + const body = new MultipartBody(readable); + const headers = { + ...opts.headers, + ...encoder.headers, + "Content-Length": encoder.contentLength + }; + return { ...opts, body, headers }; +} +function getRuntime() { + if (typeof AbortController === "undefined") { + globalThis.AbortController = import_abort_controller5.AbortController; + } + return { + kind: "node", + fetch: nf.default, + Request: nf.Request, + Response: nf.Response, + Headers: nf.Headers, + FormData: FormData4, + Blob: Blob3, + File: File3, + ReadableStream: import_ponyfill_es2018.ReadableStream, + getMultipartRequestOptions: getMultipartRequestOptions2, + getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, + fileFromPath: fileFromPath3, + isFsReadStream: (value) => value instanceof import_node_fs3.ReadStream + }; +} + +// node_modules/@anthropic-ai/sdk/_shims/index.mjs +if (!kind) + setShims(getRuntime(), { auto: true }); + +// node_modules/@anthropic-ai/sdk/error.mjs +var error_exports = {}; +__export(error_exports, { + APIConnectionError: () => APIConnectionError, + APIConnectionTimeoutError: () => APIConnectionTimeoutError, + APIError: () => APIError, + APIUserAbortError: () => APIUserAbortError, + AnthropicError: () => AnthropicError, + AuthenticationError: () => AuthenticationError, + BadRequestError: () => BadRequestError, + ConflictError: () => ConflictError, + InternalServerError: () => InternalServerError, + NotFoundError: () => NotFoundError, + PermissionDeniedError: () => PermissionDeniedError, + RateLimitError: () => RateLimitError, + UnprocessableEntityError: () => UnprocessableEntityError +}); +var AnthropicError = class extends Error { +}; +var APIError = class extends AnthropicError { + constructor(status, error, message, headers) { + super(`${APIError.makeMessage(status, error, message)}`); + this.status = status; + this.headers = headers; + this.error = error; + } + static makeMessage(status, error, message) { + const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; + if (status && msg) { + return `${status} ${msg}`; + } + if (status) { + return `${status} status code (no body)`; + } + if (msg) { + return msg; + } + return "(no status code or body)"; + } + static generate(status, errorResponse, message, headers) { + if (!status) { + return new APIConnectionError({ cause: castToError(errorResponse) }); + } + const error = errorResponse; + if (status === 400) { + return new BadRequestError(status, error, message, headers); + } + if (status === 401) { + return new AuthenticationError(status, error, message, headers); + } + if (status === 403) { + return new PermissionDeniedError(status, error, message, headers); + } + if (status === 404) { + return new NotFoundError(status, error, message, headers); + } + if (status === 409) { + return new ConflictError(status, error, message, headers); + } + if (status === 422) { + return new UnprocessableEntityError(status, error, message, headers); + } + if (status === 429) { + return new RateLimitError(status, error, message, headers); + } + if (status >= 500) { + return new InternalServerError(status, error, message, headers); + } + return new APIError(status, error, message, headers); + } +}; +var APIUserAbortError = class extends APIError { + constructor({ message } = {}) { + super(void 0, void 0, message || "Request was aborted.", void 0); + this.status = void 0; + } +}; +var APIConnectionError = class extends APIError { + constructor({ message, cause }) { + super(void 0, void 0, message || "Connection error.", void 0); + this.status = void 0; + if (cause) + this.cause = cause; + } +}; +var APIConnectionTimeoutError = class extends APIConnectionError { + constructor({ message } = {}) { + super({ message: message ?? "Request timed out." }); + } +}; +var BadRequestError = class extends APIError { + constructor() { + super(...arguments); + this.status = 400; + } +}; +var AuthenticationError = class extends APIError { + constructor() { + super(...arguments); + this.status = 401; + } +}; +var PermissionDeniedError = class extends APIError { + constructor() { + super(...arguments); + this.status = 403; + } +}; +var NotFoundError = class extends APIError { + constructor() { + super(...arguments); + this.status = 404; + } +}; +var ConflictError = class extends APIError { + constructor() { + super(...arguments); + this.status = 409; + } +}; +var UnprocessableEntityError = class extends APIError { + constructor() { + super(...arguments); + this.status = 422; + } +}; +var RateLimitError = class extends APIError { + constructor() { + super(...arguments); + this.status = 429; + } +}; +var InternalServerError = class extends APIError { +}; + +// node_modules/@anthropic-ai/sdk/streaming.mjs +var Stream = class { + constructor(iterator, controller) { + this.iterator = iterator; + this.controller = controller; + } + static fromSSEResponse(response, controller) { + let consumed = false; + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const sse of _iterSSEMessages(response, controller)) { + if (sse.event === "completion") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "ping") { + continue; + } + if (sse.event === "error") { + const errText = sse.data; + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); + } + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + static fromReadableStream(readableStream, controller) { + let consumed = false; + async function* iterLines() { + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(readableStream); + for await (const chunk of iter) { + for (const line of lineDecoder.decode(chunk)) { + yield line; + } + } + for (const line of lineDecoder.flush()) { + yield line; + } + } + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const line of iterLines()) { + if (done) + continue; + if (line) + yield JSON.parse(line); + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + [Symbol.asyncIterator]() { + return this.iterator(); + } + tee() { + const left = []; + const right = []; + const iterator = this.iterator(); + const teeIterator = (queue) => { + return { + next: () => { + if (queue.length === 0) { + const result = iterator.next(); + left.push(result); + right.push(result); + } + return queue.shift(); + } + }; + }; + return [ + new Stream(() => teeIterator(left), this.controller), + new Stream(() => teeIterator(right), this.controller) + ]; + } + toReadableStream() { + const self2 = this; + let iter; + const encoder = new TextEncoder(); + return new ReadableStream2({ + async start() { + iter = self2[Symbol.asyncIterator](); + }, + async pull(ctrl) { + try { + const { value, done } = await iter.next(); + if (done) + return ctrl.close(); + const bytes = encoder.encode(JSON.stringify(value) + "\n"); + ctrl.enqueue(bytes); + } catch (err) { + ctrl.error(err); + } + }, + async cancel() { + await iter.return?.(); + } + }); + } +}; +async function* _iterSSEMessages(response, controller) { + if (!response.body) { + controller.abort(); + throw new AnthropicError(`Attempted to iterate over a response with no body`); + } + const sseDecoder = new SSEDecoder(); + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(response.body); + for await (const sseChunk of iterSSEChunks(iter)) { + for (const line of lineDecoder.decode(sseChunk)) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } + } + for (const line of lineDecoder.flush()) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } +} +async function* iterSSEChunks(iterator) { + let data = new Uint8Array(); + for await (const chunk of iterator) { + if (chunk == null) { + continue; + } + const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; + let newData = new Uint8Array(data.length + binaryChunk.length); + newData.set(data); + newData.set(binaryChunk, data.length); + data = newData; + let patternIndex; + while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { + yield data.slice(0, patternIndex); + data = data.slice(patternIndex); + } + } + if (data.length > 0) { + yield data; + } +} +function findDoubleNewlineIndex(buffer) { + const newline = 10; + const carriage = 13; + for (let i3 = 0; i3 < buffer.length - 2; i3++) { + if (buffer[i3] === newline && buffer[i3 + 1] === newline) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { + return i3 + 4; + } + } + return -1; +} +var SSEDecoder = class { + constructor() { + this.event = null; + this.data = []; + this.chunks = []; + } + decode(line) { + if (line.endsWith("\r")) { + line = line.substring(0, line.length - 1); + } + if (!line) { + if (!this.event && !this.data.length) + return null; + const sse = { + event: this.event, + data: this.data.join("\n"), + raw: this.chunks + }; + this.event = null; + this.data = []; + this.chunks = []; + return sse; + } + this.chunks.push(line); + if (line.startsWith(":")) { + return null; + } + let [fieldname, _7, value] = partition(line, ":"); + if (value.startsWith(" ")) { + value = value.substring(1); + } + if (fieldname === "event") { + this.event = value; + } else if (fieldname === "data") { + this.data.push(value); + } + return null; + } +}; +var LineDecoder = class { + constructor() { + this.buffer = []; + this.trailingCR = false; + } + decode(chunk) { + let text = this.decodeText(chunk); + if (this.trailingCR) { + text = "\r" + text; + this.trailingCR = false; + } + if (text.endsWith("\r")) { + this.trailingCR = true; + text = text.slice(0, -1); + } + if (!text) { + return []; + } + const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); + let lines = text.split(LineDecoder.NEWLINE_REGEXP); + if (trailingNewline) { + lines.pop(); + } + if (lines.length === 1 && !trailingNewline) { + this.buffer.push(lines[0]); + return []; + } + if (this.buffer.length > 0) { + lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; + this.buffer = []; + } + if (!trailingNewline) { + this.buffer = [lines.pop() || ""]; + } + return lines; + } + decodeText(bytes) { + if (bytes == null) + return ""; + if (typeof bytes === "string") + return bytes; + if (typeof Buffer !== "undefined") { + if (bytes instanceof Buffer) { + return bytes.toString(); + } + if (bytes instanceof Uint8Array) { + return Buffer.from(bytes).toString(); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); + } + if (typeof TextDecoder !== "undefined") { + if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { + this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); + return this.textDecoder.decode(bytes); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); + } + throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); + } + flush() { + if (!this.buffer.length && !this.trailingCR) { + return []; + } + const lines = [this.buffer.join("")]; + this.buffer = []; + this.trailingCR = false; + return lines; + } +}; +LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); +LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; +function partition(str, delimiter) { + const index = str.indexOf(delimiter); + if (index !== -1) { + return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; + } + return [str, "", ""]; +} +function readableStreamAsyncIterable(stream4) { + if (stream4[Symbol.asyncIterator]) + return stream4; + const reader = stream4.getReader(); + return { + async next() { + try { + const result = await reader.read(); + if (result?.done) + reader.releaseLock(); + return result; + } catch (e3) { + reader.releaseLock(); + throw e3; + } + }, + async return() { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + await cancelPromise; + return { done: true, value: void 0 }; + }, + [Symbol.asyncIterator]() { + return this; + } + }; +} + +// node_modules/@anthropic-ai/sdk/uploads.mjs +var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; +var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); +var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; +async function toFile(value, name, options) { + value = await value; + options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); + if (isResponseLike(value)) { + const blob = await value.blob(); + name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); + return new File2([blob], name, options); + } + const bits = await getBytes(value); + name || (name = getName(value) ?? "unknown_file"); + if (!options.type) { + const type2 = bits[0]?.type; + if (typeof type2 === "string") { + options = { ...options, type: type2 }; + } + } + return new File2(bits, name, options); +} +async function getBytes(value) { + let parts = []; + if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { + parts.push(value); + } else if (isBlobLike(value)) { + parts.push(await value.arrayBuffer()); + } else if (isAsyncIterableIterator(value)) { + for await (const chunk of value) { + parts.push(chunk); + } + } else { + throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); + } + return parts; +} +function propsForError(value) { + const props = Object.getOwnPropertyNames(value); + return `[${props.map((p4) => `"${p4}"`).join(", ")}]`; +} +function getName(value) { + return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); +} +var getStringFromMaybeBuffer = (x5) => { + if (typeof x5 === "string") + return x5; + if (typeof Buffer !== "undefined" && x5 instanceof Buffer) + return String(x5); + return void 0; +}; +var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; +var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; + +// node_modules/@anthropic-ai/sdk/core.mjs +var __classPrivateFieldSet6 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet7 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _AbstractPage_client; +async function defaultParseResponse(props) { + const { response } = props; + if (props.options.stream) { + debug("response", response.status, response.url, response.headers, response.body); + if (props.options.__streamClass) { + return props.options.__streamClass.fromSSEResponse(response, props.controller); + } + return Stream.fromSSEResponse(response, props.controller); + } + if (response.status === 204) { + return null; + } + if (props.options.__binaryResponse) { + return response; + } + const contentType = response.headers.get("content-type"); + const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); + if (isJSON) { + const json = await response.json(); + debug("response", response.status, response.url, response.headers, json); + return json; + } + const text = await response.text(); + debug("response", response.status, response.url, response.headers, text); + return text; +} +var APIPromise = class extends Promise { + constructor(responsePromise, parseResponse = defaultParseResponse) { + super((resolve) => { + resolve(null); + }); + this.responsePromise = responsePromise; + this.parseResponse = parseResponse; + } + _thenUnwrap(transform) { + return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); + } + asResponse() { + return this.responsePromise.then((p4) => p4.response); + } + async withResponse() { + const [data, response] = await Promise.all([this.parse(), this.asResponse()]); + return { data, response }; + } + parse() { + if (!this.parsedPromise) { + this.parsedPromise = this.responsePromise.then(this.parseResponse); + } + return this.parsedPromise; + } + then(onfulfilled, onrejected) { + return this.parse().then(onfulfilled, onrejected); + } + catch(onrejected) { + return this.parse().catch(onrejected); + } + finally(onfinally) { + return this.parse().finally(onfinally); + } +}; +var APIClient = class { + constructor({ + baseURL, + maxRetries = 2, + timeout = 6e5, + httpAgent, + fetch: overridenFetch + }) { + this.baseURL = baseURL; + this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); + this.timeout = validatePositiveInteger("timeout", timeout); + this.httpAgent = httpAgent; + this.fetch = overridenFetch ?? fetch; + } + authHeaders(opts) { + return {}; + } + defaultHeaders(opts) { + return { + Accept: "application/json", + "Content-Type": "application/json", + "User-Agent": this.getUserAgent(), + ...getPlatformHeaders(), + ...this.authHeaders(opts) + }; + } + validateHeaders(headers, customHeaders) { + } + defaultIdempotencyKey() { + return `stainless-node-retry-${uuid4()}`; + } + get(path5, opts) { + return this.methodRequest("get", path5, opts); + } + post(path5, opts) { + return this.methodRequest("post", path5, opts); + } + patch(path5, opts) { + return this.methodRequest("patch", path5, opts); + } + put(path5, opts) { + return this.methodRequest("put", path5, opts); + } + delete(path5, opts) { + return this.methodRequest("delete", path5, opts); + } + methodRequest(method, path5, opts) { + return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path5, ...opts2 }))); + } + getAPIList(path5, Page, opts) { + return this.requestAPIList(Page, { method: "get", path: path5, ...opts }); + } + calculateContentLength(body) { + if (typeof body === "string") { + if (typeof Buffer !== "undefined") { + return Buffer.byteLength(body, "utf8").toString(); + } + if (typeof TextEncoder !== "undefined") { + const encoder = new TextEncoder(); + const encoded = encoder.encode(body); + return encoded.length.toString(); + } + } + return null; + } + buildRequest(options) { + const { method, path: path5, query, headers = {} } = options; + const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; + const contentLength = this.calculateContentLength(body); + const url2 = this.buildURL(path5, query); + if ("timeout" in options) + validatePositiveInteger("timeout", options.timeout); + const timeout = options.timeout ?? this.timeout; + const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); + const minAgentTimeout = timeout + 1e3; + if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { + httpAgent.options.timeout = minAgentTimeout; + } + if (this.idempotencyHeader && method !== "get") { + if (!options.idempotencyKey) + options.idempotencyKey = this.defaultIdempotencyKey(); + headers[this.idempotencyHeader] = options.idempotencyKey; + } + const reqHeaders = this.buildHeaders({ options, headers, contentLength }); + const req = { + method, + ...body && { body }, + headers: reqHeaders, + ...httpAgent && { agent: httpAgent }, + signal: options.signal ?? null + }; + return { req, url: url2, timeout }; + } + buildHeaders({ options, headers, contentLength }) { + const reqHeaders = {}; + if (contentLength) { + reqHeaders["content-length"] = contentLength; + } + const defaultHeaders = this.defaultHeaders(options); + applyHeadersMut(reqHeaders, defaultHeaders); + applyHeadersMut(reqHeaders, headers); + if (isMultipartBody(options.body) && kind !== "node") { + delete reqHeaders["content-type"]; + } + this.validateHeaders(reqHeaders, headers); + return reqHeaders; + } + async prepareOptions(options) { + } + async prepareRequest(request3, { url: url2, options }) { + } + parseHeaders(headers) { + return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; + } + makeStatusError(status, error, message, headers) { + return APIError.generate(status, error, message, headers); + } + request(options, remainingRetries = null) { + return new APIPromise(this.makeRequest(options, remainingRetries)); + } + async makeRequest(optionsInput, retriesRemaining) { + const options = await optionsInput; + if (retriesRemaining == null) { + retriesRemaining = options.maxRetries ?? this.maxRetries; + } + await this.prepareOptions(options); + const { req, url: url2, timeout } = this.buildRequest(options); + await this.prepareRequest(req, { url: url2, options }); + debug("request", url2, options, req.headers); + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + const controller = new AbortController(); + const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); + if (response instanceof Error) { + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + if (retriesRemaining) { + return this.retryRequest(options, retriesRemaining); + } + if (response.name === "AbortError") { + throw new APIConnectionTimeoutError(); + } + throw new APIConnectionError({ cause: response }); + } + const responseHeaders = createResponseHeaders(response.headers); + if (!response.ok) { + if (retriesRemaining && this.shouldRetry(response)) { + const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; + debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); + return this.retryRequest(options, retriesRemaining, responseHeaders); + } + const errText = await response.text().catch((e3) => castToError(e3).message); + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; + debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); + const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); + throw err; + } + return { response, options, controller }; + } + requestAPIList(Page, options) { + const request3 = this.makeRequest(options, null); + return new PagePromise(this, request3, Page); + } + buildURL(path5, query) { + const url2 = isAbsoluteURL2(path5) ? new URL(path5) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path5.startsWith("/") ? path5.slice(1) : path5)); + const defaultQuery = this.defaultQuery(); + if (!isEmptyObj(defaultQuery)) { + query = { ...defaultQuery, ...query }; + } + if (typeof query === "object" && query && !Array.isArray(query)) { + url2.search = this.stringifyQuery(query); + } + return url2.toString(); + } + stringifyQuery(query) { + return Object.entries(query).filter(([_7, value]) => typeof value !== "undefined").map(([key, value]) => { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + if (value === null) { + return `${encodeURIComponent(key)}=`; + } + throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); + }).join("&"); + } + async fetchWithTimeout(url2, init, ms, controller) { + const { signal, ...options } = init || {}; + if (signal) + signal.addEventListener("abort", () => controller.abort()); + const timeout = setTimeout(() => controller.abort(), ms); + return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { + clearTimeout(timeout); + }); + } + getRequestClient() { + return { fetch: this.fetch }; + } + shouldRetry(response) { + const shouldRetryHeader = response.headers.get("x-should-retry"); + if (shouldRetryHeader === "true") + return true; + if (shouldRetryHeader === "false") + return false; + if (response.status === 408) + return true; + if (response.status === 409) + return true; + if (response.status === 429) + return true; + if (response.status >= 500) + return true; + return false; + } + async retryRequest(options, retriesRemaining, responseHeaders) { + let timeoutMillis; + const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; + if (retryAfterMillisHeader) { + const timeoutMs = parseFloat(retryAfterMillisHeader); + if (!Number.isNaN(timeoutMs)) { + timeoutMillis = timeoutMs; + } + } + const retryAfterHeader = responseHeaders?.["retry-after"]; + if (retryAfterHeader && !timeoutMillis) { + const timeoutSeconds = parseFloat(retryAfterHeader); + if (!Number.isNaN(timeoutSeconds)) { + timeoutMillis = timeoutSeconds * 1e3; + } else { + timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); + } + } + if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { + const maxRetries = options.maxRetries ?? this.maxRetries; + timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); + } + await sleep(timeoutMillis); + return this.makeRequest(options, retriesRemaining - 1); + } + calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { + const initialRetryDelay = 0.5; + const maxRetryDelay = 8; + const numRetries = maxRetries - retriesRemaining; + const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); + const jitter = 1 - Math.random() * 0.25; + return sleepSeconds * jitter * 1e3; + } + getUserAgent() { + return `${this.constructor.name}/JS ${VERSION3}`; + } +}; +var AbstractPage = class { + constructor(client, response, body, options) { + _AbstractPage_client.set(this, void 0); + __classPrivateFieldSet6(this, _AbstractPage_client, client, "f"); + this.options = options; + this.response = response; + this.body = body; + } + hasNextPage() { + const items = this.getPaginatedItems(); + if (!items.length) + return false; + return this.nextPageInfo() != null; + } + async getNextPage() { + const nextInfo = this.nextPageInfo(); + if (!nextInfo) { + throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); + } + const nextOptions = { ...this.options }; + if ("params" in nextInfo && typeof nextOptions.query === "object") { + nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; + } else if ("url" in nextInfo) { + const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; + for (const [key, value] of params) { + nextInfo.url.searchParams.set(key, value); + } + nextOptions.query = void 0; + nextOptions.path = nextInfo.url.toString(); + } + return await __classPrivateFieldGet7(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); + } + async *iterPages() { + let page = this; + yield page; + while (page.hasNextPage()) { + page = await page.getNextPage(); + yield page; + } + } + async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { + for await (const page of this.iterPages()) { + for (const item of page.getPaginatedItems()) { + yield item; + } + } + } +}; +var PagePromise = class extends APIPromise { + constructor(client, request3, Page) { + super(request3, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); + } + async *[Symbol.asyncIterator]() { + const page = await this; + for await (const item of page) { + yield item; + } + } +}; +var createResponseHeaders = (headers) => { + return new Proxy(Object.fromEntries( + headers.entries() + ), { + get(target, name) { + const key = name.toString(); + return target[key.toLowerCase()] || target[key]; + } + }); +}; +var getPlatformProperties = () => { + if (typeof Deno !== "undefined" && Deno.build != null) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(Deno.build.os), + "X-Stainless-Arch": normalizeArch(Deno.build.arch), + "X-Stainless-Runtime": "deno", + "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" + }; + } + if (typeof EdgeRuntime !== "undefined") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": `other:${EdgeRuntime}`, + "X-Stainless-Runtime": "edge", + "X-Stainless-Runtime-Version": process.version + }; + } + if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(process.platform), + "X-Stainless-Arch": normalizeArch(process.arch), + "X-Stainless-Runtime": "node", + "X-Stainless-Runtime-Version": process.version + }; + } + const browserInfo = getBrowserInfo(); + if (browserInfo) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": `browser:${browserInfo.browser}`, + "X-Stainless-Runtime-Version": browserInfo.version + }; + } + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": "unknown", + "X-Stainless-Runtime-Version": "unknown" + }; +}; +function getBrowserInfo() { + if (typeof navigator === "undefined" || !navigator) { + return null; + } + const browserPatterns = [ + { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } + ]; + for (const { key, pattern } of browserPatterns) { + const match = pattern.exec(navigator.userAgent); + if (match) { + const major = match[1] || 0; + const minor = match[2] || 0; + const patch = match[3] || 0; + return { browser: key, version: `${major}.${minor}.${patch}` }; + } + } + return null; +} +var normalizeArch = (arch2) => { + if (arch2 === "x32") + return "x32"; + if (arch2 === "x86_64" || arch2 === "x64") + return "x64"; + if (arch2 === "arm") + return "arm"; + if (arch2 === "aarch64" || arch2 === "arm64") + return "arm64"; + if (arch2) + return `other:${arch2}`; + return "unknown"; +}; +var normalizePlatform = (platform) => { + platform = platform.toLowerCase(); + if (platform.includes("ios")) + return "iOS"; + if (platform === "android") + return "Android"; + if (platform === "darwin") + return "MacOS"; + if (platform === "win32") + return "Windows"; + if (platform === "freebsd") + return "FreeBSD"; + if (platform === "openbsd") + return "OpenBSD"; + if (platform === "linux") + return "Linux"; + if (platform) + return `Other:${platform}`; + return "Unknown"; +}; +var _platformHeaders; +var getPlatformHeaders = () => { + return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); +}; +var safeJSON = (text) => { + try { + return JSON.parse(text); + } catch (err) { + return void 0; + } +}; +var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); +var isAbsoluteURL2 = (url2) => { + return startsWithSchemeRegexp.test(url2); +}; +var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +var validatePositiveInteger = (name, n2) => { + if (typeof n2 !== "number" || !Number.isInteger(n2)) { + throw new AnthropicError(`${name} must be an integer`); + } + if (n2 < 0) { + throw new AnthropicError(`${name} must be a positive integer`); + } + return n2; +}; +var castToError = (err) => { + if (err instanceof Error) + return err; + return new Error(err); +}; +var readEnv = (env2) => { + if (typeof process !== "undefined") { + return process.env?.[env2]?.trim() ?? void 0; + } + if (typeof Deno !== "undefined") { + return Deno.env?.get?.(env2)?.trim(); + } + return void 0; +}; +function isEmptyObj(obj) { + if (!obj) + return true; + for (const _k in obj) + return false; + return true; +} +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} +function applyHeadersMut(targetHeaders, newHeaders) { + for (const k7 in newHeaders) { + if (!hasOwn(newHeaders, k7)) + continue; + const lowerKey = k7.toLowerCase(); + if (!lowerKey) + continue; + const val = newHeaders[k7]; + if (val === null) { + delete targetHeaders[lowerKey]; + } else if (val !== void 0) { + targetHeaders[lowerKey] = val; + } + } +} +function debug(action, ...args) { + if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { + console.log(`Anthropic:DEBUG:${action}`, ...args); + } +} +var uuid4 = () => { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c3) => { + const r3 = Math.random() * 16 | 0; + const v5 = c3 === "x" ? r3 : r3 & 3 | 8; + return v5.toString(16); + }); +}; + +// node_modules/@anthropic-ai/sdk/resource.mjs +var APIResource = class { + constructor(client) { + this._client = client; + } +}; + +// node_modules/@anthropic-ai/sdk/resources/completions.mjs +var Completions = class extends APIResource { + create(body, options) { + return this._client.post("/v1/complete", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } +}; +(function(Completions2) { +})(Completions || (Completions = {})); + +// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +var __classPrivateFieldSet7 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet8 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _MessageStream_instances; +var _MessageStream_currentMessageSnapshot; +var _MessageStream_connectedPromise; +var _MessageStream_resolveConnectedPromise; +var _MessageStream_rejectConnectedPromise; +var _MessageStream_endPromise; +var _MessageStream_resolveEndPromise; +var _MessageStream_rejectEndPromise; +var _MessageStream_listeners; +var _MessageStream_ended; +var _MessageStream_errored; +var _MessageStream_aborted; +var _MessageStream_catchingPromiseCreated; +var _MessageStream_getFinalMessage; +var _MessageStream_getFinalText; +var _MessageStream_handleError; +var _MessageStream_beginRequest; +var _MessageStream_addStreamEvent; +var _MessageStream_endRequest; +var _MessageStream_accumulateMessage; +var MessageStream = class { + constructor() { + _MessageStream_instances.add(this); + this.messages = []; + this.receivedMessages = []; + _MessageStream_currentMessageSnapshot.set(this, void 0); + this.controller = new AbortController(); + _MessageStream_connectedPromise.set(this, void 0); + _MessageStream_resolveConnectedPromise.set(this, () => { + }); + _MessageStream_rejectConnectedPromise.set(this, () => { + }); + _MessageStream_endPromise.set(this, void 0); + _MessageStream_resolveEndPromise.set(this, () => { + }); + _MessageStream_rejectEndPromise.set(this, () => { + }); + _MessageStream_listeners.set(this, {}); + _MessageStream_ended.set(this, false); + _MessageStream_errored.set(this, false); + _MessageStream_aborted.set(this, false); + _MessageStream_catchingPromiseCreated.set(this, false); + _MessageStream_handleError.set(this, (error) => { + __classPrivateFieldSet7(this, _MessageStream_errored, true, "f"); + if (error instanceof Error && error.name === "AbortError") { + error = new APIUserAbortError(); + } + if (error instanceof APIUserAbortError) { + __classPrivateFieldSet7(this, _MessageStream_aborted, true, "f"); + return this._emit("abort", error); + } + if (error instanceof AnthropicError) { + return this._emit("error", error); + } + if (error instanceof Error) { + const anthropicError = new AnthropicError(error.message); + anthropicError.cause = error; + return this._emit("error", anthropicError); + } + return this._emit("error", new AnthropicError(String(error))); + }); + __classPrivateFieldSet7(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_resolveConnectedPromise, resolve, "f"); + __classPrivateFieldSet7(this, _MessageStream_rejectConnectedPromise, reject, "f"); + }), "f"); + __classPrivateFieldSet7(this, _MessageStream_endPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_resolveEndPromise, resolve, "f"); + __classPrivateFieldSet7(this, _MessageStream_rejectEndPromise, reject, "f"); + }), "f"); + __classPrivateFieldGet8(this, _MessageStream_connectedPromise, "f").catch(() => { + }); + __classPrivateFieldGet8(this, _MessageStream_endPromise, "f").catch(() => { + }); + } + static fromReadableStream(stream4) { + const runner = new MessageStream(); + runner._run(() => runner._fromReadableStream(stream4)); + return runner; + } + static createMessage(messages, params, options) { + const runner = new MessageStream(); + for (const message of params.messages) { + runner._addMessageParam(message); + } + runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); + return runner; + } + _run(executor) { + executor().then(() => { + this._emitFinal(); + this._emit("end"); + }, __classPrivateFieldGet8(this, _MessageStream_handleError, "f")); + } + _addMessageParam(message) { + this.messages.push(message); + } + _addMessage(message, emit = true) { + this.receivedMessages.push(message); + if (emit) { + this._emit("message", message); + } + } + async _createMessage(messages, params, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); + this._connected(); + for await (const event of stream4) { + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + _connected() { + if (this.ended) + return; + __classPrivateFieldGet8(this, _MessageStream_resolveConnectedPromise, "f").call(this); + this._emit("connect"); + } + get ended() { + return __classPrivateFieldGet8(this, _MessageStream_ended, "f"); + } + get errored() { + return __classPrivateFieldGet8(this, _MessageStream_errored, "f"); + } + get aborted() { + return __classPrivateFieldGet8(this, _MessageStream_aborted, "f"); + } + abort() { + this.controller.abort(); + } + on(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener }); + return this; + } + off(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event]; + if (!listeners) + return this; + const index = listeners.findIndex((l3) => l3.listener === listener); + if (index >= 0) + listeners.splice(index, 1); + return this; + } + once(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener, once: true }); + return this; + } + emitted(event) { + return new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_catchingPromiseCreated, true, "f"); + if (event !== "error") + this.once("error", reject); + this.once(event, resolve); + }); + } + async done() { + __classPrivateFieldSet7(this, _MessageStream_catchingPromiseCreated, true, "f"); + await __classPrivateFieldGet8(this, _MessageStream_endPromise, "f"); + } + get currentMessage() { + return __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + } + async finalMessage() { + await this.done(); + return __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); + } + async finalText() { + await this.done(); + return __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); + } + _emit(event, ...args) { + if (__classPrivateFieldGet8(this, _MessageStream_ended, "f")) + return; + if (event === "end") { + __classPrivateFieldSet7(this, _MessageStream_ended, true, "f"); + __classPrivateFieldGet8(this, _MessageStream_resolveEndPromise, "f").call(this); + } + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event]; + if (listeners) { + __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); + listeners.forEach(({ listener }) => listener(...args)); + } + if (event === "abort") { + const error = args[0]; + if (!__classPrivateFieldGet8(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet8(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet8(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + return; + } + if (event === "error") { + const error = args[0]; + if (!__classPrivateFieldGet8(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet8(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet8(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + } + } + _emitFinal() { + const finalMessage = this.receivedMessages.at(-1); + if (finalMessage) { + this._emit("finalMessage", __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); + } + } + async _fromReadableStream(readableStream, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + this._connected(); + const stream4 = Stream.fromReadableStream(readableStream, this.controller); + for await (const event of stream4) { + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + return this.receivedMessages.at(-1); + }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); + if (textBlocks.length === 0) { + throw new AnthropicError("stream ended without producing a content block with type=text"); + } + return textBlocks.join(" "); + }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { + if (this.ended) + return; + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { + if (this.ended) + return; + const messageSnapshot = __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); + this._emit("streamEvent", event, messageSnapshot); + switch (event.type) { + case "content_block_delta": { + if (event.delta.type === "text_delta") { + this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); + } + break; + } + case "message_stop": { + this._addMessageParam(messageSnapshot); + this._addMessage(messageSnapshot, true); + break; + } + case "content_block_stop": { + this._emit("contentBlock", messageSnapshot.content.at(-1)); + break; + } + case "message_start": { + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); + break; + } + case "content_block_start": + case "message_delta": + break; + } + }, _MessageStream_endRequest = function _MessageStream_endRequest2() { + if (this.ended) { + throw new AnthropicError(`stream has ended, this shouldn't happen`); + } + const snapshot = __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + if (!snapshot) { + throw new AnthropicError(`request ended without sending any chunks`); + } + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + return snapshot; + }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { + let snapshot = __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + if (event.type === "message_start") { + if (snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); + } + return event.message; + } + if (!snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); + } + switch (event.type) { + case "message_stop": + return snapshot; + case "message_delta": + snapshot.stop_reason = event.delta.stop_reason; + snapshot.stop_sequence = event.delta.stop_sequence; + snapshot.usage.output_tokens = event.usage.output_tokens; + return snapshot; + case "content_block_start": + snapshot.content.push(event.content_block); + return snapshot; + case "content_block_delta": { + const snapshotContent = snapshot.content.at(event.index); + if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { + snapshotContent.text += event.delta.text; + } + return snapshot; + } + case "content_block_stop": + return snapshot; + } + }, Symbol.asyncIterator)]() { + const pushQueue = []; + const readQueue = []; + let done = false; + this.on("streamEvent", (event) => { + const reader = readQueue.shift(); + if (reader) { + reader.resolve(event); + } else { + pushQueue.push(event); + } + }); + this.on("end", () => { + done = true; + for (const reader of readQueue) { + reader.resolve(void 0); + } + readQueue.length = 0; + }); + this.on("abort", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + this.on("error", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + return { + next: async () => { + if (!pushQueue.length) { + if (done) { + return { value: void 0, done: true }; + } + return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); + } + const chunk = pushQueue.shift(); + return { value: chunk, done: false }; + }, + return: async () => { + this.abort(); + return { value: void 0, done: true }; + } + }; + } + toReadableStream() { + const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); + return stream4.toReadableStream(); + } +}; + +// node_modules/@anthropic-ai/sdk/resources/messages.mjs +var Messages = class extends APIResource { + create(body, options) { + return this._client.post("/v1/messages", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } + stream(body, options) { + return MessageStream.createMessage(this, body, options); + } +}; +(function(Messages2) { +})(Messages || (Messages = {})); + +// node_modules/@anthropic-ai/sdk/index.mjs +var _a3; +var Anthropic = class extends APIClient { + constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey4 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { + const options = { + apiKey: apiKey4, + authToken, + ...opts, + baseURL: baseURL || `https://api.anthropic.com` + }; + super({ + baseURL: options.baseURL, + timeout: options.timeout ?? 6e5, + httpAgent: options.httpAgent, + maxRetries: options.maxRetries, + fetch: options.fetch + }); + this.completions = new Completions(this); + this.messages = new Messages(this); + this._options = options; + this.apiKey = apiKey4; + this.authToken = authToken; + } + defaultQuery() { + return this._options.defaultQuery; + } + defaultHeaders(opts) { + return { + ...super.defaultHeaders(opts), + "anthropic-version": "2023-06-01", + ...this._options.defaultHeaders + }; + } + validateHeaders(headers, customHeaders) { + if (this.apiKey && headers["x-api-key"]) { + return; + } + if (customHeaders["x-api-key"] === null) { + return; + } + if (this.authToken && headers["authorization"]) { + return; + } + if (customHeaders["authorization"] === null) { + return; + } + throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); + } + authHeaders(opts) { + const apiKeyAuth = this.apiKeyAuth(opts); + const bearerAuth = this.bearerAuth(opts); + if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { + return apiKeyAuth; + } + if (bearerAuth != null && !isEmptyObj(bearerAuth)) { + return bearerAuth; + } + return {}; + } + apiKeyAuth(opts) { + if (this.apiKey == null) { + return {}; + } + return { "X-Api-Key": this.apiKey }; + } + bearerAuth(opts) { + if (this.authToken == null) { + return {}; + } + return { Authorization: `Bearer ${this.authToken}` }; + } +}; +_a3 = Anthropic; +Anthropic.Anthropic = _a3; +Anthropic.HUMAN_PROMPT = "\n\nHuman:"; +Anthropic.AI_PROMPT = "\n\nAssistant:"; +Anthropic.AnthropicError = AnthropicError; +Anthropic.APIError = APIError; +Anthropic.APIConnectionError = APIConnectionError; +Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; +Anthropic.APIUserAbortError = APIUserAbortError; +Anthropic.NotFoundError = NotFoundError; +Anthropic.ConflictError = ConflictError; +Anthropic.RateLimitError = RateLimitError; +Anthropic.BadRequestError = BadRequestError; +Anthropic.AuthenticationError = AuthenticationError; +Anthropic.InternalServerError = InternalServerError; +Anthropic.PermissionDeniedError = PermissionDeniedError; +Anthropic.UnprocessableEntityError = UnprocessableEntityError; +var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; +var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; +(function(Anthropic2) { + Anthropic2.toFile = toFile; + Anthropic2.fileFromPath = fileFromPath; + Anthropic2.Completions = Completions; + Anthropic2.Messages = Messages; +})(Anthropic || (Anthropic = {})); +var sdk_default = Anthropic; + +// src/engine/anthropic.ts +var config5 = getConfig(); +var MAX_TOKENS_OUTPUT3 = config5?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT3 = config5?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var provider3 = config5?.OCO_AI_PROVIDER; +var apiKey3 = config5?.OCO_ANTHROPIC_API_KEY; +var [command3, mode3] = process.argv.slice(2); +if (provider3 === "anthropic" && !apiKey3 && command3 !== "config" && mode3 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY=<your token> . If you are using Claude, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL3 = config5?.OCO_MODEL; +if (provider3 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL3) && command3 !== "config" && mode3 !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL3} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( + ", " + )}` + ); + process.exit(1); +} +var AnthropicAi = class { + anthropicAiApiConfiguration = { + apiKey: apiKey3 + }; + anthropicAI; + constructor() { + this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); + } + generateCommitMessage = async (messages) => { + const systemMessage = messages.find((msg) => msg.role === "system")?.content; + const restMessages = messages.filter((msg) => msg.role !== "system"); + const params = { + model: MODEL3, + system: systemMessage, + messages: restMessages, + temperature: 0, + top_p: 0.1, + max_tokens: MAX_TOKENS_OUTPUT3 + }; + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a4, b7) => a4 + b7, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT3 - MAX_TOKENS_OUTPUT3) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.anthropicAI.messages.create(params); + const message = data?.content[0].text; + return message; + } catch (error) { + ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const anthropicAiError = error.response.data.error; + if (anthropicAiError?.message) + ce(anthropicAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var anthropicAi = new AnthropicAi(); + +// src/engine/testAi.ts +var TestAi = class { + async generateCommitMessage(messages) { + return "test commit message"; + } +}; +var testAi = new TestAi(); + // src/utils/engine.ts function getEngine() { - const config8 = getConfig(); - const provider = config8?.OCO_AI_PROVIDER; - if (provider?.startsWith("ollama")) { - const model = provider.split("/")[1]; + const config10 = getConfig(); + const provider4 = config10?.OCO_AI_PROVIDER; + if (provider4?.startsWith("ollama")) { + const model = provider4.split("/")[1]; if (model) { ollamaAi.setModel(model); } return ollamaAi; + } else if (config10?.OCO_AI_PROVIDER == "anthropic") { + return anthropicAi; + } else if (config10?.OCO_AI_PROVIDER == "test") { + return testAi; + } else if (config10?.OCO_AI_PROVIDER == "azure") { + return azure; } return api; } // src/modules/commitlint/config.ts -var config4 = getConfig(); -var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; +var config6 = getConfig(); +var translation2 = i18n[config6?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -22089,19 +40121,19 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config5 = getConfig(); -var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config7 = getConfig(); +var translation3 = i18n[config7?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ - role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, + role: import_openai4.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config7?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config7?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config7?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { - role: import_openai3.ChatCompletionRequestMessageRoleEnum.User, + role: import_openai4.ChatCompletionRequestMessageRoleEnum.User, content: `diff --git a/src/server.ts b/src/server.ts index ad4db42..f3b18a9 100644 --- a/src/server.ts @@ -22128,13 +40160,13 @@ var INIT_DIFF_PROMPT = { });` }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ - role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + role: import_openai4.ChatCompletionRequestMessageRoleEnum.Assistant, + content: `${config7?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config7?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config7?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config5?.OCO_PROMPT_MODULE) { + switch (config7?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -22179,14 +40211,14 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config6 = getConfig(); -var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config8 = getConfig(); +var MAX_TOKENS_INPUT4 = config8?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT4 = config8?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; chatContextAsCompletionRequest.push({ - role: import_openai4.ChatCompletionRequestMessageRoleEnum.User, + role: import_openai5.ChatCompletionRequestMessageRoleEnum.User, content: diff }); return chatContextAsCompletionRequest; @@ -22204,8 +40236,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a2, b6) => a2 + b6, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; + ).reduce((a4, b7) => a4 + b7, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT4 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT4; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -22215,11 +40247,14 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const commitMessages = []; for (const promise of commitMessagePromises) { commitMessages.push(await promise); - await delay(2e3); + await delay3(2e3); } return commitMessages.join("\n\n"); } - const messages = await generateCommitMessageChatCompletionPrompt(diff, fullGitMojiSpec); + const messages = await generateCommitMessageChatCompletionPrompt( + diff, + fullGitMojiSpec + ); const engine = getEngine(); const commitMessage = await engine.generateCommitMessage(messages); if (!commitMessage) @@ -22308,12 +40343,12 @@ var getCommitMsgsPromisesFromFileDiffs = async (diff, maxDiffLength, fullGitMoji } return commitMessagePromises; }; -function delay(ms) { +function delay3(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // src/utils/git.ts -var import_fs2 = require("fs"); +var import_fs3 = require("fs"); var import_ignore = __toESM(require_ignore(), 1); var assertGitRepo = async () => { try { @@ -22325,8 +40360,8 @@ var assertGitRepo = async () => { var getOpenCommitIgnore = () => { const ig = (0, import_ignore.default)(); try { - ig.add((0, import_fs2.readFileSync)(".opencommitignore").toString().split("\n")); - } catch (e2) { + ig.add((0, import_fs3.readFileSync)(".opencommitignore").toString().split("\n")); + } catch (e3) { } return ig; }; @@ -22410,14 +40445,14 @@ var trytm = async (promise) => { }; // src/commands/commit.ts -var config7 = getConfig(); +var config9 = getConfig(); var getGitRemotes = async () => { const { stdout } = await execa("git", ["remote"]); return stdout.split("\n").filter((remote) => Boolean(remote.trim())); }; var checkMessageTemplate = (extraArgs2) => { for (const key in extraArgs2) { - if (extraArgs2[key].includes(config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) + if (extraArgs2[key].includes(config9?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER)) return extraArgs2[key]; } return false; @@ -22432,11 +40467,11 @@ var generateCommitMessageFromGitDiff = async (diff, extraArgs2, fullGitMojiSpec) fullGitMojiSpec ); const messageTemplate = checkMessageTemplate(extraArgs2); - if (config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { + if (config9?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER && typeof messageTemplate === "string") { const messageTemplateIndex = extraArgs2.indexOf(messageTemplate); extraArgs2.splice(messageTemplateIndex, 1); commitMessage = messageTemplate.replace( - config7?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, + config9?.OCO_MESSAGE_TEMPLATE_PLACEHOLDER, commitMessage ); } @@ -22450,7 +40485,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 const isCommitConfirmedByUser = await Q3({ message: "Confirm the commit message?" }); - if (isCommitConfirmedByUser && !eD2(isCommitConfirmedByUser)) { + if (isCommitConfirmedByUser && !hD2(isCommitConfirmedByUser)) { const { stdout } = await execa("git", [ "commit", "-m", @@ -22460,17 +40495,19 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(`${source_default.green("\u2714")} Successfully committed`); ce(stdout); const remotes = await getGitRemotes(); + if (config9?.OCO_GITPUSH === false) + return; if (!remotes.length) { const { stdout: stdout2 } = await execa("git", ["push"]); if (stdout2) ce(stdout2); process.exit(0); } - if (remotes.length === 1) { + if (remotes.length === 1 && config9?.OCO_GITPUSH !== true) { const isPushConfirmedByUser = await Q3({ message: "Do you want to run `git push`?" }); - if (isPushConfirmedByUser && !eD2(isPushConfirmedByUser)) { + if (isPushConfirmedByUser && !hD2(isPushConfirmedByUser)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${remotes[0]}'`); const { stdout: stdout2 } = await execa("git", [ @@ -22492,7 +40529,7 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 message: "Choose a remote to push to", options: remotes.map((remote) => ({ value: remote, label: remote })) }); - if (!eD2(selectedRemote)) { + if (!hD2(selectedRemote)) { const pushSpinner = le(); pushSpinner.start(`Running 'git push ${selectedRemote}'`); const { stdout: stdout2 } = await execa("git", ["push", selectedRemote]); @@ -22507,6 +40544,18 @@ ${source_default.grey("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2 ce(`${source_default.gray("\u2716")} process cancelled`); } } + if (!isCommitConfirmedByUser && !hD2(isCommitConfirmedByUser)) { + const regenerateMessage = await Q3({ + message: "Do you want to regenerate the message ?" + }); + if (regenerateMessage && !hD2(isCommitConfirmedByUser)) { + await generateCommitMessageFromGitDiff( + diff, + extraArgs2, + fullGitMojiSpec + ); + } + } } catch (error) { commitSpinner.stop("\u{1F4DD} Commit message generated"); const err = error; @@ -22542,7 +40591,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = const isStageAllAndCommitConfirmedByUser = await Q3({ message: "Do you want to stage all files and generate commit message?" }); - if (isStageAllAndCommitConfirmedByUser && !eD2(isStageAllAndCommitConfirmedByUser)) { + if (isStageAllAndCommitConfirmedByUser && !hD2(isStageAllAndCommitConfirmedByUser)) { await commit(extraArgs2, true, fullGitMojiSpec); process.exit(1); } @@ -22554,7 +40603,7 @@ async function commit(extraArgs2 = [], isStageAllFlag = false, fullGitMojiSpec = label: file })) }); - if (eD2(files)) + if (hD2(files)) process.exit(1); await gitAdd({ files }); } @@ -22588,18 +40637,18 @@ var commitlintConfigCommand = G3( async (argv) => { ae("opencommit \u2014 configure @commitlint"); try { - const { mode: mode2 } = argv._; - if (mode2 === "get" /* get */) { + const { mode: mode4 } = argv._; + if (mode4 === "get" /* get */) { const commitLintConfig = await getCommitlintLLMConfig(); ce(commitLintConfig.toString()); return; } - if (mode2 === "force" /* force */) { + if (mode4 === "force" /* force */) { await configureCommitlintIntegration(true); return; } throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "force" and "get"` + `Unsupported mode: ${mode4}. Valid modes are: "force" and "get"` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -22609,15 +40658,15 @@ var commitlintConfigCommand = G3( ); // src/commands/githook.ts -var import_fs3 = require("fs"); +var import_fs4 = require("fs"); var import_promises2 = __toESM(require("fs/promises"), 1); -var import_path3 = __toESM(require("path"), 1); +var import_path4 = __toESM(require("path"), 1); var HOOK_NAME = "prepare-commit-msg"; -var DEFAULT_SYMLINK_URL = import_path3.default.join(".git", "hooks", HOOK_NAME); +var DEFAULT_SYMLINK_URL = import_path4.default.join(".git", "hooks", HOOK_NAME); var getHooksPath = async () => { try { const hooksPath = await getCoreHooksPath(); - return import_path3.default.join(hooksPath, HOOK_NAME); + return import_path4.default.join(hooksPath, HOOK_NAME); } catch (error) { return DEFAULT_SYMLINK_URL; } @@ -22628,7 +40677,7 @@ var isHookCalled = async () => { }; var isHookExists = async () => { const hooksPath = await getHooksPath(); - return (0, import_fs3.existsSync)(hooksPath); + return (0, import_fs4.existsSync)(hooksPath); }; var hookCommand = G3( { @@ -22640,8 +40689,8 @@ var hookCommand = G3( const SYMLINK_URL = await getHooksPath(); try { await assertGitRepo(); - const { setUnset: mode2 } = argv._; - if (mode2 === "set") { + const { setUnset: mode4 } = argv._; + if (mode4 === "set") { ae(`setting opencommit as '${HOOK_NAME}' hook at ${SYMLINK_URL}`); if (await isHookExists()) { let realPath; @@ -22657,12 +40706,12 @@ var hookCommand = G3( `Different ${HOOK_NAME} is already set. Remove it before setting opencommit as '${HOOK_NAME}' hook.` ); } - await import_promises2.default.mkdir(import_path3.default.dirname(SYMLINK_URL), { recursive: true }); + await import_promises2.default.mkdir(import_path4.default.dirname(SYMLINK_URL), { recursive: true }); await import_promises2.default.symlink(HOOK_URL, SYMLINK_URL, "file"); await import_promises2.default.chmod(SYMLINK_URL, 493); return ce(`${source_default.green("\u2714")} Hook set`); } - if (mode2 === "unset") { + if (mode4 === "unset") { ae( `unsetting opencommit as '${HOOK_NAME}' hook from ${SYMLINK_URL}` ); @@ -22681,7 +40730,7 @@ var hookCommand = G3( return ce(`${source_default.green("\u2714")} Hook is removed`); } throw new Error( - `Unsupported mode: ${mode2}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` + `Unsupported mode: ${mode4}. Supported modes are: 'set' or 'unset', do: \`oco hook set\`` ); } catch (error) { ce(`${source_default.red("\u2716")} ${error}`); @@ -22715,10 +40764,10 @@ var prepareCommitMessageHook = async (isStageAllFlag = false) => { if (!staged) return; ae("opencommit"); - const config8 = getConfig(); - if (!config8?.OCO_OPENAI_API_KEY) { + const config10 = getConfig(); + if (!config10?.OCO_OPENAI_API_KEY && !config10?.OCO_ANTHROPIC_API_KEY && !config10?.OCO_AZURE_API_KEY) { throw new Error( - "No OPEN_AI_API exists. Set your OPEN_AI_API=<key> in ~/.opencommit" + "No OPEN_AI_API or OCO_ANTHROPIC_API_KEY or OCO_AZURE_API_KEY exists. Set your key in ~/.opencommit" ); } const spin = le(); @@ -22743,7 +40792,7 @@ var getOpenCommitLatestVersion = async () => { try { const { stdout } = await execa("npm", ["view", "opencommit", "version"]); return stdout; - } catch (_6) { + } catch (_7) { ce("Error while getting the latest version of opencommit"); return void 0; } @@ -22778,7 +40827,7 @@ Z2( flags: { fgm: Boolean }, - ignoreArgv: (type) => type === "unknown-flag" || type === "argument", + ignoreArgv: (type2) => type2 === "unknown-flag" || type2 === "argument", help: { description: package_default.description } }, async ({ flags }) => { @@ -22791,6 +40840,11 @@ Z2( }, extraArgs ); +/*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse <dead_horse@qq.com> + * MIT Licensed + */ /*! * mime-db * Copyright(c) 2014 Jonathan Ong @@ -22803,3 +40857,19 @@ Z2( * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ +/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> & David Frank */ +/*! node-domexception. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ +/** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ +/** + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ diff --git a/out/github-action.cjs b/out/github-action.cjs index eb73206..e9ba206 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -5,9 +5,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; +var __export = (target, all3) => { + for (var name in all3) + __defProp(target, name, { get: all3[name], enumerable: true }); +}; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -57,41 +64,41 @@ var require_utils = __commonJS({ var require_command = __commonJS({ "node_modules/@actions/core/lib/command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.issue = exports.issueCommand = void 0; - var os2 = __importStar(require("os")); + var os3 = __importStar2(require("os")); var utils_1 = require_utils(); - function issueCommand(command2, properties, message) { - const cmd = new Command(command2, properties, message); - process.stdout.write(cmd.toString() + os2.EOL); + function issueCommand(command4, properties, message) { + const cmd = new Command(command4, properties, message); + process.stdout.write(cmd.toString() + os3.EOL); } exports.issueCommand = issueCommand; function issue(name, message = "") { @@ -100,11 +107,11 @@ var require_command = __commonJS({ exports.issue = issue; var CMD_STRING = "::"; var Command = class { - constructor(command2, properties, message) { - if (!command2) { - command2 = "missing.command"; + constructor(command4, properties, message) { + if (!command4) { + command4 = "missing.command"; } - this.command = command2; + this.command = command4; this.properties = properties; this.message = message; } @@ -131,11 +138,11 @@ var require_command = __commonJS({ return cmdStr; } }; - function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + function escapeData(s2) { + return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } - function escapeProperty(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + function escapeProperty(s2) { + return utils_1.toCommandValue(s2).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } } }); @@ -210,8 +217,8 @@ var require_stringify = __commonJS({ return obj && obj.__esModule ? obj : { default: obj }; } var byteToHex = []; - for (let i2 = 0; i2 < 256; ++i2) { - byteToHex.push((i2 + 256).toString(16).substr(1)); + for (let i3 = 0; i3 < 256; ++i3) { + byteToHex.push((i3 + 256).toString(16).substr(1)); } function stringify(arr, offset = 0) { const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); @@ -243,8 +250,8 @@ var require_v1 = __commonJS({ var _lastMSecs = 0; var _lastNSecs = 0; function v1(options, buf, offset) { - let i2 = buf && offset || 0; - const b2 = buf || new Array(16); + let i3 = buf && offset || 0; + const b3 = buf || new Array(16); options = options || {}; let node = options.node || _nodeId; let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; @@ -259,11 +266,11 @@ var require_v1 = __commonJS({ } let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt < 0 && options.clockseq === void 0) { + const dt2 = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt2 < 0 && options.clockseq === void 0) { clockseq = clockseq + 1 & 16383; } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + if ((dt2 < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { nsecs = 0; } if (nsecs >= 1e4) { @@ -274,21 +281,21 @@ var require_v1 = __commonJS({ _clockseq = clockseq; msecs += 122192928e5; const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b2[i2++] = tl >>> 24 & 255; - b2[i2++] = tl >>> 16 & 255; - b2[i2++] = tl >>> 8 & 255; - b2[i2++] = tl & 255; + b3[i3++] = tl >>> 24 & 255; + b3[i3++] = tl >>> 16 & 255; + b3[i3++] = tl >>> 8 & 255; + b3[i3++] = tl & 255; const tmh = msecs / 4294967296 * 1e4 & 268435455; - b2[i2++] = tmh >>> 8 & 255; - b2[i2++] = tmh & 255; - b2[i2++] = tmh >>> 24 & 15 | 16; - b2[i2++] = tmh >>> 16 & 255; - b2[i2++] = clockseq >>> 8 | 128; - b2[i2++] = clockseq & 255; - for (let n = 0; n < 6; ++n) { - b2[i2 + n] = node[n]; + b3[i3++] = tmh >>> 8 & 255; + b3[i3++] = tmh & 255; + b3[i3++] = tmh >>> 24 & 15 | 16; + b3[i3++] = tmh >>> 16 & 255; + b3[i3++] = clockseq >>> 8 | 128; + b3[i3++] = clockseq & 255; + for (let n2 = 0; n2 < 6; ++n2) { + b3[i3 + n2] = node[n2]; } - return buf || (0, _stringify.default)(b2); + return buf || (0, _stringify.default)(b3); } var _default = v1; exports.default = _default; @@ -353,8 +360,8 @@ var require_v35 = __commonJS({ function stringToBytes(str) { str = unescape(encodeURIComponent(str)); const bytes = []; - for (let i2 = 0; i2 < str.length; ++i2) { - bytes.push(str.charCodeAt(i2)); + for (let i3 = 0; i3 < str.length; ++i3) { + bytes.push(str.charCodeAt(i3)); } return bytes; } @@ -381,8 +388,8 @@ var require_v35 = __commonJS({ bytes[8] = bytes[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i2 = 0; i2 < 16; ++i2) { - buf[offset + i2] = bytes[i2]; + for (let i3 = 0; i3 < 16; ++i3) { + buf[offset + i3] = bytes[i3]; } return buf; } @@ -463,8 +470,8 @@ var require_v4 = __commonJS({ rnds[8] = rnds[8] & 63 | 128; if (buf) { offset = offset || 0; - for (let i2 = 0; i2 < 16; ++i2) { - buf[offset + i2] = rnds[i2]; + for (let i3 = 0; i3 < 16; ++i3) { + buf[offset + i3] = rnds[i3]; } return buf; } @@ -635,49 +642,49 @@ var require_dist = __commonJS({ var require_file_command = __commonJS({ "node_modules/@actions/core/lib/file-command.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; - var fs2 = __importStar(require("fs")); - var os2 = __importStar(require("os")); + var fs3 = __importStar2(require("fs")); + var os3 = __importStar2(require("os")); var uuid_1 = require_dist(); var utils_1 = require_utils(); - function issueFileCommand(command2, message) { - const filePath = process.env[`GITHUB_${command2}`]; + function issueFileCommand(command4, message) { + const filePath = process.env[`GITHUB_${command4}`]; if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command2}`); + throw new Error(`Unable to find environment variable for file command ${command4}`); } - if (!fs2.existsSync(filePath)) { + if (!fs3.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs2.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os2.EOL}`, { + fs3.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os3.EOL}`, { encoding: "utf8" }); } @@ -691,7 +698,7 @@ var require_file_command = __commonJS({ if (convertedValue.includes(delimiter)) { throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); } - return `${key}<<${delimiter}${os2.EOL}${convertedValue}${os2.EOL}${delimiter}`; + return `${key}<<${delimiter}${os3.EOL}${convertedValue}${os3.EOL}${delimiter}`; } exports.prepareKeyValueMessage = prepareKeyValueMessage; } @@ -716,7 +723,12 @@ var require_proxy = __commonJS({ } })(); if (proxyVar) { - return new URL(proxyVar); + try { + return new URL(proxyVar); + } catch (_a4) { + if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) + return new URL(`http://${proxyVar}`); + } } else { return void 0; } @@ -767,35 +779,35 @@ var require_tunnel = __commonJS({ "use strict"; var net = require("net"); var tls = require("tls"); - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var events = require("events"); var assert = require("assert"); - var util2 = require("util"); + var util3 = require("util"); exports.httpOverHttp = httpOverHttp; exports.httpsOverHttp = httpsOverHttp; exports.httpOverHttps = httpOverHttps; exports.httpsOverHttps = httpsOverHttps; function httpOverHttp(options) { var agent = new TunnelingAgent(options); - agent.request = http2.request; + agent.request = http3.request; return agent; } function httpsOverHttp(options) { var agent = new TunnelingAgent(options); - agent.request = http2.request; + agent.request = http3.request; agent.createSocket = createSecureSocket; agent.defaultPort = 443; return agent; } function httpOverHttps(options) { var agent = new TunnelingAgent(options); - agent.request = https2.request; + agent.request = https3.request; return agent; } function httpsOverHttps(options) { var agent = new TunnelingAgent(options); - agent.request = https2.request; + agent.request = https3.request; agent.createSocket = createSecureSocket; agent.defaultPort = 443; return agent; @@ -804,15 +816,15 @@ var require_tunnel = __commonJS({ var self2 = this; self2.options = options || {}; self2.proxyOptions = self2.options.proxy || {}; - self2.maxSockets = self2.options.maxSockets || http2.Agent.defaultMaxSockets; + self2.maxSockets = self2.options.maxSockets || http3.Agent.defaultMaxSockets; self2.requests = []; self2.sockets = []; self2.on("free", function onFree(socket, host, port, localAddress) { var options2 = toOptions(host, port, localAddress); - for (var i2 = 0, len = self2.requests.length; i2 < len; ++i2) { - var pending = self2.requests[i2]; + for (var i3 = 0, len = self2.requests.length; i3 < len; ++i3) { + var pending = self2.requests[i3]; if (pending.host === options2.host && pending.port === options2.port) { - self2.requests.splice(i2, 1); + self2.requests.splice(i3, 1); pending.request.onSocket(socket); return; } @@ -821,7 +833,7 @@ var require_tunnel = __commonJS({ self2.removeSocket(socket); }); } - util2.inherits(TunnelingAgent, events.EventEmitter); + util3.inherits(TunnelingAgent, events.EventEmitter); TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { var self2 = this; var options = mergeOptions({ request: req }, self2.options, toOptions(host, port, localAddress)); @@ -864,7 +876,7 @@ var require_tunnel = __commonJS({ connectOptions.headers = connectOptions.headers || {}; connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); } - debug("making CONNECT request"); + debug2("making CONNECT request"); var connectReq = self2.request(connectOptions); connectReq.useChunkedEncodingByDefault = false; connectReq.once("response", onResponse); @@ -884,7 +896,7 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug( + debug2( "tunneling socket could not be established, statusCode=%d", res.statusCode ); @@ -896,7 +908,7 @@ var require_tunnel = __commonJS({ return; } if (head.length > 0) { - debug("got illegal response body from proxy"); + debug2("got illegal response body from proxy"); socket.destroy(); var error = new Error("got illegal response body from proxy"); error.code = "ECONNRESET"; @@ -904,13 +916,13 @@ var require_tunnel = __commonJS({ self2.removeSocket(placeholder); return; } - debug("tunneling connection has established"); + debug2("tunneling connection has established"); self2.sockets[self2.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug( + debug2( "tunneling socket could not be established, cause=%s\n", cause.message, cause.stack @@ -958,23 +970,23 @@ var require_tunnel = __commonJS({ return host; } function mergeOptions(target) { - for (var i2 = 1, len = arguments.length; i2 < len; ++i2) { - var overrides = arguments[i2]; + for (var i3 = 1, len = arguments.length; i3 < len; ++i3) { + var overrides = arguments[i3]; if (typeof overrides === "object") { var keys = Object.keys(overrides); - for (var j2 = 0, keyLen = keys.length; j2 < keyLen; ++j2) { - var k3 = keys[j2]; - if (overrides[k3] !== void 0) { - target[k3] = overrides[k3]; + for (var j4 = 0, keyLen = keys.length; j4 < keyLen; ++j4) { + var k4 = keys[j4]; + if (overrides[k4] !== void 0) { + target[k4] = overrides[k4]; } } } } return target; } - var debug; + var debug2; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { + debug2 = function() { var args = Array.prototype.slice.call(arguments); if (typeof args[0] === "string") { args[0] = "TUNNEL: " + args[0]; @@ -984,10 +996,10 @@ var require_tunnel = __commonJS({ console.error.apply(console, args); }; } else { - debug = function() { + debug2 = function() { }; } - exports.debug = debug; + exports.debug = debug2; } }); @@ -998,57 +1010,16493 @@ var require_tunnel2 = __commonJS({ } }); +// node_modules/undici/lib/core/symbols.js +var require_symbols = __commonJS({ + "node_modules/undici/lib/core/symbols.js"(exports, module2) { + module2.exports = { + kClose: Symbol("close"), + kDestroy: Symbol("destroy"), + kDispatch: Symbol("dispatch"), + kUrl: Symbol("url"), + kWriting: Symbol("writing"), + kResuming: Symbol("resuming"), + kQueue: Symbol("queue"), + kConnect: Symbol("connect"), + kConnecting: Symbol("connecting"), + kHeadersList: Symbol("headers list"), + kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), + kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), + kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), + kKeepAliveTimeoutValue: Symbol("keep alive timeout"), + kKeepAlive: Symbol("keep alive"), + kHeadersTimeout: Symbol("headers timeout"), + kBodyTimeout: Symbol("body timeout"), + kServerName: Symbol("server name"), + kLocalAddress: Symbol("local address"), + kHost: Symbol("host"), + kNoRef: Symbol("no ref"), + kBodyUsed: Symbol("used"), + kRunning: Symbol("running"), + kBlocking: Symbol("blocking"), + kPending: Symbol("pending"), + kSize: Symbol("size"), + kBusy: Symbol("busy"), + kQueued: Symbol("queued"), + kFree: Symbol("free"), + kConnected: Symbol("connected"), + kClosed: Symbol("closed"), + kNeedDrain: Symbol("need drain"), + kReset: Symbol("reset"), + kDestroyed: Symbol.for("nodejs.stream.destroyed"), + kMaxHeadersSize: Symbol("max headers size"), + kRunningIdx: Symbol("running index"), + kPendingIdx: Symbol("pending index"), + kError: Symbol("error"), + kClients: Symbol("clients"), + kClient: Symbol("client"), + kParser: Symbol("parser"), + kOnDestroyed: Symbol("destroy callbacks"), + kPipelining: Symbol("pipelining"), + kSocket: Symbol("socket"), + kHostHeader: Symbol("host header"), + kConnector: Symbol("connector"), + kStrictContentLength: Symbol("strict content length"), + kMaxRedirections: Symbol("maxRedirections"), + kMaxRequests: Symbol("maxRequestsPerClient"), + kProxy: Symbol("proxy agent options"), + kCounter: Symbol("socket request counter"), + kInterceptors: Symbol("dispatch interceptors"), + kMaxResponseSize: Symbol("max response size"), + kHTTP2Session: Symbol("http2Session"), + kHTTP2SessionState: Symbol("http2Session state"), + kHTTP2BuildRequest: Symbol("http2 build request"), + kHTTP1BuildRequest: Symbol("http1 build request"), + kHTTP2CopyHeaders: Symbol("http2 copy headers"), + kHTTPConnVersion: Symbol("http connection version"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable") + }; + } +}); + +// node_modules/undici/lib/core/errors.js +var require_errors = __commonJS({ + "node_modules/undici/lib/core/errors.js"(exports, module2) { + "use strict"; + var UndiciError = class extends Error { + constructor(message) { + super(message); + this.name = "UndiciError"; + this.code = "UND_ERR"; + } + }; + var ConnectTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ConnectTimeoutError); + this.name = "ConnectTimeoutError"; + this.message = message || "Connect Timeout Error"; + this.code = "UND_ERR_CONNECT_TIMEOUT"; + } + }; + var HeadersTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, HeadersTimeoutError); + this.name = "HeadersTimeoutError"; + this.message = message || "Headers Timeout Error"; + this.code = "UND_ERR_HEADERS_TIMEOUT"; + } + }; + var HeadersOverflowError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, HeadersOverflowError); + this.name = "HeadersOverflowError"; + this.message = message || "Headers Overflow Error"; + this.code = "UND_ERR_HEADERS_OVERFLOW"; + } + }; + var BodyTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, BodyTimeoutError); + this.name = "BodyTimeoutError"; + this.message = message || "Body Timeout Error"; + this.code = "UND_ERR_BODY_TIMEOUT"; + } + }; + var ResponseStatusCodeError = class extends UndiciError { + constructor(message, statusCode, headers, body) { + super(message); + Error.captureStackTrace(this, ResponseStatusCodeError); + this.name = "ResponseStatusCodeError"; + this.message = message || "Response Status Code Error"; + this.code = "UND_ERR_RESPONSE_STATUS_CODE"; + this.body = body; + this.status = statusCode; + this.statusCode = statusCode; + this.headers = headers; + } + }; + var InvalidArgumentError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InvalidArgumentError); + this.name = "InvalidArgumentError"; + this.message = message || "Invalid Argument Error"; + this.code = "UND_ERR_INVALID_ARG"; + } + }; + var InvalidReturnValueError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InvalidReturnValueError); + this.name = "InvalidReturnValueError"; + this.message = message || "Invalid Return Value Error"; + this.code = "UND_ERR_INVALID_RETURN_VALUE"; + } + }; + var RequestAbortedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, RequestAbortedError); + this.name = "AbortError"; + this.message = message || "Request aborted"; + this.code = "UND_ERR_ABORTED"; + } + }; + var InformationalError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, InformationalError); + this.name = "InformationalError"; + this.message = message || "Request information"; + this.code = "UND_ERR_INFO"; + } + }; + var RequestContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, RequestContentLengthMismatchError); + this.name = "RequestContentLengthMismatchError"; + this.message = message || "Request body length does not match content-length header"; + this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + } + }; + var ResponseContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ResponseContentLengthMismatchError); + this.name = "ResponseContentLengthMismatchError"; + this.message = message || "Response body length does not match content-length header"; + this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + } + }; + var ClientDestroyedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ClientDestroyedError); + this.name = "ClientDestroyedError"; + this.message = message || "The client is destroyed"; + this.code = "UND_ERR_DESTROYED"; + } + }; + var ClientClosedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ClientClosedError); + this.name = "ClientClosedError"; + this.message = message || "The client is closed"; + this.code = "UND_ERR_CLOSED"; + } + }; + var SocketError = class extends UndiciError { + constructor(message, socket) { + super(message); + Error.captureStackTrace(this, SocketError); + this.name = "SocketError"; + this.message = message || "Socket error"; + this.code = "UND_ERR_SOCKET"; + this.socket = socket; + } + }; + var NotSupportedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, NotSupportedError); + this.name = "NotSupportedError"; + this.message = message || "Not supported error"; + this.code = "UND_ERR_NOT_SUPPORTED"; + } + }; + var BalancedPoolMissingUpstreamError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, NotSupportedError); + this.name = "MissingUpstreamError"; + this.message = message || "No upstream has been added to the BalancedPool"; + this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + } + }; + var HTTPParserError = class extends Error { + constructor(message, code, data) { + super(message); + Error.captureStackTrace(this, HTTPParserError); + this.name = "HTTPParserError"; + this.code = code ? `HPE_${code}` : void 0; + this.data = data ? data.toString() : void 0; + } + }; + var ResponseExceededMaxSizeError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, ResponseExceededMaxSizeError); + this.name = "ResponseExceededMaxSizeError"; + this.message = message || "Response content exceeded max size"; + this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + } + }; + var RequestRetryError = class extends UndiciError { + constructor(message, code, { headers, data }) { + super(message); + Error.captureStackTrace(this, RequestRetryError); + this.name = "RequestRetryError"; + this.message = message || "Request retry error"; + this.code = "UND_ERR_REQ_RETRY"; + this.statusCode = code; + this.data = data; + this.headers = headers; + } + }; + module2.exports = { + HTTPParserError, + UndiciError, + HeadersTimeoutError, + HeadersOverflowError, + BodyTimeoutError, + RequestContentLengthMismatchError, + ConnectTimeoutError, + ResponseStatusCodeError, + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError, + ClientDestroyedError, + ClientClosedError, + InformationalError, + SocketError, + NotSupportedError, + ResponseContentLengthMismatchError, + BalancedPoolMissingUpstreamError, + ResponseExceededMaxSizeError, + RequestRetryError + }; + } +}); + +// node_modules/undici/lib/core/constants.js +var require_constants = __commonJS({ + "node_modules/undici/lib/core/constants.js"(exports, module2) { + "use strict"; + var headerNameLowerCasedRecord = {}; + var wellknownHeaderNames = [ + "Accept", + "Accept-Encoding", + "Accept-Language", + "Accept-Ranges", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Age", + "Allow", + "Alt-Svc", + "Alt-Used", + "Authorization", + "Cache-Control", + "Clear-Site-Data", + "Connection", + "Content-Disposition", + "Content-Encoding", + "Content-Language", + "Content-Length", + "Content-Location", + "Content-Range", + "Content-Security-Policy", + "Content-Security-Policy-Report-Only", + "Content-Type", + "Cookie", + "Cross-Origin-Embedder-Policy", + "Cross-Origin-Opener-Policy", + "Cross-Origin-Resource-Policy", + "Date", + "Device-Memory", + "Downlink", + "ECT", + "ETag", + "Expect", + "Expect-CT", + "Expires", + "Forwarded", + "From", + "Host", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", + "Keep-Alive", + "Last-Modified", + "Link", + "Location", + "Max-Forwards", + "Origin", + "Permissions-Policy", + "Pragma", + "Proxy-Authenticate", + "Proxy-Authorization", + "RTT", + "Range", + "Referer", + "Referrer-Policy", + "Refresh", + "Retry-After", + "Sec-WebSocket-Accept", + "Sec-WebSocket-Extensions", + "Sec-WebSocket-Key", + "Sec-WebSocket-Protocol", + "Sec-WebSocket-Version", + "Server", + "Server-Timing", + "Service-Worker-Allowed", + "Service-Worker-Navigation-Preload", + "Set-Cookie", + "SourceMap", + "Strict-Transport-Security", + "Supports-Loading-Mode", + "TE", + "Timing-Allow-Origin", + "Trailer", + "Transfer-Encoding", + "Upgrade", + "Upgrade-Insecure-Requests", + "User-Agent", + "Vary", + "Via", + "WWW-Authenticate", + "X-Content-Type-Options", + "X-DNS-Prefetch-Control", + "X-Frame-Options", + "X-Permitted-Cross-Domain-Policies", + "X-Powered-By", + "X-Requested-With", + "X-XSS-Protection" + ]; + for (let i3 = 0; i3 < wellknownHeaderNames.length; ++i3) { + const key = wellknownHeaderNames[i3]; + const lowerCasedKey = key.toLowerCase(); + headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; + } + Object.setPrototypeOf(headerNameLowerCasedRecord, null); + module2.exports = { + wellknownHeaderNames, + headerNameLowerCasedRecord + }; + } +}); + +// node_modules/undici/lib/core/util.js +var require_util = __commonJS({ + "node_modules/undici/lib/core/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { kDestroyed, kBodyUsed } = require_symbols(); + var { IncomingMessage } = require("http"); + var stream4 = require("stream"); + var net = require("net"); + var { InvalidArgumentError } = require_errors(); + var { Blob: Blob4 } = require("buffer"); + var nodeUtil = require("util"); + var { stringify } = require("querystring"); + var { headerNameLowerCasedRecord } = require_constants(); + var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v2) => Number(v2)); + function nop() { + } + function isStream2(obj) { + return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; + } + function isBlobLike2(object) { + return Blob4 && object instanceof Blob4 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + } + function buildURL2(url2, queryParams) { + if (url2.includes("?") || url2.includes("#")) { + throw new Error('Query params cannot be passed when url already contains "?" or "#".'); + } + const stringified = stringify(queryParams); + if (stringified) { + url2 += "?" + stringified; + } + return url2; + } + function parseURL(url2) { + if (typeof url2 === "string") { + url2 = new URL(url2); + if (!/^https?:/.test(url2.origin || url2.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + return url2; + } + if (!url2 || typeof url2 !== "object") { + throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); + } + if (!/^https?:/.test(url2.origin || url2.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + if (!(url2 instanceof URL)) { + if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) { + throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); + } + if (url2.path != null && typeof url2.path !== "string") { + throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); + } + if (url2.pathname != null && typeof url2.pathname !== "string") { + throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); + } + if (url2.hostname != null && typeof url2.hostname !== "string") { + throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); + } + if (url2.origin != null && typeof url2.origin !== "string") { + throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); + } + const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80; + let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`; + let path2 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`; + if (origin.endsWith("/")) { + origin = origin.substring(0, origin.length - 1); + } + if (path2 && !path2.startsWith("/")) { + path2 = `/${path2}`; + } + url2 = new URL(origin + path2); + } + return url2; + } + function parseOrigin(url2) { + url2 = parseURL(url2); + if (url2.pathname !== "/" || url2.search || url2.hash) { + throw new InvalidArgumentError("invalid url"); + } + return url2; + } + function getHostname(host) { + if (host[0] === "[") { + const idx2 = host.indexOf("]"); + assert(idx2 !== -1); + return host.substring(1, idx2); + } + const idx = host.indexOf(":"); + if (idx === -1) + return host; + return host.substring(0, idx); + } + function getServerName(host) { + if (!host) { + return null; + } + assert.strictEqual(typeof host, "string"); + const servername = getHostname(host); + if (net.isIP(servername)) { + return ""; + } + return servername; + } + function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); + } + function isAsyncIterable(obj) { + return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); + } + function isIterable(obj) { + return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); + } + function bodyLength(body) { + if (body == null) { + return 0; + } else if (isStream2(body)) { + const state2 = body._readableState; + return state2 && state2.objectMode === false && state2.ended === true && Number.isFinite(state2.length) ? state2.length : null; + } else if (isBlobLike2(body)) { + return body.size != null ? body.size : null; + } else if (isBuffer2(body)) { + return body.byteLength; + } + return null; + } + function isDestroyed(stream5) { + return !stream5 || !!(stream5.destroyed || stream5[kDestroyed]); + } + function isReadableAborted(stream5) { + const state2 = stream5 && stream5._readableState; + return isDestroyed(stream5) && state2 && !state2.endEmitted; + } + function destroy2(stream5, err) { + if (stream5 == null || !isStream2(stream5) || isDestroyed(stream5)) { + return; + } + if (typeof stream5.destroy === "function") { + if (Object.getPrototypeOf(stream5).constructor === IncomingMessage) { + stream5.socket = null; + } + stream5.destroy(err); + } else if (err) { + process.nextTick((stream6, err2) => { + stream6.emit("error", err2); + }, stream5, err); + } + if (stream5.destroyed !== true) { + stream5[kDestroyed] = true; + } + } + var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; + function parseKeepAliveTimeout(val) { + const m4 = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); + return m4 ? parseInt(m4[1], 10) * 1e3 : null; + } + function headerNameToString(value) { + return headerNameLowerCasedRecord[value] || value.toLowerCase(); + } + function parseHeaders(headers, obj = {}) { + if (!Array.isArray(headers)) + return headers; + for (let i3 = 0; i3 < headers.length; i3 += 2) { + const key = headers[i3].toString().toLowerCase(); + let val = obj[key]; + if (!val) { + if (Array.isArray(headers[i3 + 1])) { + obj[key] = headers[i3 + 1].map((x2) => x2.toString("utf8")); + } else { + obj[key] = headers[i3 + 1].toString("utf8"); + } + } else { + if (!Array.isArray(val)) { + val = [val]; + obj[key] = val; + } + val.push(headers[i3 + 1].toString("utf8")); + } + } + if ("content-length" in obj && "content-disposition" in obj) { + obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); + } + return obj; + } + function parseRawHeaders(headers) { + const ret = []; + let hasContentLength = false; + let contentDispositionIdx = -1; + for (let n2 = 0; n2 < headers.length; n2 += 2) { + const key = headers[n2 + 0].toString(); + const val = headers[n2 + 1].toString("utf8"); + if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { + ret.push(key, val); + hasContentLength = true; + } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + contentDispositionIdx = ret.push(key, val) - 1; + } else { + ret.push(key, val); + } + } + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + } + return ret; + } + function isBuffer2(buffer) { + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); + } + function validateHandler(handler, method, upgrade) { + if (!handler || typeof handler !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + if (typeof handler.onConnect !== "function") { + throw new InvalidArgumentError("invalid onConnect method"); + } + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { + throw new InvalidArgumentError("invalid onBodySent method"); + } + if (upgrade || method === "CONNECT") { + if (typeof handler.onUpgrade !== "function") { + throw new InvalidArgumentError("invalid onUpgrade method"); + } + } else { + if (typeof handler.onHeaders !== "function") { + throw new InvalidArgumentError("invalid onHeaders method"); + } + if (typeof handler.onData !== "function") { + throw new InvalidArgumentError("invalid onData method"); + } + if (typeof handler.onComplete !== "function") { + throw new InvalidArgumentError("invalid onComplete method"); + } + } + } + function isDisturbed(body) { + return !!(body && (stream4.isDisturbed ? stream4.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + } + function isErrored(body) { + return !!(body && (stream4.isErrored ? stream4.isErrored(body) : /state: 'errored'/.test( + nodeUtil.inspect(body) + ))); + } + function isReadable(body) { + return !!(body && (stream4.isReadable ? stream4.isReadable(body) : /state: 'readable'/.test( + nodeUtil.inspect(body) + ))); + } + function getSocketInfo(socket) { + return { + localAddress: socket.localAddress, + localPort: socket.localPort, + remoteAddress: socket.remoteAddress, + remotePort: socket.remotePort, + remoteFamily: socket.remoteFamily, + timeout: socket.timeout, + bytesWritten: socket.bytesWritten, + bytesRead: socket.bytesRead + }; + } + async function* convertIterableToBuffer(iterable) { + for await (const chunk of iterable) { + yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + } + } + var ReadableStream5; + function ReadableStreamFrom(iterable) { + if (!ReadableStream5) { + ReadableStream5 = require("stream/web").ReadableStream; + } + if (ReadableStream5.from) { + return ReadableStream5.from(convertIterableToBuffer(iterable)); + } + let iterator; + return new ReadableStream5( + { + async start() { + iterator = iterable[Symbol.asyncIterator](); + }, + async pull(controller) { + const { done, value } = await iterator.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + }); + } else { + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); + controller.enqueue(new Uint8Array(buf)); + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator.return(); + } + }, + 0 + ); + } + function isFormDataLike(object) { + return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; + } + function throwIfAborted(signal) { + if (!signal) { + return; + } + if (typeof signal.throwIfAborted === "function") { + signal.throwIfAborted(); + } else { + if (signal.aborted) { + const err = new Error("The operation was aborted"); + err.name = "AbortError"; + throw err; + } + } + } + function addAbortListener(signal, listener) { + if ("addEventListener" in signal) { + signal.addEventListener("abort", listener, { once: true }); + return () => signal.removeEventListener("abort", listener); + } + signal.addListener("abort", listener); + return () => signal.removeListener("abort", listener); + } + var hasToWellFormed = !!String.prototype.toWellFormed; + function toUSVString(val) { + if (hasToWellFormed) { + return `${val}`.toWellFormed(); + } else if (nodeUtil.toUSVString) { + return nodeUtil.toUSVString(val); + } + return `${val}`; + } + function parseRangeHeader(range) { + if (range == null || range === "") + return { start: 0, end: null, size: null }; + const m4 = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + return m4 ? { + start: parseInt(m4[1]), + end: m4[2] ? parseInt(m4[2]) : null, + size: m4[3] ? parseInt(m4[3]) : null + } : null; + } + var kEnumerableProperty = /* @__PURE__ */ Object.create(null); + kEnumerableProperty.enumerable = true; + module2.exports = { + kEnumerableProperty, + nop, + isDisturbed, + isErrored, + isReadable, + toUSVString, + isReadableAborted, + isBlobLike: isBlobLike2, + parseOrigin, + parseURL, + getServerName, + isStream: isStream2, + isIterable, + isAsyncIterable, + isDestroyed, + headerNameToString, + parseRawHeaders, + parseHeaders, + parseKeepAliveTimeout, + destroy: destroy2, + bodyLength, + deepClone, + ReadableStreamFrom, + isBuffer: isBuffer2, + validateHandler, + getSocketInfo, + isFormDataLike, + buildURL: buildURL2, + throwIfAborted, + addAbortListener, + parseRangeHeader, + nodeMajor, + nodeMinor, + nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] + }; + } +}); + +// node_modules/undici/lib/timers.js +var require_timers = __commonJS({ + "node_modules/undici/lib/timers.js"(exports, module2) { + "use strict"; + var fastNow = Date.now(); + var fastNowTimeout; + var fastTimers = []; + function onTimeout() { + fastNow = Date.now(); + let len = fastTimers.length; + let idx = 0; + while (idx < len) { + const timer = fastTimers[idx]; + if (timer.state === 0) { + timer.state = fastNow + timer.delay; + } else if (timer.state > 0 && fastNow >= timer.state) { + timer.state = -1; + timer.callback(timer.opaque); + } + if (timer.state === -1) { + timer.state = -2; + if (idx !== len - 1) { + fastTimers[idx] = fastTimers.pop(); + } else { + fastTimers.pop(); + } + len -= 1; + } else { + idx += 1; + } + } + if (fastTimers.length > 0) { + refreshTimeout(); + } + } + function refreshTimeout() { + if (fastNowTimeout && fastNowTimeout.refresh) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTimeout, 1e3); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); + } + } + } + var Timeout = class { + constructor(callback, delay4, opaque) { + this.callback = callback; + this.delay = delay4; + this.opaque = opaque; + this.state = -2; + this.refresh(); + } + refresh() { + if (this.state === -2) { + fastTimers.push(this); + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); + } + } + this.state = 0; + } + clear() { + this.state = -1; + } + }; + module2.exports = { + setTimeout(callback, delay4, opaque) { + return delay4 < 1e3 ? setTimeout(callback, delay4, opaque) : new Timeout(callback, delay4, opaque); + }, + clearTimeout(timeout) { + if (timeout instanceof Timeout) { + timeout.clear(); + } else { + clearTimeout(timeout); + } + } + }; + } +}); + +// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +var require_sbmh = __commonJS({ + "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("node:events").EventEmitter; + var inherits2 = require("node:util").inherits; + function SBMH(needle) { + if (typeof needle === "string") { + needle = Buffer.from(needle); + } + if (!Buffer.isBuffer(needle)) { + throw new TypeError("The needle has to be a String or a Buffer."); + } + const needleLength = needle.length; + if (needleLength === 0) { + throw new Error("The needle cannot be an empty String/Buffer."); + } + if (needleLength > 256) { + throw new Error("The needle cannot have a length bigger than 256."); + } + this.maxMatches = Infinity; + this.matches = 0; + this._occ = new Array(256).fill(needleLength); + this._lookbehind_size = 0; + this._needle = needle; + this._bufpos = 0; + this._lookbehind = Buffer.alloc(needleLength); + for (var i3 = 0; i3 < needleLength - 1; ++i3) { + this._occ[needle[i3]] = needleLength - 1 - i3; + } + } + inherits2(SBMH, EventEmitter2); + SBMH.prototype.reset = function() { + this._lookbehind_size = 0; + this.matches = 0; + this._bufpos = 0; + }; + SBMH.prototype.push = function(chunk, pos) { + if (!Buffer.isBuffer(chunk)) { + chunk = Buffer.from(chunk, "binary"); + } + const chlen = chunk.length; + this._bufpos = pos || 0; + let r3; + while (r3 !== chlen && this.matches < this.maxMatches) { + r3 = this._sbmh_feed(chunk); + } + return r3; + }; + SBMH.prototype._sbmh_feed = function(data) { + const len = data.length; + const needle = this._needle; + const needleLength = needle.length; + const lastNeedleChar = needle[needleLength - 1]; + let pos = -this._lookbehind_size; + let ch; + if (pos < 0) { + while (pos < 0 && pos <= len - needleLength) { + ch = this._sbmh_lookup_char(data, pos + needleLength - 1); + if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { + this._lookbehind_size = 0; + ++this.matches; + this.emit("info", true); + return this._bufpos = pos + needleLength; + } + pos += this._occ[ch]; + } + if (pos < 0) { + while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { + ++pos; + } + } + if (pos >= 0) { + this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); + this._lookbehind_size = 0; + } else { + const bytesToCutOff = this._lookbehind_size + pos; + if (bytesToCutOff > 0) { + this.emit("info", false, this._lookbehind, 0, bytesToCutOff); + } + this._lookbehind.copy( + this._lookbehind, + 0, + bytesToCutOff, + this._lookbehind_size - bytesToCutOff + ); + this._lookbehind_size -= bytesToCutOff; + data.copy(this._lookbehind, this._lookbehind_size); + this._lookbehind_size += len; + this._bufpos = len; + return len; + } + } + pos += (pos >= 0) * this._bufpos; + if (data.indexOf(needle, pos) !== -1) { + pos = data.indexOf(needle, pos); + ++this.matches; + if (pos > 0) { + this.emit("info", true, data, this._bufpos, pos); + } else { + this.emit("info", true); + } + return this._bufpos = pos + needleLength; + } else { + pos = len - needleLength; + } + while (pos < len && (data[pos] !== needle[0] || Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0)) { + ++pos; + } + if (pos < len) { + data.copy(this._lookbehind, 0, pos, pos + (len - pos)); + this._lookbehind_size = len - pos; + } + if (pos > 0) { + this.emit("info", false, data, this._bufpos, pos < len ? pos : len); + } + this._bufpos = len; + return len; + }; + SBMH.prototype._sbmh_lookup_char = function(data, pos) { + return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; + }; + SBMH.prototype._sbmh_memcmp = function(data, pos, len) { + for (var i3 = 0; i3 < len; ++i3) { + if (this._sbmh_lookup_char(data, pos + i3) !== this._needle[i3]) { + return false; + } + } + return true; + }; + module2.exports = SBMH; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +var require_PartStream = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports, module2) { + "use strict"; + var inherits2 = require("node:util").inherits; + var ReadableStream5 = require("node:stream").Readable; + function PartStream(opts) { + ReadableStream5.call(this, opts); + } + inherits2(PartStream, ReadableStream5); + PartStream.prototype._read = function(n2) { + }; + module2.exports = PartStream; + } +}); + +// node_modules/@fastify/busboy/lib/utils/getLimit.js +var require_getLimit = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports, module2) { + "use strict"; + module2.exports = function getLimit(limits, name, defaultLimit) { + if (!limits || limits[name] === void 0 || limits[name] === null) { + return defaultLimit; + } + if (typeof limits[name] !== "number" || isNaN(limits[name])) { + throw new TypeError("Limit " + name + " is not a valid number"); + } + return limits[name]; + }; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +var require_HeaderParser = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("node:events").EventEmitter; + var inherits2 = require("node:util").inherits; + var getLimit = require_getLimit(); + var StreamSearch = require_sbmh(); + var B_DCRLF = Buffer.from("\r\n\r\n"); + var RE_CRLF = /\r\n/g; + var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; + function HeaderParser(cfg) { + EventEmitter2.call(this); + cfg = cfg || {}; + const self2 = this; + this.nread = 0; + this.maxed = false; + this.npairs = 0; + this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); + this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); + this.buffer = ""; + this.header = {}; + this.finished = false; + this.ss = new StreamSearch(B_DCRLF); + this.ss.on("info", function(isMatch, data, start, end) { + if (data && !self2.maxed) { + if (self2.nread + end - start >= self2.maxHeaderSize) { + end = self2.maxHeaderSize - self2.nread + start; + self2.nread = self2.maxHeaderSize; + self2.maxed = true; + } else { + self2.nread += end - start; + } + self2.buffer += data.toString("binary", start, end); + } + if (isMatch) { + self2._finish(); + } + }); + } + inherits2(HeaderParser, EventEmitter2); + HeaderParser.prototype.push = function(data) { + const r3 = this.ss.push(data); + if (this.finished) { + return r3; + } + }; + HeaderParser.prototype.reset = function() { + this.finished = false; + this.buffer = ""; + this.header = {}; + this.ss.reset(); + }; + HeaderParser.prototype._finish = function() { + if (this.buffer) { + this._parseHeader(); + } + this.ss.matches = this.ss.maxMatches; + const header = this.header; + this.header = {}; + this.buffer = ""; + this.finished = true; + this.nread = this.npairs = 0; + this.maxed = false; + this.emit("header", header); + }; + HeaderParser.prototype._parseHeader = function() { + if (this.npairs === this.maxHeaderPairs) { + return; + } + const lines = this.buffer.split(RE_CRLF); + const len = lines.length; + let m4, h3; + for (var i3 = 0; i3 < len; ++i3) { + if (lines[i3].length === 0) { + continue; + } + if (lines[i3][0] === " " || lines[i3][0] === " ") { + if (h3) { + this.header[h3][this.header[h3].length - 1] += lines[i3]; + continue; + } + } + const posColon = lines[i3].indexOf(":"); + if (posColon === -1 || posColon === 0) { + return; + } + m4 = RE_HDR.exec(lines[i3]); + h3 = m4[1].toLowerCase(); + this.header[h3] = this.header[h3] || []; + this.header[h3].push(m4[2] || ""); + if (++this.npairs === this.maxHeaderPairs) { + break; + } + } + }; + module2.exports = HeaderParser; + } +}); + +// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +var require_Dicer = __commonJS({ + "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports, module2) { + "use strict"; + var WritableStream2 = require("node:stream").Writable; + var inherits2 = require("node:util").inherits; + var StreamSearch = require_sbmh(); + var PartStream = require_PartStream(); + var HeaderParser = require_HeaderParser(); + var DASH = 45; + var B_ONEDASH = Buffer.from("-"); + var B_CRLF = Buffer.from("\r\n"); + var EMPTY_FN = function() { + }; + function Dicer(cfg) { + if (!(this instanceof Dicer)) { + return new Dicer(cfg); + } + WritableStream2.call(this, cfg); + if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { + throw new TypeError("Boundary required"); + } + if (typeof cfg.boundary === "string") { + this.setBoundary(cfg.boundary); + } else { + this._bparser = void 0; + } + this._headerFirst = cfg.headerFirst; + this._dashes = 0; + this._parts = 0; + this._finished = false; + this._realFinish = false; + this._isPreamble = true; + this._justMatched = false; + this._firstWrite = true; + this._inHeader = true; + this._part = void 0; + this._cb = void 0; + this._ignoreData = false; + this._partOpts = { highWaterMark: cfg.partHwm }; + this._pause = false; + const self2 = this; + this._hparser = new HeaderParser(cfg); + this._hparser.on("header", function(header) { + self2._inHeader = false; + self2._part.emit("header", header); + }); + } + inherits2(Dicer, WritableStream2); + Dicer.prototype.emit = function(ev) { + if (ev === "finish" && !this._realFinish) { + if (!this._finished) { + const self2 = this; + process.nextTick(function() { + self2.emit("error", new Error("Unexpected end of multipart data")); + if (self2._part && !self2._ignoreData) { + const type2 = self2._isPreamble ? "Preamble" : "Part"; + self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data")); + self2._part.push(null); + process.nextTick(function() { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + }); + return; + } + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + }); + } + } else { + WritableStream2.prototype.emit.apply(this, arguments); + } + }; + Dicer.prototype._write = function(data, encoding, cb) { + if (!this._hparser && !this._bparser) { + return cb(); + } + if (this._headerFirst && this._isPreamble) { + if (!this._part) { + this._part = new PartStream(this._partOpts); + if (this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else { + this._ignore(); + } + } + const r3 = this._hparser.push(data); + if (!this._inHeader && r3 !== void 0 && r3 < data.length) { + data = data.slice(r3); + } else { + return cb(); + } + } + if (this._firstWrite) { + this._bparser.push(B_CRLF); + this._firstWrite = false; + } + this._bparser.push(data); + if (this._pause) { + this._cb = cb; + } else { + cb(); + } + }; + Dicer.prototype.reset = function() { + this._part = void 0; + this._bparser = void 0; + this._hparser = void 0; + }; + Dicer.prototype.setBoundary = function(boundary) { + const self2 = this; + this._bparser = new StreamSearch("\r\n--" + boundary); + this._bparser.on("info", function(isMatch, data, start, end) { + self2._oninfo(isMatch, data, start, end); + }); + }; + Dicer.prototype._ignore = function() { + if (this._part && !this._ignoreData) { + this._ignoreData = true; + this._part.on("error", EMPTY_FN); + this._part.resume(); + } + }; + Dicer.prototype._oninfo = function(isMatch, data, start, end) { + let buf; + const self2 = this; + let i3 = 0; + let r3; + let shouldWriteMore = true; + if (!this._part && this._justMatched && data) { + while (this._dashes < 2 && start + i3 < end) { + if (data[start + i3] === DASH) { + ++i3; + ++this._dashes; + } else { + if (this._dashes) { + buf = B_ONEDASH; + } + this._dashes = 0; + break; + } + } + if (this._dashes === 2) { + if (start + i3 < end && this.listenerCount("trailer") !== 0) { + this.emit("trailer", data.slice(start + i3, end)); + } + this.reset(); + this._finished = true; + if (self2._parts === 0) { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + } + } + if (this._dashes) { + return; + } + } + if (this._justMatched) { + this._justMatched = false; + } + if (!this._part) { + this._part = new PartStream(this._partOpts); + this._part._read = function(n2) { + self2._unpause(); + }; + if (this._isPreamble && this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { + this.emit("part", this._part); + } else { + this._ignore(); + } + if (!this._isPreamble) { + this._inHeader = true; + } + } + if (data && start < end && !this._ignoreData) { + if (this._isPreamble || !this._inHeader) { + if (buf) { + shouldWriteMore = this._part.push(buf); + } + shouldWriteMore = this._part.push(data.slice(start, end)); + if (!shouldWriteMore) { + this._pause = true; + } + } else if (!this._isPreamble && this._inHeader) { + if (buf) { + this._hparser.push(buf); + } + r3 = this._hparser.push(data.slice(start, end)); + if (!this._inHeader && r3 !== void 0 && r3 < end) { + this._oninfo(false, data, start + r3, end); + } + } + } + if (isMatch) { + this._hparser.reset(); + if (this._isPreamble) { + this._isPreamble = false; + } else { + if (start !== end) { + ++this._parts; + this._part.on("end", function() { + if (--self2._parts === 0) { + if (self2._finished) { + self2._realFinish = true; + self2.emit("finish"); + self2._realFinish = false; + } else { + self2._unpause(); + } + } + }); + } + } + this._part.push(null); + this._part = void 0; + this._ignoreData = false; + this._justMatched = true; + this._dashes = 0; + } + }; + Dicer.prototype._unpause = function() { + if (!this._pause) { + return; + } + this._pause = false; + if (this._cb) { + const cb = this._cb; + this._cb = void 0; + cb(); + } + }; + module2.exports = Dicer; + } +}); + +// node_modules/@fastify/busboy/lib/utils/decodeText.js +var require_decodeText = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module2) { + "use strict"; + var utf8Decoder = new TextDecoder("utf-8"); + var textDecoders = /* @__PURE__ */ new Map([ + ["utf-8", utf8Decoder], + ["utf8", utf8Decoder] + ]); + function getDecoder(charset) { + let lc; + while (true) { + switch (charset) { + case "utf-8": + case "utf8": + return decoders.utf8; + case "latin1": + case "ascii": + case "us-ascii": + case "iso-8859-1": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "windows-1252": + case "iso_8859-1:1987": + case "cp1252": + case "x-cp1252": + return decoders.latin1; + case "utf16le": + case "utf-16le": + case "ucs2": + case "ucs-2": + return decoders.utf16le; + case "base64": + return decoders.base64; + default: + if (lc === void 0) { + lc = true; + charset = charset.toLowerCase(); + continue; + } + return decoders.other.bind(charset); + } + } + } + var decoders = { + utf8: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.utf8Slice(0, data.length); + }, + latin1: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + return data; + } + return data.latin1Slice(0, data.length); + }, + utf16le: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.ucs2Slice(0, data.length); + }, + base64: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + return data.base64Slice(0, data.length); + }, + other: (data, sourceEncoding) => { + if (data.length === 0) { + return ""; + } + if (typeof data === "string") { + data = Buffer.from(data, sourceEncoding); + } + if (textDecoders.has(exports.toString())) { + try { + return textDecoders.get(exports).decode(data); + } catch { + } + } + return typeof data === "string" ? data : data.toString(); + } + }; + function decodeText(text, sourceEncoding, destEncoding) { + if (text) { + return getDecoder(destEncoding)(text, sourceEncoding); + } + return text; + } + module2.exports = decodeText; + } +}); + +// node_modules/@fastify/busboy/lib/utils/parseParams.js +var require_parseParams = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports, module2) { + "use strict"; + var decodeText = require_decodeText(); + var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; + var EncodedLookup = { + "%00": "\0", + "%01": "", + "%02": "", + "%03": "", + "%04": "", + "%05": "", + "%06": "", + "%07": "\x07", + "%08": "\b", + "%09": " ", + "%0a": "\n", + "%0A": "\n", + "%0b": "\v", + "%0B": "\v", + "%0c": "\f", + "%0C": "\f", + "%0d": "\r", + "%0D": "\r", + "%0e": "", + "%0E": "", + "%0f": "", + "%0F": "", + "%10": "", + "%11": "", + "%12": "", + "%13": "", + "%14": "", + "%15": "", + "%16": "", + "%17": "", + "%18": "", + "%19": "", + "%1a": "", + "%1A": "", + "%1b": "\x1B", + "%1B": "\x1B", + "%1c": "", + "%1C": "", + "%1d": "", + "%1D": "", + "%1e": "", + "%1E": "", + "%1f": "", + "%1F": "", + "%20": " ", + "%21": "!", + "%22": '"', + "%23": "#", + "%24": "$", + "%25": "%", + "%26": "&", + "%27": "'", + "%28": "(", + "%29": ")", + "%2a": "*", + "%2A": "*", + "%2b": "+", + "%2B": "+", + "%2c": ",", + "%2C": ",", + "%2d": "-", + "%2D": "-", + "%2e": ".", + "%2E": ".", + "%2f": "/", + "%2F": "/", + "%30": "0", + "%31": "1", + "%32": "2", + "%33": "3", + "%34": "4", + "%35": "5", + "%36": "6", + "%37": "7", + "%38": "8", + "%39": "9", + "%3a": ":", + "%3A": ":", + "%3b": ";", + "%3B": ";", + "%3c": "<", + "%3C": "<", + "%3d": "=", + "%3D": "=", + "%3e": ">", + "%3E": ">", + "%3f": "?", + "%3F": "?", + "%40": "@", + "%41": "A", + "%42": "B", + "%43": "C", + "%44": "D", + "%45": "E", + "%46": "F", + "%47": "G", + "%48": "H", + "%49": "I", + "%4a": "J", + "%4A": "J", + "%4b": "K", + "%4B": "K", + "%4c": "L", + "%4C": "L", + "%4d": "M", + "%4D": "M", + "%4e": "N", + "%4E": "N", + "%4f": "O", + "%4F": "O", + "%50": "P", + "%51": "Q", + "%52": "R", + "%53": "S", + "%54": "T", + "%55": "U", + "%56": "V", + "%57": "W", + "%58": "X", + "%59": "Y", + "%5a": "Z", + "%5A": "Z", + "%5b": "[", + "%5B": "[", + "%5c": "\\", + "%5C": "\\", + "%5d": "]", + "%5D": "]", + "%5e": "^", + "%5E": "^", + "%5f": "_", + "%5F": "_", + "%60": "`", + "%61": "a", + "%62": "b", + "%63": "c", + "%64": "d", + "%65": "e", + "%66": "f", + "%67": "g", + "%68": "h", + "%69": "i", + "%6a": "j", + "%6A": "j", + "%6b": "k", + "%6B": "k", + "%6c": "l", + "%6C": "l", + "%6d": "m", + "%6D": "m", + "%6e": "n", + "%6E": "n", + "%6f": "o", + "%6F": "o", + "%70": "p", + "%71": "q", + "%72": "r", + "%73": "s", + "%74": "t", + "%75": "u", + "%76": "v", + "%77": "w", + "%78": "x", + "%79": "y", + "%7a": "z", + "%7A": "z", + "%7b": "{", + "%7B": "{", + "%7c": "|", + "%7C": "|", + "%7d": "}", + "%7D": "}", + "%7e": "~", + "%7E": "~", + "%7f": "\x7F", + "%7F": "\x7F", + "%80": "\x80", + "%81": "\x81", + "%82": "\x82", + "%83": "\x83", + "%84": "\x84", + "%85": "\x85", + "%86": "\x86", + "%87": "\x87", + "%88": "\x88", + "%89": "\x89", + "%8a": "\x8A", + "%8A": "\x8A", + "%8b": "\x8B", + "%8B": "\x8B", + "%8c": "\x8C", + "%8C": "\x8C", + "%8d": "\x8D", + "%8D": "\x8D", + "%8e": "\x8E", + "%8E": "\x8E", + "%8f": "\x8F", + "%8F": "\x8F", + "%90": "\x90", + "%91": "\x91", + "%92": "\x92", + "%93": "\x93", + "%94": "\x94", + "%95": "\x95", + "%96": "\x96", + "%97": "\x97", + "%98": "\x98", + "%99": "\x99", + "%9a": "\x9A", + "%9A": "\x9A", + "%9b": "\x9B", + "%9B": "\x9B", + "%9c": "\x9C", + "%9C": "\x9C", + "%9d": "\x9D", + "%9D": "\x9D", + "%9e": "\x9E", + "%9E": "\x9E", + "%9f": "\x9F", + "%9F": "\x9F", + "%a0": "\xA0", + "%A0": "\xA0", + "%a1": "\xA1", + "%A1": "\xA1", + "%a2": "\xA2", + "%A2": "\xA2", + "%a3": "\xA3", + "%A3": "\xA3", + "%a4": "\xA4", + "%A4": "\xA4", + "%a5": "\xA5", + "%A5": "\xA5", + "%a6": "\xA6", + "%A6": "\xA6", + "%a7": "\xA7", + "%A7": "\xA7", + "%a8": "\xA8", + "%A8": "\xA8", + "%a9": "\xA9", + "%A9": "\xA9", + "%aa": "\xAA", + "%Aa": "\xAA", + "%aA": "\xAA", + "%AA": "\xAA", + "%ab": "\xAB", + "%Ab": "\xAB", + "%aB": "\xAB", + "%AB": "\xAB", + "%ac": "\xAC", + "%Ac": "\xAC", + "%aC": "\xAC", + "%AC": "\xAC", + "%ad": "\xAD", + "%Ad": "\xAD", + "%aD": "\xAD", + "%AD": "\xAD", + "%ae": "\xAE", + "%Ae": "\xAE", + "%aE": "\xAE", + "%AE": "\xAE", + "%af": "\xAF", + "%Af": "\xAF", + "%aF": "\xAF", + "%AF": "\xAF", + "%b0": "\xB0", + "%B0": "\xB0", + "%b1": "\xB1", + "%B1": "\xB1", + "%b2": "\xB2", + "%B2": "\xB2", + "%b3": "\xB3", + "%B3": "\xB3", + "%b4": "\xB4", + "%B4": "\xB4", + "%b5": "\xB5", + "%B5": "\xB5", + "%b6": "\xB6", + "%B6": "\xB6", + "%b7": "\xB7", + "%B7": "\xB7", + "%b8": "\xB8", + "%B8": "\xB8", + "%b9": "\xB9", + "%B9": "\xB9", + "%ba": "\xBA", + "%Ba": "\xBA", + "%bA": "\xBA", + "%BA": "\xBA", + "%bb": "\xBB", + "%Bb": "\xBB", + "%bB": "\xBB", + "%BB": "\xBB", + "%bc": "\xBC", + "%Bc": "\xBC", + "%bC": "\xBC", + "%BC": "\xBC", + "%bd": "\xBD", + "%Bd": "\xBD", + "%bD": "\xBD", + "%BD": "\xBD", + "%be": "\xBE", + "%Be": "\xBE", + "%bE": "\xBE", + "%BE": "\xBE", + "%bf": "\xBF", + "%Bf": "\xBF", + "%bF": "\xBF", + "%BF": "\xBF", + "%c0": "\xC0", + "%C0": "\xC0", + "%c1": "\xC1", + "%C1": "\xC1", + "%c2": "\xC2", + "%C2": "\xC2", + "%c3": "\xC3", + "%C3": "\xC3", + "%c4": "\xC4", + "%C4": "\xC4", + "%c5": "\xC5", + "%C5": "\xC5", + "%c6": "\xC6", + "%C6": "\xC6", + "%c7": "\xC7", + "%C7": "\xC7", + "%c8": "\xC8", + "%C8": "\xC8", + "%c9": "\xC9", + "%C9": "\xC9", + "%ca": "\xCA", + "%Ca": "\xCA", + "%cA": "\xCA", + "%CA": "\xCA", + "%cb": "\xCB", + "%Cb": "\xCB", + "%cB": "\xCB", + "%CB": "\xCB", + "%cc": "\xCC", + "%Cc": "\xCC", + "%cC": "\xCC", + "%CC": "\xCC", + "%cd": "\xCD", + "%Cd": "\xCD", + "%cD": "\xCD", + "%CD": "\xCD", + "%ce": "\xCE", + "%Ce": "\xCE", + "%cE": "\xCE", + "%CE": "\xCE", + "%cf": "\xCF", + "%Cf": "\xCF", + "%cF": "\xCF", + "%CF": "\xCF", + "%d0": "\xD0", + "%D0": "\xD0", + "%d1": "\xD1", + "%D1": "\xD1", + "%d2": "\xD2", + "%D2": "\xD2", + "%d3": "\xD3", + "%D3": "\xD3", + "%d4": "\xD4", + "%D4": "\xD4", + "%d5": "\xD5", + "%D5": "\xD5", + "%d6": "\xD6", + "%D6": "\xD6", + "%d7": "\xD7", + "%D7": "\xD7", + "%d8": "\xD8", + "%D8": "\xD8", + "%d9": "\xD9", + "%D9": "\xD9", + "%da": "\xDA", + "%Da": "\xDA", + "%dA": "\xDA", + "%DA": "\xDA", + "%db": "\xDB", + "%Db": "\xDB", + "%dB": "\xDB", + "%DB": "\xDB", + "%dc": "\xDC", + "%Dc": "\xDC", + "%dC": "\xDC", + "%DC": "\xDC", + "%dd": "\xDD", + "%Dd": "\xDD", + "%dD": "\xDD", + "%DD": "\xDD", + "%de": "\xDE", + "%De": "\xDE", + "%dE": "\xDE", + "%DE": "\xDE", + "%df": "\xDF", + "%Df": "\xDF", + "%dF": "\xDF", + "%DF": "\xDF", + "%e0": "\xE0", + "%E0": "\xE0", + "%e1": "\xE1", + "%E1": "\xE1", + "%e2": "\xE2", + "%E2": "\xE2", + "%e3": "\xE3", + "%E3": "\xE3", + "%e4": "\xE4", + "%E4": "\xE4", + "%e5": "\xE5", + "%E5": "\xE5", + "%e6": "\xE6", + "%E6": "\xE6", + "%e7": "\xE7", + "%E7": "\xE7", + "%e8": "\xE8", + "%E8": "\xE8", + "%e9": "\xE9", + "%E9": "\xE9", + "%ea": "\xEA", + "%Ea": "\xEA", + "%eA": "\xEA", + "%EA": "\xEA", + "%eb": "\xEB", + "%Eb": "\xEB", + "%eB": "\xEB", + "%EB": "\xEB", + "%ec": "\xEC", + "%Ec": "\xEC", + "%eC": "\xEC", + "%EC": "\xEC", + "%ed": "\xED", + "%Ed": "\xED", + "%eD": "\xED", + "%ED": "\xED", + "%ee": "\xEE", + "%Ee": "\xEE", + "%eE": "\xEE", + "%EE": "\xEE", + "%ef": "\xEF", + "%Ef": "\xEF", + "%eF": "\xEF", + "%EF": "\xEF", + "%f0": "\xF0", + "%F0": "\xF0", + "%f1": "\xF1", + "%F1": "\xF1", + "%f2": "\xF2", + "%F2": "\xF2", + "%f3": "\xF3", + "%F3": "\xF3", + "%f4": "\xF4", + "%F4": "\xF4", + "%f5": "\xF5", + "%F5": "\xF5", + "%f6": "\xF6", + "%F6": "\xF6", + "%f7": "\xF7", + "%F7": "\xF7", + "%f8": "\xF8", + "%F8": "\xF8", + "%f9": "\xF9", + "%F9": "\xF9", + "%fa": "\xFA", + "%Fa": "\xFA", + "%fA": "\xFA", + "%FA": "\xFA", + "%fb": "\xFB", + "%Fb": "\xFB", + "%fB": "\xFB", + "%FB": "\xFB", + "%fc": "\xFC", + "%Fc": "\xFC", + "%fC": "\xFC", + "%FC": "\xFC", + "%fd": "\xFD", + "%Fd": "\xFD", + "%fD": "\xFD", + "%FD": "\xFD", + "%fe": "\xFE", + "%Fe": "\xFE", + "%fE": "\xFE", + "%FE": "\xFE", + "%ff": "\xFF", + "%Ff": "\xFF", + "%fF": "\xFF", + "%FF": "\xFF" + }; + function encodedReplacer(match) { + return EncodedLookup[match]; + } + var STATE_KEY = 0; + var STATE_VALUE = 1; + var STATE_CHARSET = 2; + var STATE_LANG = 3; + function parseParams(str) { + const res = []; + let state2 = STATE_KEY; + let charset = ""; + let inquote = false; + let escaping = false; + let p3 = 0; + let tmp = ""; + const len = str.length; + for (var i3 = 0; i3 < len; ++i3) { + const char = str[i3]; + if (char === "\\" && inquote) { + if (escaping) { + escaping = false; + } else { + escaping = true; + continue; + } + } else if (char === '"') { + if (!escaping) { + if (inquote) { + inquote = false; + state2 = STATE_KEY; + } else { + inquote = true; + } + continue; + } else { + escaping = false; + } + } else { + if (escaping && inquote) { + tmp += "\\"; + } + escaping = false; + if ((state2 === STATE_CHARSET || state2 === STATE_LANG) && char === "'") { + if (state2 === STATE_CHARSET) { + state2 = STATE_LANG; + charset = tmp.substring(1); + } else { + state2 = STATE_VALUE; + } + tmp = ""; + continue; + } else if (state2 === STATE_KEY && (char === "*" || char === "=") && res.length) { + state2 = char === "*" ? STATE_CHARSET : STATE_VALUE; + res[p3] = [tmp, void 0]; + tmp = ""; + continue; + } else if (!inquote && char === ";") { + state2 = STATE_KEY; + if (charset) { + if (tmp.length) { + tmp = decodeText( + tmp.replace(RE_ENCODED, encodedReplacer), + "binary", + charset + ); + } + charset = ""; + } else if (tmp.length) { + tmp = decodeText(tmp, "binary", "utf8"); + } + if (res[p3] === void 0) { + res[p3] = tmp; + } else { + res[p3][1] = tmp; + } + tmp = ""; + ++p3; + continue; + } else if (!inquote && (char === " " || char === " ")) { + continue; + } + } + tmp += char; + } + if (charset && tmp.length) { + tmp = decodeText( + tmp.replace(RE_ENCODED, encodedReplacer), + "binary", + charset + ); + } else if (tmp) { + tmp = decodeText(tmp, "binary", "utf8"); + } + if (res[p3] === void 0) { + if (tmp) { + res[p3] = tmp; + } + } else { + res[p3][1] = tmp; + } + return res; + } + module2.exports = parseParams; + } +}); + +// node_modules/@fastify/busboy/lib/utils/basename.js +var require_basename = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module2) { + "use strict"; + module2.exports = function basename2(path2) { + if (typeof path2 !== "string") { + return ""; + } + for (var i3 = path2.length - 1; i3 >= 0; --i3) { + switch (path2.charCodeAt(i3)) { + case 47: + case 92: + path2 = path2.slice(i3 + 1); + return path2 === ".." || path2 === "." ? "" : path2; + } + } + return path2 === ".." || path2 === "." ? "" : path2; + }; + } +}); + +// node_modules/@fastify/busboy/lib/types/multipart.js +var require_multipart = __commonJS({ + "node_modules/@fastify/busboy/lib/types/multipart.js"(exports, module2) { + "use strict"; + var { Readable: Readable4 } = require("node:stream"); + var { inherits: inherits2 } = require("node:util"); + var Dicer = require_Dicer(); + var parseParams = require_parseParams(); + var decodeText = require_decodeText(); + var basename2 = require_basename(); + var getLimit = require_getLimit(); + var RE_BOUNDARY = /^boundary$/i; + var RE_FIELD = /^form-data$/i; + var RE_CHARSET = /^charset$/i; + var RE_FILENAME = /^filename$/i; + var RE_NAME = /^name$/i; + Multipart.detect = /^multipart\/form-data/i; + function Multipart(boy, cfg) { + let i3; + let len; + const self2 = this; + let boundary; + const limits = cfg.limits; + const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); + const parsedConType = cfg.parsedConType || []; + const defCharset = cfg.defCharset || "utf8"; + const preservePath = cfg.preservePath; + const fileOpts = { highWaterMark: cfg.fileHwm }; + for (i3 = 0, len = parsedConType.length; i3 < len; ++i3) { + if (Array.isArray(parsedConType[i3]) && RE_BOUNDARY.test(parsedConType[i3][0])) { + boundary = parsedConType[i3][1]; + break; + } + } + function checkFinished() { + if (nends === 0 && finished && !boy._done) { + finished = false; + self2.end(); + } + } + if (typeof boundary !== "string") { + throw new Error("Multipart: Boundary not found"); + } + const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); + const fileSizeLimit = getLimit(limits, "fileSize", Infinity); + const filesLimit = getLimit(limits, "files", Infinity); + const fieldsLimit = getLimit(limits, "fields", Infinity); + const partsLimit = getLimit(limits, "parts", Infinity); + const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); + const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); + let nfiles = 0; + let nfields = 0; + let nends = 0; + let curFile; + let curField; + let finished = false; + this._needDrain = false; + this._pause = false; + this._cb = void 0; + this._nparts = 0; + this._boy = boy; + const parserCfg = { + boundary, + maxHeaderPairs: headerPairsLimit, + maxHeaderSize: headerSizeLimit, + partHwm: fileOpts.highWaterMark, + highWaterMark: cfg.highWaterMark + }; + this.parser = new Dicer(parserCfg); + this.parser.on("drain", function() { + self2._needDrain = false; + if (self2._cb && !self2._pause) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }).on("part", function onPart(part) { + if (++self2._nparts > partsLimit) { + self2.parser.removeListener("part", onPart); + self2.parser.on("part", skipPart); + boy.hitPartsLimit = true; + boy.emit("partsLimit"); + return skipPart(part); + } + if (curField) { + const field = curField; + field.emit("end"); + field.removeAllListeners("end"); + } + part.on("header", function(header) { + let contype; + let fieldname; + let parsed; + let charset; + let encoding; + let filename; + let nsize = 0; + if (header["content-type"]) { + parsed = parseParams(header["content-type"][0]); + if (parsed[0]) { + contype = parsed[0].toLowerCase(); + for (i3 = 0, len = parsed.length; i3 < len; ++i3) { + if (RE_CHARSET.test(parsed[i3][0])) { + charset = parsed[i3][1].toLowerCase(); + break; + } + } + } + } + if (contype === void 0) { + contype = "text/plain"; + } + if (charset === void 0) { + charset = defCharset; + } + if (header["content-disposition"]) { + parsed = parseParams(header["content-disposition"][0]); + if (!RE_FIELD.test(parsed[0])) { + return skipPart(part); + } + for (i3 = 0, len = parsed.length; i3 < len; ++i3) { + if (RE_NAME.test(parsed[i3][0])) { + fieldname = parsed[i3][1]; + } else if (RE_FILENAME.test(parsed[i3][0])) { + filename = parsed[i3][1]; + if (!preservePath) { + filename = basename2(filename); + } + } + } + } else { + return skipPart(part); + } + if (header["content-transfer-encoding"]) { + encoding = header["content-transfer-encoding"][0].toLowerCase(); + } else { + encoding = "7bit"; + } + let onData, onEnd; + if (isPartAFile(fieldname, contype, filename)) { + if (nfiles === filesLimit) { + if (!boy.hitFilesLimit) { + boy.hitFilesLimit = true; + boy.emit("filesLimit"); + } + return skipPart(part); + } + ++nfiles; + if (boy.listenerCount("file") === 0) { + self2.parser._ignore(); + return; + } + ++nends; + const file = new FileStream(fileOpts); + curFile = file; + file.on("end", function() { + --nends; + self2._pause = false; + checkFinished(); + if (self2._cb && !self2._needDrain) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }); + file._read = function(n2) { + if (!self2._pause) { + return; + } + self2._pause = false; + if (self2._cb && !self2._needDrain) { + const cb = self2._cb; + self2._cb = void 0; + cb(); + } + }; + boy.emit("file", fieldname, file, filename, encoding, contype); + onData = function(data) { + if ((nsize += data.length) > fileSizeLimit) { + const extralen = fileSizeLimit - nsize + data.length; + if (extralen > 0) { + file.push(data.slice(0, extralen)); + } + file.truncated = true; + file.bytesRead = fileSizeLimit; + part.removeAllListeners("data"); + file.emit("limit"); + return; + } else if (!file.push(data)) { + self2._pause = true; + } + file.bytesRead = nsize; + }; + onEnd = function() { + curFile = void 0; + file.push(null); + }; + } else { + if (nfields === fieldsLimit) { + if (!boy.hitFieldsLimit) { + boy.hitFieldsLimit = true; + boy.emit("fieldsLimit"); + } + return skipPart(part); + } + ++nfields; + ++nends; + let buffer = ""; + let truncated = false; + curField = part; + onData = function(data) { + if ((nsize += data.length) > fieldSizeLimit) { + const extralen = fieldSizeLimit - (nsize - data.length); + buffer += data.toString("binary", 0, extralen); + truncated = true; + part.removeAllListeners("data"); + } else { + buffer += data.toString("binary"); + } + }; + onEnd = function() { + curField = void 0; + if (buffer.length) { + buffer = decodeText(buffer, "binary", charset); + } + boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); + --nends; + checkFinished(); + }; + } + part._readableState.sync = false; + part.on("data", onData); + part.on("end", onEnd); + }).on("error", function(err) { + if (curFile) { + curFile.emit("error", err); + } + }); + }).on("error", function(err) { + boy.emit("error", err); + }).on("finish", function() { + finished = true; + checkFinished(); + }); + } + Multipart.prototype.write = function(chunk, cb) { + const r3 = this.parser.write(chunk); + if (r3 && !this._pause) { + cb(); + } else { + this._needDrain = !r3; + this._cb = cb; + } + }; + Multipart.prototype.end = function() { + const self2 = this; + if (self2.parser.writable) { + self2.parser.end(); + } else if (!self2._boy._done) { + process.nextTick(function() { + self2._boy._done = true; + self2._boy.emit("finish"); + }); + } + }; + function skipPart(part) { + part.resume(); + } + function FileStream(opts) { + Readable4.call(this, opts); + this.bytesRead = 0; + this.truncated = false; + } + inherits2(FileStream, Readable4); + FileStream.prototype._read = function(n2) { + }; + module2.exports = Multipart; + } +}); + +// node_modules/@fastify/busboy/lib/utils/Decoder.js +var require_Decoder = __commonJS({ + "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports, module2) { + "use strict"; + var RE_PLUS = /\+/g; + var HEX = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + function Decoder() { + this.buffer = void 0; + } + Decoder.prototype.write = function(str) { + str = str.replace(RE_PLUS, " "); + let res = ""; + let i3 = 0; + let p3 = 0; + const len = str.length; + for (; i3 < len; ++i3) { + if (this.buffer !== void 0) { + if (!HEX[str.charCodeAt(i3)]) { + res += "%" + this.buffer; + this.buffer = void 0; + --i3; + } else { + this.buffer += str[i3]; + ++p3; + if (this.buffer.length === 2) { + res += String.fromCharCode(parseInt(this.buffer, 16)); + this.buffer = void 0; + } + } + } else if (str[i3] === "%") { + if (i3 > p3) { + res += str.substring(p3, i3); + p3 = i3; + } + this.buffer = ""; + ++p3; + } + } + if (p3 < len && this.buffer === void 0) { + res += str.substring(p3); + } + return res; + }; + Decoder.prototype.reset = function() { + this.buffer = void 0; + }; + module2.exports = Decoder; + } +}); + +// node_modules/@fastify/busboy/lib/types/urlencoded.js +var require_urlencoded = __commonJS({ + "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports, module2) { + "use strict"; + var Decoder = require_Decoder(); + var decodeText = require_decodeText(); + var getLimit = require_getLimit(); + var RE_CHARSET = /^charset$/i; + UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; + function UrlEncoded(boy, cfg) { + const limits = cfg.limits; + const parsedConType = cfg.parsedConType; + this.boy = boy; + this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); + this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); + this.fieldsLimit = getLimit(limits, "fields", Infinity); + let charset; + for (var i3 = 0, len = parsedConType.length; i3 < len; ++i3) { + if (Array.isArray(parsedConType[i3]) && RE_CHARSET.test(parsedConType[i3][0])) { + charset = parsedConType[i3][1].toLowerCase(); + break; + } + } + if (charset === void 0) { + charset = cfg.defCharset || "utf8"; + } + this.decoder = new Decoder(); + this.charset = charset; + this._fields = 0; + this._state = "key"; + this._checkingBytes = true; + this._bytesKey = 0; + this._bytesVal = 0; + this._key = ""; + this._val = ""; + this._keyTrunc = false; + this._valTrunc = false; + this._hitLimit = false; + } + UrlEncoded.prototype.write = function(data, cb) { + if (this._fields === this.fieldsLimit) { + if (!this.boy.hitFieldsLimit) { + this.boy.hitFieldsLimit = true; + this.boy.emit("fieldsLimit"); + } + return cb(); + } + let idxeq; + let idxamp; + let i3; + let p3 = 0; + const len = data.length; + while (p3 < len) { + if (this._state === "key") { + idxeq = idxamp = void 0; + for (i3 = p3; i3 < len; ++i3) { + if (!this._checkingBytes) { + ++p3; + } + if (data[i3] === 61) { + idxeq = i3; + break; + } else if (data[i3] === 38) { + idxamp = i3; + break; + } + if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesKey; + } + } + if (idxeq !== void 0) { + if (idxeq > p3) { + this._key += this.decoder.write(data.toString("binary", p3, idxeq)); + } + this._state = "val"; + this._hitLimit = false; + this._checkingBytes = true; + this._val = ""; + this._bytesVal = 0; + this._valTrunc = false; + this.decoder.reset(); + p3 = idxeq + 1; + } else if (idxamp !== void 0) { + ++this._fields; + let key; + const keyTrunc = this._keyTrunc; + if (idxamp > p3) { + key = this._key += this.decoder.write(data.toString("binary", p3, idxamp)); + } else { + key = this._key; + } + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + if (key.length) { + this.boy.emit( + "field", + decodeText(key, "binary", this.charset), + "", + keyTrunc, + false + ); + } + p3 = idxamp + 1; + if (this._fields === this.fieldsLimit) { + return cb(); + } + } else if (this._hitLimit) { + if (i3 > p3) { + this._key += this.decoder.write(data.toString("binary", p3, i3)); + } + p3 = i3; + if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { + this._checkingBytes = false; + this._keyTrunc = true; + } + } else { + if (p3 < len) { + this._key += this.decoder.write(data.toString("binary", p3)); + } + p3 = len; + } + } else { + idxamp = void 0; + for (i3 = p3; i3 < len; ++i3) { + if (!this._checkingBytes) { + ++p3; + } + if (data[i3] === 38) { + idxamp = i3; + break; + } + if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesVal; + } + } + if (idxamp !== void 0) { + ++this._fields; + if (idxamp > p3) { + this._val += this.decoder.write(data.toString("binary", p3, idxamp)); + } + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + decodeText(this._val, "binary", this.charset), + this._keyTrunc, + this._valTrunc + ); + this._state = "key"; + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + p3 = idxamp + 1; + if (this._fields === this.fieldsLimit) { + return cb(); + } + } else if (this._hitLimit) { + if (i3 > p3) { + this._val += this.decoder.write(data.toString("binary", p3, i3)); + } + p3 = i3; + if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { + this._checkingBytes = false; + this._valTrunc = true; + } + } else { + if (p3 < len) { + this._val += this.decoder.write(data.toString("binary", p3)); + } + p3 = len; + } + } + } + cb(); + }; + UrlEncoded.prototype.end = function() { + if (this.boy._done) { + return; + } + if (this._state === "key" && this._key.length > 0) { + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + "", + this._keyTrunc, + false + ); + } else if (this._state === "val") { + this.boy.emit( + "field", + decodeText(this._key, "binary", this.charset), + decodeText(this._val, "binary", this.charset), + this._keyTrunc, + this._valTrunc + ); + } + this.boy._done = true; + this.boy.emit("finish"); + }; + module2.exports = UrlEncoded; + } +}); + +// node_modules/@fastify/busboy/lib/main.js +var require_main = __commonJS({ + "node_modules/@fastify/busboy/lib/main.js"(exports, module2) { + "use strict"; + var WritableStream2 = require("node:stream").Writable; + var { inherits: inherits2 } = require("node:util"); + var Dicer = require_Dicer(); + var MultipartParser = require_multipart(); + var UrlencodedParser = require_urlencoded(); + var parseParams = require_parseParams(); + function Busboy(opts) { + if (!(this instanceof Busboy)) { + return new Busboy(opts); + } + if (typeof opts !== "object") { + throw new TypeError("Busboy expected an options-Object."); + } + if (typeof opts.headers !== "object") { + throw new TypeError("Busboy expected an options-Object with headers-attribute."); + } + if (typeof opts.headers["content-type"] !== "string") { + throw new TypeError("Missing Content-Type-header."); + } + const { + headers, + ...streamOptions + } = opts; + this.opts = { + autoDestroy: false, + ...streamOptions + }; + WritableStream2.call(this, this.opts); + this._done = false; + this._parser = this.getParserByHeaders(headers); + this._finished = false; + } + inherits2(Busboy, WritableStream2); + Busboy.prototype.emit = function(ev) { + if (ev === "finish") { + if (!this._done) { + this._parser?.end(); + return; + } else if (this._finished) { + return; + } + this._finished = true; + } + WritableStream2.prototype.emit.apply(this, arguments); + }; + Busboy.prototype.getParserByHeaders = function(headers) { + const parsed = parseParams(headers["content-type"]); + const cfg = { + defCharset: this.opts.defCharset, + fileHwm: this.opts.fileHwm, + headers, + highWaterMark: this.opts.highWaterMark, + isPartAFile: this.opts.isPartAFile, + limits: this.opts.limits, + parsedConType: parsed, + preservePath: this.opts.preservePath + }; + if (MultipartParser.detect.test(parsed[0])) { + return new MultipartParser(this, cfg); + } + if (UrlencodedParser.detect.test(parsed[0])) { + return new UrlencodedParser(this, cfg); + } + throw new Error("Unsupported Content-Type."); + }; + Busboy.prototype._write = function(chunk, encoding, cb) { + this._parser.write(chunk, cb); + }; + module2.exports = Busboy; + module2.exports.default = Busboy; + module2.exports.Busboy = Busboy; + module2.exports.Dicer = Dicer; + } +}); + +// node_modules/undici/lib/fetch/constants.js +var require_constants2 = __commonJS({ + "node_modules/undici/lib/fetch/constants.js"(exports, module2) { + "use strict"; + var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); + var corsSafeListedMethods = ["GET", "HEAD", "POST"]; + var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); + var nullBodyStatus = [101, 204, 205, 304]; + var redirectStatus = [301, 302, 303, 307, 308]; + var redirectStatusSet = new Set(redirectStatus); + var badPorts = [ + "1", + "7", + "9", + "11", + "13", + "15", + "17", + "19", + "20", + "21", + "22", + "23", + "25", + "37", + "42", + "43", + "53", + "69", + "77", + "79", + "87", + "95", + "101", + "102", + "103", + "104", + "109", + "110", + "111", + "113", + "115", + "117", + "119", + "123", + "135", + "137", + "139", + "143", + "161", + "179", + "389", + "427", + "465", + "512", + "513", + "514", + "515", + "526", + "530", + "531", + "532", + "540", + "548", + "554", + "556", + "563", + "587", + "601", + "636", + "989", + "990", + "993", + "995", + "1719", + "1720", + "1723", + "2049", + "3659", + "4045", + "5060", + "5061", + "6000", + "6566", + "6665", + "6666", + "6667", + "6668", + "6669", + "6697", + "10080" + ]; + var badPortsSet = new Set(badPorts); + var referrerPolicy = [ + "", + "no-referrer", + "no-referrer-when-downgrade", + "same-origin", + "origin", + "strict-origin", + "origin-when-cross-origin", + "strict-origin-when-cross-origin", + "unsafe-url" + ]; + var referrerPolicySet = new Set(referrerPolicy); + var requestRedirect = ["follow", "manual", "error"]; + var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; + var safeMethodsSet = new Set(safeMethods); + var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; + var requestCredentials = ["omit", "same-origin", "include"]; + var requestCache = [ + "default", + "no-store", + "reload", + "no-cache", + "force-cache", + "only-if-cached" + ]; + var requestBodyHeader = [ + "content-encoding", + "content-language", + "content-location", + "content-type", + "content-length" + ]; + var requestDuplex = [ + "half" + ]; + var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; + var forbiddenMethodsSet = new Set(forbiddenMethods); + var subresource = [ + "audio", + "audioworklet", + "font", + "image", + "manifest", + "paintworklet", + "script", + "style", + "track", + "video", + "xslt", + "" + ]; + var subresourceSet = new Set(subresource); + var DOMException3 = globalThis.DOMException ?? (() => { + try { + atob("~"); + } catch (err) { + return Object.getPrototypeOf(err).constructor; + } + })(); + var channel; + var structuredClone2 = globalThis.structuredClone ?? function structuredClone3(value, options = void 0) { + if (arguments.length === 0) { + throw new TypeError("missing argument"); + } + if (!channel) { + channel = new MessageChannel(); + } + channel.port1.unref(); + channel.port2.unref(); + channel.port1.postMessage(value, options?.transfer); + return receiveMessageOnPort(channel.port2).message; + }; + module2.exports = { + DOMException: DOMException3, + structuredClone: structuredClone2, + subresource, + forbiddenMethods, + requestBodyHeader, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + redirectStatus, + corsSafeListedMethods, + nullBodyStatus, + safeMethods, + badPorts, + requestDuplex, + subresourceSet, + badPortsSet, + redirectStatusSet, + corsSafeListedMethodsSet, + safeMethodsSet, + forbiddenMethodsSet, + referrerPolicySet + }; + } +}); + +// node_modules/undici/lib/fetch/global.js +var require_global = __commonJS({ + "node_modules/undici/lib/fetch/global.js"(exports, module2) { + "use strict"; + var globalOrigin = Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[globalOrigin]; + } + function setGlobalOrigin(newOrigin) { + if (newOrigin === void 0) { + Object.defineProperty(globalThis, globalOrigin, { + value: void 0, + writable: true, + enumerable: false, + configurable: false + }); + return; + } + const parsedURL = new URL(newOrigin); + if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { + throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + } + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); + } + module2.exports = { + getGlobalOrigin, + setGlobalOrigin + }; + } +}); + +// node_modules/undici/lib/fetch/util.js +var require_util2 = __commonJS({ + "node_modules/undici/lib/fetch/util.js"(exports, module2) { + "use strict"; + var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); + var { getGlobalOrigin } = require_global(); + var { performance: performance2 } = require("perf_hooks"); + var { isBlobLike: isBlobLike2, toUSVString, ReadableStreamFrom } = require_util(); + var assert = require("assert"); + var { isUint8Array } = require("util/types"); + var supportedHashes = []; + var crypto2; + try { + crypto2 = require("crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); + } catch { + } + function responseURL(response) { + const urlList = response.urlList; + const length = urlList.length; + return length === 0 ? null : urlList[length - 1].toString(); + } + function responseLocationURL(response, requestFragment) { + if (!redirectStatusSet.has(response.status)) { + return null; + } + let location = response.headersList.get("location"); + if (location !== null && isValidHeaderValue(location)) { + location = new URL(location, responseURL(response)); + } + if (location && !location.hash) { + location.hash = requestFragment; + } + return location; + } + function requestCurrentURL(request3) { + return request3.urlList[request3.urlList.length - 1]; + } + function requestBadPort(request3) { + const url2 = requestCurrentURL(request3); + if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) { + return "blocked"; + } + return "allowed"; + } + function isErrorLike(object) { + return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); + } + function isValidReasonPhrase(statusText) { + for (let i3 = 0; i3 < statusText.length; ++i3) { + const c2 = statusText.charCodeAt(i3); + if (!(c2 === 9 || c2 >= 32 && c2 <= 126 || c2 >= 128 && c2 <= 255)) { + return false; + } + } + return true; + } + function isTokenCharCode(c2) { + switch (c2) { + case 34: + case 40: + case 41: + case 44: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 123: + case 125: + return false; + default: + return c2 >= 33 && c2 <= 126; + } + } + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; + } + for (let i3 = 0; i3 < characters.length; ++i3) { + if (!isTokenCharCode(characters.charCodeAt(i3))) { + return false; + } + } + return true; + } + function isValidHeaderName2(potentialValue) { + return isValidHTTPToken(potentialValue); + } + function isValidHeaderValue(potentialValue) { + if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { + return false; + } + if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { + return false; + } + return true; + } + function setRequestReferrerPolicyOnRedirect(request3, actualResponse) { + const { headersList } = actualResponse; + const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); + let policy = ""; + if (policyHeader.length > 0) { + for (let i3 = policyHeader.length; i3 !== 0; i3--) { + const token = policyHeader[i3 - 1].trim(); + if (referrerPolicyTokens.has(token)) { + policy = token; + break; + } + } + } + if (policy !== "") { + request3.referrerPolicy = policy; + } + } + function crossOriginResourcePolicyCheck() { + return "allowed"; + } + function corsCheck() { + return "success"; + } + function TAOCheck() { + return "success"; + } + function appendFetchMetadata(httpRequest) { + let header = null; + header = httpRequest.mode; + httpRequest.headersList.set("sec-fetch-mode", header); + } + function appendRequestOriginHeader(request3) { + let serializedOrigin = request3.origin; + if (request3.responseTainting === "cors" || request3.mode === "websocket") { + if (serializedOrigin) { + request3.headersList.append("origin", serializedOrigin); + } + } else if (request3.method !== "GET" && request3.method !== "HEAD") { + switch (request3.referrerPolicy) { + case "no-referrer": + serializedOrigin = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (request3.origin && urlHasHttpsScheme(request3.origin) && !urlHasHttpsScheme(requestCurrentURL(request3))) { + serializedOrigin = null; + } + break; + case "same-origin": + if (!sameOrigin(request3, requestCurrentURL(request3))) { + serializedOrigin = null; + } + break; + default: + } + if (serializedOrigin) { + request3.headersList.append("origin", serializedOrigin); + } + } + } + function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return performance2.now(); + } + function createOpaqueTimingInfo(timingInfo) { + return { + startTime: timingInfo.startTime ?? 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: timingInfo.startTime ?? 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null + }; + } + function makePolicyContainer() { + return { + referrerPolicy: "strict-origin-when-cross-origin" + }; + } + function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy + }; + } + function determineRequestsReferrer(request3) { + const policy = request3.referrerPolicy; + assert(policy); + let referrerSource = null; + if (request3.referrer === "client") { + const globalOrigin = getGlobalOrigin(); + if (!globalOrigin || globalOrigin.origin === "null") { + return "no-referrer"; + } + referrerSource = new URL(globalOrigin); + } else if (request3.referrer instanceof URL) { + referrerSource = request3.referrer; + } + let referrerURL = stripURLForReferrer(referrerSource); + const referrerOrigin = stripURLForReferrer(referrerSource, true); + if (referrerURL.toString().length > 4096) { + referrerURL = referrerOrigin; + } + const areSameOrigin = sameOrigin(request3, referrerURL); + const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request3.url); + switch (policy) { + case "origin": + return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); + case "unsafe-url": + return referrerURL; + case "same-origin": + return areSameOrigin ? referrerOrigin : "no-referrer"; + case "origin-when-cross-origin": + return areSameOrigin ? referrerURL : referrerOrigin; + case "strict-origin-when-cross-origin": { + const currentURL = requestCurrentURL(request3); + if (sameOrigin(referrerURL, currentURL)) { + return referrerURL; + } + if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { + return "no-referrer"; + } + return referrerOrigin; + } + case "strict-origin": + case "no-referrer-when-downgrade": + default: + return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + } + } + function stripURLForReferrer(url2, originOnly) { + assert(url2 instanceof URL); + if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") { + return "no-referrer"; + } + url2.username = ""; + url2.password = ""; + url2.hash = ""; + if (originOnly) { + url2.pathname = ""; + url2.search = ""; + } + return url2; + } + function isURLPotentiallyTrustworthy(url2) { + if (!(url2 instanceof URL)) { + return false; + } + if (url2.href === "about:blank" || url2.href === "about:srcdoc") { + return true; + } + if (url2.protocol === "data:") + return true; + if (url2.protocol === "file:") + return true; + return isOriginPotentiallyTrustworthy(url2.origin); + function isOriginPotentiallyTrustworthy(origin) { + if (origin == null || origin === "null") + return false; + const originAsURL = new URL(origin); + if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { + return true; + } + 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")) { + return true; + } + return false; + } + } + function bytesMatch(bytes, metadataList) { + if (crypto2 === void 0) { + return true; + } + const parsedMetadata = parseMetadata(metadataList); + if (parsedMetadata === "no metadata") { + return true; + } + if (parsedMetadata.length === 0) { + return true; + } + const strongest = getStrongestMetadata(parsedMetadata); + const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); + for (const item of metadata) { + const algorithm = item.algo; + const expectedValue = item.hash; + let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64"); + if (actualValue[actualValue.length - 1] === "=") { + if (actualValue[actualValue.length - 2] === "=") { + actualValue = actualValue.slice(0, -2); + } else { + actualValue = actualValue.slice(0, -1); + } + } + if (compareBase64Mixed(actualValue, expectedValue)) { + return true; + } + } + return false; + } + var parseHashWithOptions = /(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; + function parseMetadata(metadata) { + const result = []; + let empty = true; + for (const token of metadata.split(" ")) { + empty = false; + const parsedToken = parseHashWithOptions.exec(token); + if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { + continue; + } + const algorithm = parsedToken.groups.algo.toLowerCase(); + if (supportedHashes.includes(algorithm)) { + result.push(parsedToken.groups); + } + } + if (empty === true) { + return "no metadata"; + } + return result; + } + function getStrongestMetadata(metadataList) { + let algorithm = metadataList[0].algo; + if (algorithm[3] === "5") { + return algorithm; + } + for (let i3 = 1; i3 < metadataList.length; ++i3) { + const metadata = metadataList[i3]; + if (metadata.algo[3] === "5") { + algorithm = "sha512"; + break; + } else if (algorithm[3] === "3") { + continue; + } else if (metadata.algo[3] === "3") { + algorithm = "sha384"; + } + } + return algorithm; + } + function filterMetadataListByAlgorithm(metadataList, algorithm) { + if (metadataList.length === 1) { + return metadataList; + } + let pos = 0; + for (let i3 = 0; i3 < metadataList.length; ++i3) { + if (metadataList[i3].algo === algorithm) { + metadataList[pos++] = metadataList[i3]; + } + } + metadataList.length = pos; + return metadataList; + } + function compareBase64Mixed(actualValue, expectedValue) { + if (actualValue.length !== expectedValue.length) { + return false; + } + for (let i3 = 0; i3 < actualValue.length; ++i3) { + if (actualValue[i3] !== expectedValue[i3]) { + if (actualValue[i3] === "+" && expectedValue[i3] === "-" || actualValue[i3] === "/" && expectedValue[i3] === "_") { + continue; + } + return false; + } + } + return true; + } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request3) { + } + function sameOrigin(A3, B2) { + if (A3.origin === B2.origin && A3.origin === "null") { + return true; + } + if (A3.protocol === B2.protocol && A3.hostname === B2.hostname && A3.port === B2.port) { + return true; + } + return false; + } + function createDeferredPromise() { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + return { promise, resolve: res, reject: rej }; + } + function isAborted(fetchParams) { + return fetchParams.controller.state === "aborted"; + } + function isCancelled(fetchParams) { + return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; + } + var normalizeMethodRecord = { + delete: "DELETE", + DELETE: "DELETE", + get: "GET", + GET: "GET", + head: "HEAD", + HEAD: "HEAD", + options: "OPTIONS", + OPTIONS: "OPTIONS", + post: "POST", + POST: "POST", + put: "PUT", + PUT: "PUT" + }; + Object.setPrototypeOf(normalizeMethodRecord, null); + function normalizeMethod(method) { + return normalizeMethodRecord[method.toLowerCase()] ?? method; + } + function serializeJavascriptValueToJSONString(value) { + const result = JSON.stringify(value); + if (result === void 0) { + throw new TypeError("Value is not JSON serializable"); + } + assert(typeof result === "string"); + return result; + } + var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + function makeIterator(iterator, name, kind2) { + const object = { + index: 0, + kind: kind2, + target: iterator + }; + const i3 = { + next() { + if (Object.getPrototypeOf(this) !== i3) { + throw new TypeError( + `'next' called on an object that does not implement interface ${name} Iterator.` + ); + } + const { index, kind: kind3, target } = object; + const values = target(); + const len = values.length; + if (index >= len) { + return { value: void 0, done: true }; + } + const pair = values[index]; + object.index = index + 1; + return iteratorResult(pair, kind3); + }, + [Symbol.toStringTag]: `${name} Iterator` + }; + Object.setPrototypeOf(i3, esIteratorPrototype); + return Object.setPrototypeOf({}, i3); + } + function iteratorResult(pair, kind2) { + let result; + switch (kind2) { + case "key": { + result = pair[0]; + break; + } + case "value": { + result = pair[1]; + break; + } + case "key+value": { + result = pair; + break; + } + } + return { value: result, done: false }; + } + async function fullyReadBody(body, processBody, processBodyError) { + const successSteps = processBody; + const errorSteps = processBodyError; + let reader; + try { + reader = body.stream.getReader(); + } catch (e3) { + errorSteps(e3); + return; + } + try { + const result = await readAllBytes(reader); + successSteps(result); + } catch (e3) { + errorSteps(e3); + } + } + var ReadableStream5 = globalThis.ReadableStream; + function isReadableStreamLike(stream4) { + if (!ReadableStream5) { + ReadableStream5 = require("stream/web").ReadableStream; + } + return stream4 instanceof ReadableStream5 || stream4[Symbol.toStringTag] === "ReadableStream" && typeof stream4.tee === "function"; + } + var MAXIMUM_ARGUMENT_LENGTH = 65535; + function isomorphicDecode(input) { + if (input.length < MAXIMUM_ARGUMENT_LENGTH) { + return String.fromCharCode(...input); + } + return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + } + function readableStreamClose(controller) { + try { + controller.close(); + } catch (err) { + if (!err.message.includes("Controller is already closed")) { + throw err; + } + } + } + function isomorphicEncode(input) { + for (let i3 = 0; i3 < input.length; i3++) { + assert(input.charCodeAt(i3) <= 255); + } + return input; + } + async function readAllBytes(reader) { + const bytes = []; + let byteLength = 0; + while (true) { + const { done, value: chunk } = await reader.read(); + if (done) { + return Buffer.concat(bytes, byteLength); + } + if (!isUint8Array(chunk)) { + throw new TypeError("Received non-Uint8Array chunk"); + } + bytes.push(chunk); + byteLength += chunk.length; + } + } + function urlIsLocal(url2) { + assert("protocol" in url2); + const protocol = url2.protocol; + return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + } + function urlHasHttpsScheme(url2) { + if (typeof url2 === "string") { + return url2.startsWith("https:"); + } + return url2.protocol === "https:"; + } + function urlIsHttpHttpsScheme(url2) { + assert("protocol" in url2); + const protocol = url2.protocol; + return protocol === "http:" || protocol === "https:"; + } + var hasOwn2 = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + module2.exports = { + isAborted, + isCancelled, + createDeferredPromise, + ReadableStreamFrom, + toUSVString, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + coarsenedSharedCurrentTime, + determineRequestsReferrer, + makePolicyContainer, + clonePolicyContainer, + appendFetchMetadata, + appendRequestOriginHeader, + TAOCheck, + corsCheck, + crossOriginResourcePolicyCheck, + createOpaqueTimingInfo, + setRequestReferrerPolicyOnRedirect, + isValidHTTPToken, + requestBadPort, + requestCurrentURL, + responseURL, + responseLocationURL, + isBlobLike: isBlobLike2, + isURLPotentiallyTrustworthy, + isValidReasonPhrase, + sameOrigin, + normalizeMethod, + serializeJavascriptValueToJSONString, + makeIterator, + isValidHeaderName: isValidHeaderName2, + isValidHeaderValue, + hasOwn: hasOwn2, + isErrorLike, + fullyReadBody, + bytesMatch, + isReadableStreamLike, + readableStreamClose, + isomorphicEncode, + isomorphicDecode, + urlIsLocal, + urlHasHttpsScheme, + urlIsHttpHttpsScheme, + readAllBytes, + normalizeMethodRecord, + parseMetadata + }; + } +}); + +// node_modules/undici/lib/fetch/symbols.js +var require_symbols2 = __commonJS({ + "node_modules/undici/lib/fetch/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kGuard: Symbol("guard"), + kRealm: Symbol("realm") + }; + } +}); + +// node_modules/undici/lib/fetch/webidl.js +var require_webidl = __commonJS({ + "node_modules/undici/lib/fetch/webidl.js"(exports, module2) { + "use strict"; + var { types } = require("util"); + var { hasOwn: hasOwn2, toUSVString } = require_util2(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context2) { + const plural = context2.types.length === 1 ? "" : " one of"; + const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; + return webidl.errors.exception({ + header: context2.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context2) { + return webidl.errors.exception({ + header: context2.prefix, + message: `"${context2.value}" is an invalid ${context2.type}.` + }); + }; + webidl.brandCheck = function(V4, I2, opts = void 0) { + if (opts?.strict !== false && !(V4 instanceof I2)) { + throw new TypeError("Illegal invocation"); + } else { + return V4?.[Symbol.toStringTag] === I2.prototype[Symbol.toStringTag]; + } + }; + webidl.argumentLengthCheck = function({ length }, min, ctx) { + if (length < min) { + throw webidl.errors.exception({ + message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, + ...ctx + }); + } + }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + header: "TypeError", + message: "Illegal constructor" + }); + }; + webidl.util.Type = function(V4) { + switch (typeof V4) { + case "undefined": + return "Undefined"; + case "boolean": + return "Boolean"; + case "string": + return "String"; + case "symbol": + return "Symbol"; + case "number": + return "Number"; + case "bigint": + return "BigInt"; + case "function": + case "object": { + if (V4 === null) { + return "Null"; + } + return "Object"; + } + } + }; + webidl.util.ConvertToInt = function(V4, bitLength, signedness, opts = {}) { + let upperBound; + let lowerBound; + if (bitLength === 64) { + upperBound = Math.pow(2, 53) - 1; + if (signedness === "unsigned") { + lowerBound = 0; + } else { + lowerBound = Math.pow(-2, 53) + 1; + } + } else if (signedness === "unsigned") { + lowerBound = 0; + upperBound = Math.pow(2, bitLength) - 1; + } else { + lowerBound = Math.pow(-2, bitLength) - 1; + upperBound = Math.pow(2, bitLength - 1) - 1; + } + let x2 = Number(V4); + if (x2 === 0) { + x2 = 0; + } + if (opts.enforceRange === true) { + if (Number.isNaN(x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Could not convert ${V4} to an integer.` + }); + } + x2 = webidl.util.IntegerPart(x2); + if (x2 < lowerBound || x2 > upperBound) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Value must be between ${lowerBound}-${upperBound}, got ${x2}.` + }); + } + return x2; + } + if (!Number.isNaN(x2) && opts.clamp === true) { + x2 = Math.min(Math.max(x2, lowerBound), upperBound); + if (Math.floor(x2) % 2 === 0) { + x2 = Math.floor(x2); + } else { + x2 = Math.ceil(x2); + } + return x2; + } + if (Number.isNaN(x2) || x2 === 0 && Object.is(0, x2) || x2 === Number.POSITIVE_INFINITY || x2 === Number.NEGATIVE_INFINITY) { + return 0; + } + x2 = webidl.util.IntegerPart(x2); + x2 = x2 % Math.pow(2, bitLength); + if (signedness === "signed" && x2 >= Math.pow(2, bitLength) - 1) { + return x2 - Math.pow(2, bitLength); + } + return x2; + }; + webidl.util.IntegerPart = function(n2) { + const r3 = Math.floor(Math.abs(n2)); + if (n2 < 0) { + return -1 * r3; + } + return r3; + }; + webidl.sequenceConverter = function(converter) { + return (V4) => { + if (webidl.util.Type(V4) !== "Object") { + throw webidl.errors.exception({ + header: "Sequence", + message: `Value of type ${webidl.util.Type(V4)} is not an Object.` + }); + } + const method = V4?.[Symbol.iterator]?.(); + const seq = []; + if (method === void 0 || typeof method.next !== "function") { + throw webidl.errors.exception({ + header: "Sequence", + message: "Object is not an iterator." + }); + } + while (true) { + const { done, value } = method.next(); + if (done) { + break; + } + seq.push(converter(value)); + } + return seq; + }; + }; + webidl.recordConverter = function(keyConverter, valueConverter) { + return (O3) => { + if (webidl.util.Type(O3) !== "Object") { + throw webidl.errors.exception({ + header: "Record", + message: `Value of type ${webidl.util.Type(O3)} is not an Object.` + }); + } + const result = {}; + if (!types.isProxy(O3)) { + const keys2 = Object.keys(O3); + for (const key of keys2) { + const typedKey = keyConverter(key); + const typedValue = valueConverter(O3[key]); + result[typedKey] = typedValue; + } + return result; + } + const keys = Reflect.ownKeys(O3); + for (const key of keys) { + const desc = Reflect.getOwnPropertyDescriptor(O3, key); + if (desc?.enumerable) { + const typedKey = keyConverter(key); + const typedValue = valueConverter(O3[key]); + result[typedKey] = typedValue; + } + } + return result; + }; + }; + webidl.interfaceConverter = function(i3) { + return (V4, opts = {}) => { + if (opts.strict !== false && !(V4 instanceof i3)) { + throw webidl.errors.exception({ + header: i3.name, + message: `Expected ${V4} to be an instance of ${i3.name}.` + }); + } + return V4; + }; + }; + webidl.dictionaryConverter = function(converters) { + return (dictionary) => { + const type2 = webidl.util.Type(dictionary); + const dict = {}; + if (type2 === "Null" || type2 === "Undefined") { + return dict; + } else if (type2 !== "Object") { + throw webidl.errors.exception({ + header: "Dictionary", + message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` + }); + } + for (const options of converters) { + const { key, defaultValue, required, converter } = options; + if (required === true) { + if (!hasOwn2(dictionary, key)) { + throw webidl.errors.exception({ + header: "Dictionary", + message: `Missing required key "${key}".` + }); + } + } + let value = dictionary[key]; + const hasDefault = hasOwn2(options, "defaultValue"); + if (hasDefault && value !== null) { + value = value ?? defaultValue; + } + if (required || hasDefault || value !== void 0) { + value = converter(value); + if (options.allowedValues && !options.allowedValues.includes(value)) { + throw webidl.errors.exception({ + header: "Dictionary", + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` + }); + } + dict[key] = value; + } + } + return dict; + }; + }; + webidl.nullableConverter = function(converter) { + return (V4) => { + if (V4 === null) { + return V4; + } + return converter(V4); + }; + }; + webidl.converters.DOMString = function(V4, opts = {}) { + if (V4 === null && opts.legacyNullToEmptyString) { + return ""; + } + if (typeof V4 === "symbol") { + throw new TypeError("Could not convert argument of type symbol to string."); + } + return String(V4); + }; + webidl.converters.ByteString = function(V4) { + const x2 = webidl.converters.DOMString(V4); + for (let index = 0; index < x2.length; index++) { + if (x2.charCodeAt(index) > 255) { + throw new TypeError( + `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x2.charCodeAt(index)} which is greater than 255.` + ); + } + } + return x2; + }; + webidl.converters.USVString = toUSVString; + webidl.converters.boolean = function(V4) { + const x2 = Boolean(V4); + return x2; + }; + webidl.converters.any = function(V4) { + return V4; + }; + webidl.converters["long long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 64, "signed"); + return x2; + }; + webidl.converters["unsigned long long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 64, "unsigned"); + return x2; + }; + webidl.converters["unsigned long"] = function(V4) { + const x2 = webidl.util.ConvertToInt(V4, 32, "unsigned"); + return x2; + }; + webidl.converters["unsigned short"] = function(V4, opts) { + const x2 = webidl.util.ConvertToInt(V4, 16, "unsigned", opts); + return x2; + }; + webidl.converters.ArrayBuffer = function(V4, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isAnyArrayBuffer(V4)) { + throw webidl.errors.conversionFailed({ + prefix: `${V4}`, + argument: `${V4}`, + types: ["ArrayBuffer"] + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.TypedArray = function(V4, T3, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isTypedArray(V4) || V4.constructor.name !== T3.name) { + throw webidl.errors.conversionFailed({ + prefix: `${T3.name}`, + argument: `${V4}`, + types: [T3.name] + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.DataView = function(V4, opts = {}) { + if (webidl.util.Type(V4) !== "Object" || !types.isDataView(V4)) { + throw webidl.errors.exception({ + header: "DataView", + message: "Object is not a DataView." + }); + } + if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + return V4; + }; + webidl.converters.BufferSource = function(V4, opts = {}) { + if (types.isAnyArrayBuffer(V4)) { + return webidl.converters.ArrayBuffer(V4, opts); + } + if (types.isTypedArray(V4)) { + return webidl.converters.TypedArray(V4, V4.constructor); + } + if (types.isDataView(V4)) { + return webidl.converters.DataView(V4, opts); + } + throw new TypeError(`Could not convert ${V4} to a BufferSource.`); + }; + webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter( + webidl.converters.ByteString + ); + webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter( + webidl.converters["sequence<ByteString>"] + ); + webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter( + webidl.converters.ByteString, + webidl.converters.ByteString + ); + module2.exports = { + webidl + }; + } +}); + +// node_modules/undici/lib/fetch/dataURL.js +var require_dataURL = __commonJS({ + "node_modules/undici/lib/fetch/dataURL.js"(exports, module2) { + var assert = require("assert"); + var { atob: atob2 } = require("buffer"); + var { isomorphicDecode } = require_util2(); + var encoder = new TextEncoder(); + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; + var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; + var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; + function dataURLProcessor(dataURL) { + assert(dataURL.protocol === "data:"); + let input = URLSerializer(dataURL, true); + input = input.slice(5); + const position = { position: 0 }; + let mimeType = collectASequenceOfCodePointsFast( + ",", + input, + position + ); + const mimeTypeLength = mimeType.length; + mimeType = removeASCIIWhitespace(mimeType, true, true); + if (position.position >= input.length) { + return "failure"; + } + position.position++; + const encodedBody = input.slice(mimeTypeLength + 1); + let body = stringPercentDecode(encodedBody); + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + const stringBody = isomorphicDecode(body); + body = forgivingBase64(stringBody); + if (body === "failure") { + return "failure"; + } + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ""); + mimeType = mimeType.slice(0, -1); + } + if (mimeType.startsWith(";")) { + mimeType = "text/plain" + mimeType; + } + let mimeTypeRecord = parseMIMEType(mimeType); + if (mimeTypeRecord === "failure") { + mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + } + return { mimeType: mimeTypeRecord, body }; + } + function URLSerializer(url2, excludeFragment = false) { + if (!excludeFragment) { + return url2.href; + } + const href = url2.href; + const hashLength = url2.hash.length; + return hashLength === 0 ? href : href.substring(0, href.length - hashLength); + } + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; + } + function collectASequenceOfCodePointsFast(char, input, position) { + const idx = input.indexOf(char, position.position); + const start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); + } + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); + } + function percentDecode(input) { + const output = []; + for (let i3 = 0; i3 < input.length; i3++) { + const byte = input[i3]; + if (byte !== 37) { + output.push(byte); + } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i3 + 1], input[i3 + 2]))) { + output.push(37); + } else { + const nextTwoBytes = String.fromCharCode(input[i3 + 1], input[i3 + 2]); + const bytePoint = Number.parseInt(nextTwoBytes, 16); + output.push(bytePoint); + i3 += 2; + } + } + return Uint8Array.from(output); + } + function parseMIMEType(input) { + input = removeHTTPWhitespace(input, true, true); + const position = { position: 0 }; + const type2 = collectASequenceOfCodePointsFast( + "/", + input, + position + ); + if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) { + return "failure"; + } + if (position.position > input.length) { + return "failure"; + } + position.position++; + let subtype = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + subtype = removeHTTPWhitespace(subtype, false, true); + if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { + return "failure"; + } + const typeLowercase = type2.toLowerCase(); + const subtypeLowercase = subtype.toLowerCase(); + const mimeType = { + type: typeLowercase, + subtype: subtypeLowercase, + parameters: /* @__PURE__ */ new Map(), + essence: `${typeLowercase}/${subtypeLowercase}` + }; + while (position.position < input.length) { + position.position++; + collectASequenceOfCodePoints( + (char) => HTTP_WHITESPACE_REGEX.test(char), + input, + position + ); + let parameterName = collectASequenceOfCodePoints( + (char) => char !== ";" && char !== "=", + input, + position + ); + parameterName = parameterName.toLowerCase(); + if (position.position < input.length) { + if (input[position.position] === ";") { + continue; + } + position.position++; + } + if (position.position > input.length) { + break; + } + let parameterValue = null; + if (input[position.position] === '"') { + parameterValue = collectAnHTTPQuotedString(input, position, true); + collectASequenceOfCodePointsFast( + ";", + input, + position + ); + } else { + parameterValue = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + if (parameterValue.length === 0) { + continue; + } + } + if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + return mimeType; + } + function forgivingBase64(data) { + data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); + if (data.length % 4 === 0) { + data = data.replace(/=?=$/, ""); + } + if (data.length % 4 === 1) { + return "failure"; + } + if (/[^+/0-9A-Za-z]/.test(data)) { + return "failure"; + } + const binary = atob2(data); + const bytes = new Uint8Array(binary.length); + for (let byte = 0; byte < binary.length; byte++) { + bytes[byte] = binary.charCodeAt(byte); + } + return bytes; + } + function collectAnHTTPQuotedString(input, position, extractValue) { + const positionStart = position.position; + let value = ""; + assert(input[position.position] === '"'); + position.position++; + while (true) { + value += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== "\\", + input, + position + ); + if (position.position >= input.length) { + break; + } + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === "\\") { + if (position.position >= input.length) { + value += "\\"; + break; + } + value += input[position.position]; + position.position++; + } else { + assert(quoteOrBackslash === '"'); + break; + } + } + if (extractValue) { + return value; + } + return input.slice(positionStart, position.position); + } + function serializeAMimeType(mimeType) { + assert(mimeType !== "failure"); + const { parameters, essence } = mimeType; + let serialization = essence; + for (let [name, value] of parameters.entries()) { + serialization += ";"; + serialization += name; + serialization += "="; + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + value = value.replace(/(\\|")/g, "\\$1"); + value = '"' + value; + value += '"'; + } + serialization += value; + } + return serialization; + } + function isHTTPWhiteSpace(char) { + return char === "\r" || char === "\n" || char === " " || char === " "; + } + function removeHTTPWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } + function isASCIIWhitespace(char) { + return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } + module2.exports = { + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType + }; + } +}); + +// node_modules/undici/lib/fetch/file.js +var require_file = __commonJS({ + "node_modules/undici/lib/fetch/file.js"(exports, module2) { + "use strict"; + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var { types } = require("util"); + var { kState } = require_symbols2(); + var { isBlobLike: isBlobLike2 } = require_util2(); + var { webidl } = require_webidl(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var { kEnumerableProperty } = require_util(); + var encoder = new TextEncoder(); + var File4 = class extends Blob4 { + constructor(fileBits, fileName, options = {}) { + webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); + fileBits = webidl.converters["sequence<BlobPart>"](fileBits); + fileName = webidl.converters.USVString(fileName); + options = webidl.converters.FilePropertyBag(options); + const n2 = fileName; + let t2 = options.type; + let d5; + substep: { + if (t2) { + t2 = parseMIMEType(t2); + if (t2 === "failure") { + t2 = ""; + break substep; + } + t2 = serializeAMimeType(t2).toLowerCase(); + } + d5 = options.lastModified; + } + super(processBlobParts(fileBits, options), { type: t2 }); + this[kState] = { + name: n2, + lastModified: d5, + type: t2 + }; + } + get name() { + webidl.brandCheck(this, File4); + return this[kState].name; + } + get lastModified() { + webidl.brandCheck(this, File4); + return this[kState].lastModified; + } + get type() { + webidl.brandCheck(this, File4); + return this[kState].type; + } + }; + var FileLike = class { + constructor(blobLike, fileName, options = {}) { + const n2 = fileName; + const t2 = options.type; + const d5 = options.lastModified ?? Date.now(); + this[kState] = { + blobLike, + name: n2, + type: t2, + lastModified: d5 + }; + } + stream(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.stream(...args); + } + arrayBuffer(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.arrayBuffer(...args); + } + slice(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.slice(...args); + } + text(...args) { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.text(...args); + } + get size() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.size; + } + get type() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.type; + } + get name() { + webidl.brandCheck(this, FileLike); + return this[kState].name; + } + get lastModified() { + webidl.brandCheck(this, FileLike); + return this[kState].lastModified; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + Object.defineProperties(File4.prototype, { + [Symbol.toStringTag]: { + value: "File", + configurable: true + }, + name: kEnumerableProperty, + lastModified: kEnumerableProperty + }); + webidl.converters.Blob = webidl.interfaceConverter(Blob4); + webidl.converters.BlobPart = function(V4, opts) { + if (webidl.util.Type(V4) === "Object") { + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { + return webidl.converters.BufferSource(V4, opts); + } + } + return webidl.converters.USVString(V4, opts); + }; + webidl.converters["sequence<BlobPart>"] = webidl.sequenceConverter( + webidl.converters.BlobPart + ); + webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ + { + key: "lastModified", + converter: webidl.converters["long long"], + get defaultValue() { + return Date.now(); + } + }, + { + key: "type", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "endings", + converter: (value) => { + value = webidl.converters.DOMString(value); + value = value.toLowerCase(); + if (value !== "native") { + value = "transparent"; + } + return value; + }, + defaultValue: "transparent" + } + ]); + function processBlobParts(parts, options) { + const bytes = []; + for (const element of parts) { + if (typeof element === "string") { + let s2 = element; + if (options.endings === "native") { + s2 = convertLineEndingsNative(s2); + } + bytes.push(encoder.encode(s2)); + } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { + if (!element.buffer) { + bytes.push(new Uint8Array(element)); + } else { + bytes.push( + new Uint8Array(element.buffer, element.byteOffset, element.byteLength) + ); + } + } else if (isBlobLike2(element)) { + bytes.push(element); + } + } + return bytes; + } + function convertLineEndingsNative(s2) { + let nativeLineEnding = "\n"; + if (process.platform === "win32") { + nativeLineEnding = "\r\n"; + } + return s2.replace(/\r?\n/g, nativeLineEnding); + } + function isFileLike3(object) { + return NativeFile && object instanceof NativeFile || object instanceof File4 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { File: File4, FileLike, isFileLike: isFileLike3 }; + } +}); + +// node_modules/undici/lib/fetch/formdata.js +var require_formdata = __commonJS({ + "node_modules/undici/lib/fetch/formdata.js"(exports, module2) { + "use strict"; + var { isBlobLike: isBlobLike2, toUSVString, makeIterator } = require_util2(); + var { kState } = require_symbols2(); + var { File: UndiciFile, FileLike, isFileLike: isFileLike3 } = require_file(); + var { webidl } = require_webidl(); + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var File4 = NativeFile ?? UndiciFile; + var FormData5 = class { + constructor(form) { + if (form !== void 0) { + throw webidl.errors.conversionFailed({ + prefix: "FormData constructor", + argument: "Argument 1", + types: ["undefined"] + }); + } + this[kState] = []; + } + append(name, value, filename = void 0) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + if (arguments.length === 3 && !isBlobLike2(value)) { + throw new TypeError( + "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" + ); + } + name = webidl.converters.USVString(name); + value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); + filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + const entry = makeEntry(name, value, filename); + this[kState].push(entry); + } + delete(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); + name = webidl.converters.USVString(name); + this[kState] = this[kState].filter((entry) => entry.name !== name); + } + get(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); + name = webidl.converters.USVString(name); + const idx = this[kState].findIndex((entry) => entry.name === name); + if (idx === -1) { + return null; + } + return this[kState][idx].value; + } + getAll(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); + name = webidl.converters.USVString(name); + return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + } + has(name) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); + name = webidl.converters.USVString(name); + return this[kState].findIndex((entry) => entry.name === name) !== -1; + } + set(name, value, filename = void 0) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + if (arguments.length === 3 && !isBlobLike2(value)) { + throw new TypeError( + "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" + ); + } + name = webidl.converters.USVString(name); + value = isBlobLike2(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); + filename = arguments.length === 3 ? toUSVString(filename) : void 0; + const entry = makeEntry(name, value, filename); + const idx = this[kState].findIndex((entry2) => entry2.name === name); + if (idx !== -1) { + this[kState] = [ + ...this[kState].slice(0, idx), + entry, + ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) + ]; + } else { + this[kState].push(entry); + } + } + entries() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "key+value" + ); + } + keys() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "key" + ); + } + values() { + webidl.brandCheck(this, FormData5); + return makeIterator( + () => this[kState].map((pair) => [pair.name, pair.value]), + "FormData", + "value" + ); + } + forEach(callbackFn, thisArg = globalThis) { + webidl.brandCheck(this, FormData5); + webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); + if (typeof callbackFn !== "function") { + throw new TypeError( + "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." + ); + } + for (const [key, value] of this) { + callbackFn.apply(thisArg, [value, key, this]); + } + } + }; + FormData5.prototype[Symbol.iterator] = FormData5.prototype.entries; + Object.defineProperties(FormData5.prototype, { + [Symbol.toStringTag]: { + value: "FormData", + configurable: true + } + }); + function makeEntry(name, value, filename) { + name = Buffer.from(name).toString("utf8"); + if (typeof value === "string") { + value = Buffer.from(value).toString("utf8"); + } else { + if (!isFileLike3(value)) { + value = value instanceof Blob4 ? new File4([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + } + if (filename !== void 0) { + const options = { + type: value.type, + lastModified: value.lastModified + }; + value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File4([value], filename, options) : new FileLike(value, filename, options); + } + } + return { name, value }; + } + module2.exports = { FormData: FormData5 }; + } +}); + +// node_modules/undici/lib/fetch/body.js +var require_body = __commonJS({ + "node_modules/undici/lib/fetch/body.js"(exports, module2) { + "use strict"; + var Busboy = require_main(); + var util3 = require_util(); + var { + ReadableStreamFrom, + isBlobLike: isBlobLike2, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody + } = require_util2(); + var { FormData: FormData5 } = require_formdata(); + var { kState } = require_symbols2(); + var { webidl } = require_webidl(); + var { DOMException: DOMException3, structuredClone: structuredClone2 } = require_constants2(); + var { Blob: Blob4, File: NativeFile } = require("buffer"); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { isErrored } = require_util(); + var { isUint8Array, isArrayBuffer: isArrayBuffer3 } = require("util/types"); + var { File: UndiciFile } = require_file(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var ReadableStream5 = globalThis.ReadableStream; + var File4 = NativeFile ?? UndiciFile; + var textEncoder2 = new TextEncoder(); + var textDecoder = new TextDecoder(); + function extractBody(object, keepalive = false) { + if (!ReadableStream5) { + ReadableStream5 = require("stream/web").ReadableStream; + } + let stream4 = null; + if (object instanceof ReadableStream5) { + stream4 = object; + } else if (isBlobLike2(object)) { + stream4 = object.stream(); + } else { + stream4 = new ReadableStream5({ + async pull(controller) { + controller.enqueue( + typeof source === "string" ? textEncoder2.encode(source) : source + ); + queueMicrotask(() => readableStreamClose(controller)); + }, + start() { + }, + type: void 0 + }); + } + assert(isReadableStreamLike(stream4)); + let action = null; + let source = null; + let length = null; + let type2 = null; + if (typeof object === "string") { + source = object; + type2 = "text/plain;charset=UTF-8"; + } else if (object instanceof URLSearchParams) { + source = object.toString(); + type2 = "application/x-www-form-urlencoded;charset=UTF-8"; + } else if (isArrayBuffer3(object)) { + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util3.isFormDataLike(object)) { + const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; + const prefix = `--${boundary}\r +Content-Disposition: form-data`; + const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); + const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); + const blobParts = []; + const rn = new Uint8Array([13, 10]); + length = 0; + let hasUnknownSizeValue = false; + for (const [name, value] of object) { + if (typeof value === "string") { + const chunk2 = textEncoder2.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r +\r +${normalizeLinefeeds(value)}\r +`); + blobParts.push(chunk2); + length += chunk2.byteLength; + } else { + const chunk2 = textEncoder2.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r +Content-Type: ${value.type || "application/octet-stream"}\r +\r +`); + blobParts.push(chunk2, value, rn); + if (typeof value.size === "number") { + length += chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } + } + } + const chunk = textEncoder2.encode(`--${boundary}--`); + blobParts.push(chunk); + length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } + source = object; + action = async function* () { + for (const part of blobParts) { + if (part.stream) { + yield* part.stream(); + } else { + yield part; + } + } + }; + type2 = "multipart/form-data; boundary=" + boundary; + } else if (isBlobLike2(object)) { + source = object; + length = object.size; + if (object.type) { + type2 = object.type; + } + } else if (typeof object[Symbol.asyncIterator] === "function") { + if (keepalive) { + throw new TypeError("keepalive"); + } + if (util3.isDisturbed(object) || object.locked) { + throw new TypeError( + "Response body object should not be disturbed or locked" + ); + } + stream4 = object instanceof ReadableStream5 ? object : ReadableStreamFrom(object); + } + if (typeof source === "string" || util3.isBuffer(source)) { + length = Buffer.byteLength(source); + } + if (action != null) { + let iterator; + stream4 = new ReadableStream5({ + async start() { + iterator = action(object)[Symbol.asyncIterator](); + }, + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + }); + } else { + if (!isErrored(stream4)) { + controller.enqueue(new Uint8Array(value)); + } + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator.return(); + }, + type: void 0 + }); + } + const body = { stream: stream4, source, length }; + return [body, type2]; + } + function safelyExtractBody(object, keepalive = false) { + if (!ReadableStream5) { + ReadableStream5 = require("stream/web").ReadableStream; + } + if (object instanceof ReadableStream5) { + assert(!util3.isDisturbed(object), "The body has already been consumed."); + assert(!object.locked, "The stream is locked."); + } + return extractBody(object, keepalive); + } + function cloneBody(body) { + const [out1, out2] = body.stream.tee(); + const out2Clone = structuredClone2(out2, { transfer: [out2] }); + const [, finalClone] = out2Clone.tee(); + body.stream = out1; + return { + stream: finalClone, + length: body.length, + source: body.source + }; + } + async function* consumeBody(body) { + if (body) { + if (isUint8Array(body)) { + yield body; + } else { + const stream4 = body.stream; + if (util3.isDisturbed(stream4)) { + throw new TypeError("The body has already been consumed."); + } + if (stream4.locked) { + throw new TypeError("The stream is locked."); + } + stream4[kBodyUsed] = true; + yield* stream4; + } + } + } + function throwIfAborted(state2) { + if (state2.aborted) { + throw new DOMException3("The operation was aborted.", "AbortError"); + } + } + function bodyMixinMethods(instance) { + const methods = { + blob() { + return specConsumeBody(this, (bytes) => { + let mimeType = bodyMimeType(this); + if (mimeType === "failure") { + mimeType = ""; + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType); + } + return new Blob4([bytes], { type: mimeType }); + }, instance); + }, + arrayBuffer() { + return specConsumeBody(this, (bytes) => { + return new Uint8Array(bytes).buffer; + }, instance); + }, + text() { + return specConsumeBody(this, utf8DecodeBytes, instance); + }, + json() { + return specConsumeBody(this, parseJSONFromBytes, instance); + }, + async formData() { + webidl.brandCheck(this, instance); + throwIfAborted(this[kState]); + const contentType = this.headers.get("Content-Type"); + if (/multipart\/form-data/.test(contentType)) { + const headers = {}; + for (const [key, value] of this.headers) + headers[key.toLowerCase()] = value; + const responseFormData = new FormData5(); + let busboy; + try { + busboy = new Busboy({ + headers, + preservePath: true + }); + } catch (err) { + throw new DOMException3(`${err}`, "AbortError"); + } + busboy.on("field", (name, value) => { + responseFormData.append(name, value); + }); + busboy.on("file", (name, value, filename, encoding, mimeType) => { + const chunks = []; + if (encoding === "base64" || encoding.toLowerCase() === "base64") { + let base64chunk = ""; + value.on("data", (chunk) => { + base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); + const end = base64chunk.length - base64chunk.length % 4; + chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); + base64chunk = base64chunk.slice(end); + }); + value.on("end", () => { + chunks.push(Buffer.from(base64chunk, "base64")); + responseFormData.append(name, new File4(chunks, filename, { type: mimeType })); + }); + } else { + value.on("data", (chunk) => { + chunks.push(chunk); + }); + value.on("end", () => { + responseFormData.append(name, new File4(chunks, filename, { type: mimeType })); + }); + } + }); + const busboyResolve = new Promise((resolve, reject) => { + busboy.on("finish", resolve); + busboy.on("error", (err) => reject(new TypeError(err))); + }); + if (this.body !== null) + for await (const chunk of consumeBody(this[kState].body)) + busboy.write(chunk); + busboy.end(); + await busboyResolve; + return responseFormData; + } else if (/application\/x-www-form-urlencoded/.test(contentType)) { + let entries; + try { + let text = ""; + const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); + for await (const chunk of consumeBody(this[kState].body)) { + if (!isUint8Array(chunk)) { + throw new TypeError("Expected Uint8Array chunk"); + } + text += streamingDecoder.decode(chunk, { stream: true }); + } + text += streamingDecoder.decode(); + entries = new URLSearchParams(text); + } catch (err) { + throw Object.assign(new TypeError(), { cause: err }); + } + const formData = new FormData5(); + for (const [name, value] of entries) { + formData.append(name, value); + } + return formData; + } else { + await Promise.resolve(); + throwIfAborted(this[kState]); + throw webidl.errors.exception({ + header: `${instance.name}.formData`, + message: "Could not parse content as FormData." + }); + } + } + }; + return methods; + } + function mixinBody(prototype3) { + Object.assign(prototype3.prototype, bodyMixinMethods(prototype3)); + } + async function specConsumeBody(object, convertBytesToJSValue, instance) { + webidl.brandCheck(object, instance); + throwIfAborted(object[kState]); + if (bodyUnusable(object[kState].body)) { + throw new TypeError("Body is unusable"); + } + const promise = createDeferredPromise(); + const errorSteps = (error) => promise.reject(error); + const successSteps = (data) => { + try { + promise.resolve(convertBytesToJSValue(data)); + } catch (e3) { + errorSteps(e3); + } + }; + if (object[kState].body == null) { + successSteps(new Uint8Array()); + return promise.promise; + } + await fullyReadBody(object[kState].body, successSteps, errorSteps); + return promise.promise; + } + function bodyUnusable(body) { + return body != null && (body.stream.locked || util3.isDisturbed(body.stream)); + } + function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ""; + } + if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { + buffer = buffer.subarray(3); + } + const output = textDecoder.decode(buffer); + return output; + } + function parseJSONFromBytes(bytes) { + return JSON.parse(utf8DecodeBytes(bytes)); + } + function bodyMimeType(object) { + const { headersList } = object[kState]; + const contentType = headersList.get("content-type"); + if (contentType === null) { + return "failure"; + } + return parseMIMEType(contentType); + } + module2.exports = { + extractBody, + safelyExtractBody, + cloneBody, + mixinBody + }; + } +}); + +// node_modules/undici/lib/core/request.js +var require_request = __commonJS({ + "node_modules/undici/lib/core/request.js"(exports, module2) { + "use strict"; + var { + InvalidArgumentError, + NotSupportedError + } = require_errors(); + var assert = require("assert"); + var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); + var util3 = require_util(); + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = Symbol("handler"); + var channels = {}; + var extractBody; + try { + const diagnosticsChannel = require("diagnostics_channel"); + channels.create = diagnosticsChannel.channel("undici:request:create"); + channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); + channels.headers = diagnosticsChannel.channel("undici:request:headers"); + channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); + channels.error = diagnosticsChannel.channel("undici:request:error"); + } catch { + channels.create = { hasSubscribers: false }; + channels.bodySent = { hasSubscribers: false }; + channels.headers = { hasSubscribers: false }; + channels.trailers = { hasSubscribers: false }; + channels.error = { hasSubscribers: false }; + } + var Request3 = class { + constructor(origin, { + path: path2, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue + }, handler) { + if (typeof path2 !== "string") { + throw new InvalidArgumentError("path must be a string"); + } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") { + throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + } else if (invalidPathRegex.exec(path2) !== null) { + throw new InvalidArgumentError("invalid request path"); + } + if (typeof method !== "string") { + throw new InvalidArgumentError("method must be a string"); + } else if (tokenRegExp.exec(method) === null) { + throw new InvalidArgumentError("invalid request method"); + } + if (upgrade && typeof upgrade !== "string") { + throw new InvalidArgumentError("upgrade must be a string"); + } + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("invalid headersTimeout"); + } + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("invalid bodyTimeout"); + } + if (reset != null && typeof reset !== "boolean") { + throw new InvalidArgumentError("invalid reset"); + } + if (expectContinue != null && typeof expectContinue !== "boolean") { + throw new InvalidArgumentError("invalid expectContinue"); + } + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body == null) { + this.body = null; + } else if (util3.isStream(body)) { + this.body = body; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + util3.destroy(this); + }; + this.body.on("end", this.endHandler); + } + this.errorHandler = (err) => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; + } + }; + this.body.on("error", this.errorHandler); + } else if (util3.isBuffer(body)) { + this.body = body.byteLength ? body : null; + } else if (ArrayBuffer.isView(body)) { + this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + } else if (body instanceof ArrayBuffer) { + this.body = body.byteLength ? Buffer.from(body) : null; + } else if (typeof body === "string") { + this.body = body.length ? Buffer.from(body) : null; + } else if (util3.isFormDataLike(body) || util3.isIterable(body) || util3.isBlobLike(body)) { + this.body = body; + } else { + throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? util3.buildURL(path2, query) : path2; + this.origin = origin; + this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; + this.blocking = blocking == null ? false : blocking; + this.reset = reset == null ? null : reset; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = ""; + this.expectContinue = expectContinue != null ? expectContinue : false; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + processHeader(this, headers[i3], headers[i3 + 1]); + } + } else if (headers && typeof headers === "object") { + const keys = Object.keys(headers); + for (let i3 = 0; i3 < keys.length; i3++) { + const key = keys[i3]; + processHeader(this, key, headers[key]); + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + if (util3.isFormDataLike(this.body)) { + if (util3.nodeMajor < 16 || util3.nodeMajor === 16 && util3.nodeMinor < 8) { + throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); + } + if (!extractBody) { + extractBody = require_body().extractBody; + } + const [bodyStream, contentType] = extractBody(body); + if (this.contentType == null) { + this.contentType = contentType; + this.headers += `content-type: ${contentType}\r +`; + } + this.body = bodyStream.stream; + this.contentLength = bodyStream.length; + } else if (util3.isBlobLike(body) && this.contentType == null && body.type) { + this.contentType = body.type; + this.headers += `content-type: ${body.type}\r +`; + } + util3.validateHandler(handler, method, upgrade); + this.servername = util3.getServerName(this.host); + this[kHandler] = handler; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); + } + } + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } + } + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } + } + } + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } + } + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } + } + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); + return false; + } + } + onUpgrade(statusCode, headers, socket) { + assert(!this.aborted); + assert(!this.completed); + return this[kHandler].onUpgrade(statusCode, headers, socket); + } + onComplete(trailers) { + this.onFinally(); + assert(!this.aborted); + this.completed = true; + if (channels.trailers.hasSubscribers) { + channels.trailers.publish({ request: this, trailers }); + } + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + this.onError(err); + } + } + onError(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[kHandler].onError(error); + } + onFinally() { + if (this.errorHandler) { + this.body.off("error", this.errorHandler); + this.errorHandler = null; + } + if (this.endHandler) { + this.body.off("end", this.endHandler); + this.endHandler = null; + } + } + addHeader(key, value) { + processHeader(this, key, value); + return this; + } + static [kHTTP1BuildRequest](origin, opts, handler) { + return new Request3(origin, opts, handler); + } + static [kHTTP2BuildRequest](origin, opts, handler) { + const headers = opts.headers; + opts = { ...opts, headers: null }; + const request3 = new Request3(origin, opts, handler); + request3.headers = {}; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + processHeader(request3, headers[i3], headers[i3 + 1], true); + } + } else if (headers && typeof headers === "object") { + const keys = Object.keys(headers); + for (let i3 = 0; i3 < keys.length; i3++) { + const key = keys[i3]; + processHeader(request3, key, headers[key], true); + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + return request3; + } + static [kHTTP2CopyHeaders](raw) { + const rawHeaders = raw.split("\r\n"); + const headers = {}; + for (const header of rawHeaders) { + const [key, value] = header.split(": "); + if (value == null || value.length === 0) + continue; + if (headers[key]) + headers[key] += `,${value}`; + else + headers[key] = value; + } + return headers; + } + }; + function processHeaderValue(key, val, skipAppend) { + if (val && typeof val === "object") { + throw new InvalidArgumentError(`invalid ${key} header`); + } + val = val != null ? `${val}` : ""; + if (headerCharRegex.exec(val) !== null) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + return skipAppend ? val : `${key}: ${val}\r +`; + } + function processHeader(request3, key, val, skipAppend = false) { + if (val && (typeof val === "object" && !Array.isArray(val))) { + throw new InvalidArgumentError(`invalid ${key} header`); + } else if (val === void 0) { + return; + } + if (request3.host === null && key.length === 4 && key.toLowerCase() === "host") { + if (headerCharRegex.exec(val) !== null) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + request3.host = val; + } else if (request3.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { + request3.contentLength = parseInt(val, 10); + if (!Number.isFinite(request3.contentLength)) { + throw new InvalidArgumentError("invalid content-length header"); + } + } else if (request3.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { + request3.contentType = val; + if (skipAppend) + request3.headers[key] = processHeaderValue(key, val, skipAppend); + else + request3.headers += processHeaderValue(key, val); + } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { + throw new InvalidArgumentError("invalid transfer-encoding header"); + } else if (key.length === 10 && key.toLowerCase() === "connection") { + const value = typeof val === "string" ? val.toLowerCase() : null; + if (value !== "close" && value !== "keep-alive") { + throw new InvalidArgumentError("invalid connection header"); + } else if (value === "close") { + request3.reset = true; + } + } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { + throw new InvalidArgumentError("invalid keep-alive header"); + } else if (key.length === 7 && key.toLowerCase() === "upgrade") { + throw new InvalidArgumentError("invalid upgrade header"); + } else if (key.length === 6 && key.toLowerCase() === "expect") { + throw new NotSupportedError("expect header not supported"); + } else if (tokenRegExp.exec(key) === null) { + throw new InvalidArgumentError("invalid header key"); + } else { + if (Array.isArray(val)) { + for (let i3 = 0; i3 < val.length; i3++) { + if (skipAppend) { + if (request3.headers[key]) + request3.headers[key] += `,${processHeaderValue(key, val[i3], skipAppend)}`; + else + request3.headers[key] = processHeaderValue(key, val[i3], skipAppend); + } else { + request3.headers += processHeaderValue(key, val[i3]); + } + } + } else { + if (skipAppend) + request3.headers[key] = processHeaderValue(key, val, skipAppend); + else + request3.headers += processHeaderValue(key, val); + } + } + } + module2.exports = Request3; + } +}); + +// node_modules/undici/lib/dispatcher.js +var require_dispatcher = __commonJS({ + "node_modules/undici/lib/dispatcher.js"(exports, module2) { + "use strict"; + var EventEmitter2 = require("events"); + var Dispatcher = class extends EventEmitter2 { + dispatch() { + throw new Error("not implemented"); + } + close() { + throw new Error("not implemented"); + } + destroy() { + throw new Error("not implemented"); + } + }; + module2.exports = Dispatcher; + } +}); + +// node_modules/undici/lib/dispatcher-base.js +var require_dispatcher_base = __commonJS({ + "node_modules/undici/lib/dispatcher-base.js"(exports, module2) { + "use strict"; + var Dispatcher = require_dispatcher(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors(); + var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); + var kDestroyed = Symbol("destroyed"); + var kClosed = Symbol("closed"); + var kOnDestroyed = Symbol("onDestroyed"); + var kOnClosed = Symbol("onClosed"); + var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + var DispatcherBase = class extends Dispatcher { + constructor() { + super(); + this[kDestroyed] = false; + this[kOnDestroyed] = null; + this[kClosed] = false; + this[kOnClosed] = []; + } + get destroyed() { + return this[kDestroyed]; + } + get closed() { + return this[kClosed]; + } + get interceptors() { + return this[kInterceptors]; + } + set interceptors(newInterceptors) { + if (newInterceptors) { + for (let i3 = newInterceptors.length - 1; i3 >= 0; i3--) { + const interceptor = this[kInterceptors][i3]; + if (typeof interceptor !== "function") { + throw new InvalidArgumentError("interceptor must be an function"); + } + } + } + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + queueMicrotask(() => callback(new ClientDestroyedError(), null)); + return; + } + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } + return; + } + this[kClosed] = true; + this[kOnClosed].push(callback); + const onClosed = () => { + const callbacks = this[kOnClosed]; + this[kOnClosed] = null; + for (let i3 = 0; i3 < callbacks.length; i3++) { + callbacks[i3](null, null); + } + }; + this[kClose]().then(() => this.destroy()).then(() => { + queueMicrotask(onClosed); + }); + } + destroy(err, callback) { + if (typeof err === "function") { + callback = err; + err = null; + } + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.destroy(err, (err2, data) => { + return err2 ? reject(err2) : resolve(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } + return; + } + if (!err) { + err = new ClientDestroyedError(); + } + this[kDestroyed] = true; + this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed].push(callback); + const onDestroyed = () => { + const callbacks = this[kOnDestroyed]; + this[kOnDestroyed] = null; + for (let i3 = 0; i3 < callbacks.length; i3++) { + callbacks[i3](null, null); + } + }; + this[kDestroy](err).then(() => { + queueMicrotask(onDestroyed); + }); + } + [kInterceptedDispatch](opts, handler) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler); + } + let dispatch = this[kDispatch].bind(this); + for (let i3 = this[kInterceptors].length - 1; i3 >= 0; i3--) { + dispatch = this[kInterceptors][i3](dispatch); + } + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler); + } + dispatch(opts, handler) { + if (!handler || typeof handler !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + try { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object."); + } + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); + } + if (this[kClosed]) { + throw new ClientClosedError(); + } + return this[kInterceptedDispatch](opts, handler); + } catch (err) { + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + handler.onError(err); + return false; + } + } + }; + module2.exports = DispatcherBase; + } +}); + +// node_modules/undici/lib/core/connect.js +var require_connect = __commonJS({ + "node_modules/undici/lib/core/connect.js"(exports, module2) { + "use strict"; + var net = require("net"); + var assert = require("assert"); + var util3 = require_util(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); + var tls; + var SessionCache; + if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { + SessionCache = class WeakSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + this._sessionRegistry = new global.FinalizationRegistry((key) => { + if (this._sessionCache.size < this._maxCachedSessions) { + return; + } + const ref = this._sessionCache.get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this._sessionCache.delete(key); + } + }); + } + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); + } + }; + } else { + SessionCache = class SimpleSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); + } + this._sessionCache.set(sessionKey, session); + } + }; + } + function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { + if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { + throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + } + const options = { path: socketPath, ...opts }; + const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); + timeout = timeout == null ? 1e4 : timeout; + allowH2 = allowH2 != null ? allowH2 : false; + return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { + let socket; + if (protocol === "https:") { + if (!tls) { + tls = require("tls"); + } + servername = servername || options.servername || util3.getServerName(host) || null; + const sessionKey = servername || hostname; + const session = sessionCache.get(sessionKey) || null; + assert(sessionKey); + socket = tls.connect({ + highWaterMark: 16384, + ...options, + servername, + session, + localAddress, + ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], + socket: httpSocket, + port: port || 443, + host: hostname + }); + socket.on("session", function(session2) { + sessionCache.set(sessionKey, session2); + }); + } else { + assert(!httpSocket, "httpSocket can only be sent on TLS update"); + socket = net.connect({ + highWaterMark: 64 * 1024, + ...options, + localAddress, + port: port || 80, + host: hostname + }); + } + if (options.keepAlive == null || options.keepAlive) { + const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; + socket.setKeepAlive(true, keepAliveInitialDelay); + } + const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); + socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { + cancelTimeout(); + if (callback) { + const cb = callback; + callback = null; + cb(null, this); + } + }).on("error", function(err) { + cancelTimeout(); + if (callback) { + const cb = callback; + callback = null; + cb(err); + } + }); + return socket; + }; + } + function setupTimeout(onConnectTimeout2, timeout) { + if (!timeout) { + return () => { + }; + } + let s1 = null; + let s2 = null; + const timeoutId = setTimeout(() => { + s1 = setImmediate(() => { + if (process.platform === "win32") { + s2 = setImmediate(() => onConnectTimeout2()); + } else { + onConnectTimeout2(); + } + }); + }, timeout); + return () => { + clearTimeout(timeoutId); + clearImmediate(s1); + clearImmediate(s2); + }; + } + function onConnectTimeout(socket) { + util3.destroy(socket, new ConnectTimeoutError()); + } + module2.exports = buildConnector; + } +}); + +// node_modules/undici/lib/llhttp/utils.js +var require_utils2 = __commonJS({ + "node_modules/undici/lib/llhttp/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.enumToMap = void 0; + function enumToMap(obj) { + const res = {}; + Object.keys(obj).forEach((key) => { + const value = obj[key]; + if (typeof value === "number") { + res[key] = value; + } + }); + return res; + } + exports.enumToMap = enumToMap; + } +}); + +// node_modules/undici/lib/llhttp/constants.js +var require_constants3 = __commonJS({ + "node_modules/undici/lib/llhttp/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + 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; + var utils_1 = require_utils2(); + var ERROR; + (function(ERROR2) { + ERROR2[ERROR2["OK"] = 0] = "OK"; + ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; + ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; + ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; + ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; + ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; + ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; + ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; + ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; + ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; + ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; + ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; + ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; + ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; + ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; + ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; + ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; + ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; + ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; + ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; + ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; + ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; + ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; + ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; + ERROR2[ERROR2["USER"] = 24] = "USER"; + })(ERROR = exports.ERROR || (exports.ERROR = {})); + var TYPE; + (function(TYPE2) { + TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; + TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; + TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; + })(TYPE = exports.TYPE || (exports.TYPE = {})); + var FLAGS; + (function(FLAGS2) { + FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; + FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; + FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; + FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; + FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; + FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; + FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; + FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; + FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; + })(FLAGS = exports.FLAGS || (exports.FLAGS = {})); + var LENIENT_FLAGS; + (function(LENIENT_FLAGS2) { + LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; + LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; + LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; + })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); + var METHODS; + (function(METHODS2) { + METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; + METHODS2[METHODS2["GET"] = 1] = "GET"; + METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; + METHODS2[METHODS2["POST"] = 3] = "POST"; + METHODS2[METHODS2["PUT"] = 4] = "PUT"; + METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; + METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; + METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; + METHODS2[METHODS2["COPY"] = 8] = "COPY"; + METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; + METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; + METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; + METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; + METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; + METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; + METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; + METHODS2[METHODS2["BIND"] = 16] = "BIND"; + METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; + METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; + METHODS2[METHODS2["ACL"] = 19] = "ACL"; + METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; + METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; + METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; + METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; + METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; + METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; + METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; + METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; + METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; + METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; + METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; + METHODS2[METHODS2["LINK"] = 31] = "LINK"; + METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; + METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; + METHODS2[METHODS2["PRI"] = 34] = "PRI"; + METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; + METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; + METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; + METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; + METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; + METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; + METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; + METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; + METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; + METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; + METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; + })(METHODS = exports.METHODS || (exports.METHODS = {})); + exports.METHODS_HTTP = [ + METHODS.DELETE, + METHODS.GET, + METHODS.HEAD, + METHODS.POST, + METHODS.PUT, + METHODS.CONNECT, + METHODS.OPTIONS, + METHODS.TRACE, + METHODS.COPY, + METHODS.LOCK, + METHODS.MKCOL, + METHODS.MOVE, + METHODS.PROPFIND, + METHODS.PROPPATCH, + METHODS.SEARCH, + METHODS.UNLOCK, + METHODS.BIND, + METHODS.REBIND, + METHODS.UNBIND, + METHODS.ACL, + METHODS.REPORT, + METHODS.MKACTIVITY, + METHODS.CHECKOUT, + METHODS.MERGE, + METHODS["M-SEARCH"], + METHODS.NOTIFY, + METHODS.SUBSCRIBE, + METHODS.UNSUBSCRIBE, + METHODS.PATCH, + METHODS.PURGE, + METHODS.MKCALENDAR, + METHODS.LINK, + METHODS.UNLINK, + METHODS.PRI, + METHODS.SOURCE + ]; + exports.METHODS_ICE = [ + METHODS.SOURCE + ]; + exports.METHODS_RTSP = [ + METHODS.OPTIONS, + METHODS.DESCRIBE, + METHODS.ANNOUNCE, + METHODS.SETUP, + METHODS.PLAY, + METHODS.PAUSE, + METHODS.TEARDOWN, + METHODS.GET_PARAMETER, + METHODS.SET_PARAMETER, + METHODS.REDIRECT, + METHODS.RECORD, + METHODS.FLUSH, + METHODS.GET, + METHODS.POST + ]; + exports.METHOD_MAP = utils_1.enumToMap(METHODS); + exports.H_METHOD_MAP = {}; + Object.keys(exports.METHOD_MAP).forEach((key) => { + if (/^H/.test(key)) { + exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; + } + }); + var FINISH; + (function(FINISH2) { + FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; + FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; + })(FINISH = exports.FINISH || (exports.FINISH = {})); + exports.ALPHA = []; + for (let i3 = "A".charCodeAt(0); i3 <= "Z".charCodeAt(0); i3++) { + exports.ALPHA.push(String.fromCharCode(i3)); + exports.ALPHA.push(String.fromCharCode(i3 + 32)); + } + exports.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 + }; + exports.HEX_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + a: 10, + b: 11, + c: 12, + d: 13, + e: 14, + f: 15 + }; + exports.NUM = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ]; + exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); + exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; + exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + exports.STRICT_URL_CHAR = [ + "!", + '"', + "$", + "%", + "&", + "'", + "(", + ")", + "*", + "+", + ",", + "-", + ".", + "/", + ":", + ";", + "<", + "=", + ">", + "@", + "[", + "\\", + "]", + "^", + "_", + "`", + "{", + "|", + "}", + "~" + ].concat(exports.ALPHANUM); + exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]); + for (let i3 = 128; i3 <= 255; i3++) { + exports.URL_CHAR.push(i3); + } + exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports.STRICT_TOKEN = [ + "!", + "#", + "$", + "%", + "&", + "'", + "*", + "+", + "-", + ".", + "^", + "_", + "`", + "|", + "~" + ].concat(exports.ALPHANUM); + exports.TOKEN = exports.STRICT_TOKEN.concat([" "]); + exports.HEADER_CHARS = [" "]; + for (let i3 = 32; i3 <= 255; i3++) { + if (i3 !== 127) { + exports.HEADER_CHARS.push(i3); + } + } + exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c2) => c2 !== 44); + exports.MAJOR = exports.NUM_MAP; + exports.MINOR = exports.MAJOR; + var HEADER_STATE; + (function(HEADER_STATE2) { + HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; + HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; + HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; + HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; + })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); + exports.SPECIAL_HEADERS = { + "connection": HEADER_STATE.CONNECTION, + "content-length": HEADER_STATE.CONTENT_LENGTH, + "proxy-connection": HEADER_STATE.CONNECTION, + "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, + "upgrade": HEADER_STATE.UPGRADE + }; + } +}); + +// node_modules/undici/lib/handler/RedirectHandler.js +var require_RedirectHandler = __commonJS({ + "node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) { + "use strict"; + var util3 = require_util(); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { InvalidArgumentError } = require_errors(); + var EE = require("events"); + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; + var kBody = Symbol("body"); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + var RedirectHandler = class { + constructor(dispatch, maxRedirections, opts, handler) { + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + util3.validateHandler(handler, opts.method, opts.upgrade); + this.dispatch = dispatch; + this.location = null; + this.abort = null; + this.opts = { ...opts, maxRedirections: 0 }; + this.maxRedirections = maxRedirections; + this.handler = handler; + this.history = []; + if (util3.isStream(this.opts.body)) { + if (util3.bodyLength(this.opts.body) === 0) { + this.opts.body.on("data", function() { + assert(false); + }); + } + if (typeof this.opts.body.readableDidRead !== "boolean") { + this.opts.body[kBodyUsed] = false; + EE.prototype.on.call(this.opts.body, "data", function() { + this[kBodyUsed] = true; + }); + } + } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util3.isIterable(this.opts.body)) { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } + } + onConnect(abort) { + this.abort = abort; + this.handler.onConnect(abort, { history: this.history }); + } + onUpgrade(statusCode, headers, socket) { + this.handler.onUpgrade(statusCode, headers, socket); + } + onError(error) { + this.handler.onError(error); + } + onHeaders(statusCode, headers, resume, statusText) { + this.location = this.history.length >= this.maxRedirections || util3.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + if (this.opts.origin) { + this.history.push(new URL(this.opts.path, this.opts.origin)); + } + if (!this.location) { + return this.handler.onHeaders(statusCode, headers, resume, statusText); + } + const { origin, pathname, search } = util3.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); + const path2 = search ? `${pathname}${search}` : pathname; + this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); + this.opts.path = path2; + this.opts.origin = origin; + this.opts.maxRedirections = 0; + this.opts.query = null; + if (statusCode === 303 && this.opts.method !== "HEAD") { + this.opts.method = "GET"; + this.opts.body = null; + } + } + onData(chunk) { + if (this.location) { + } else { + return this.handler.onData(chunk); + } + } + onComplete(trailers) { + if (this.location) { + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(trailers); + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) { + this.handler.onBodySent(chunk); + } + } + }; + function parseLocation(statusCode, headers) { + if (redirectableStatusCodes.indexOf(statusCode) === -1) { + return null; + } + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (headers[i3].toString().toLowerCase() === "location") { + return headers[i3 + 1]; + } + } + } + function shouldRemoveHeader(header, removeContent, unknownOrigin) { + if (header.length === 4) { + return util3.headerNameToString(header) === "host"; + } + if (removeContent && util3.headerNameToString(header).startsWith("content-")) { + return true; + } + if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { + const name = util3.headerNameToString(header); + return name === "authorization" || name === "cookie" || name === "proxy-authorization"; + } + return false; + } + function cleanRequestHeaders(headers, removeContent, unknownOrigin) { + const ret = []; + if (Array.isArray(headers)) { + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (!shouldRemoveHeader(headers[i3], removeContent, unknownOrigin)) { + ret.push(headers[i3], headers[i3 + 1]); + } + } + } else if (headers && typeof headers === "object") { + for (const key of Object.keys(headers)) { + if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { + ret.push(key, headers[key]); + } + } + } else { + assert(headers == null, "headers must be an object or an array"); + } + return ret; + } + module2.exports = RedirectHandler; + } +}); + +// node_modules/undici/lib/interceptor/redirectInterceptor.js +var require_redirectInterceptor = __commonJS({ + "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) { + "use strict"; + var RedirectHandler = require_RedirectHandler(); + function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { + return (dispatch) => { + return function Intercept(opts, handler) { + const { maxRedirections = defaultMaxRedirections } = opts; + if (!maxRedirections) { + return dispatch(opts, handler); + } + const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); + opts = { ...opts, maxRedirections: 0 }; + return dispatch(opts, redirectHandler); + }; + }; + } + module2.exports = createRedirectInterceptor; + } +}); + +// node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { + module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; + } +}); + +// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +var require_llhttp_simd_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { + module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; + } +}); + +// node_modules/undici/lib/client.js +var require_client = __commonJS({ + "node_modules/undici/lib/client.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var net = require("net"); + var http3 = require("http"); + var { pipeline } = require("stream"); + var util3 = require_util(); + var timers = require_timers(); + var Request3 = require_request(); + var DispatcherBase = require_dispatcher_base(); + var { + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + InvalidArgumentError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError, + ClientDestroyedError + } = require_errors(); + var buildConnector = require_connect(); + var { + kUrl, + kReset, + kServerName, + kClient, + kBusy, + kParser, + kConnect, + kBlocking, + kResuming, + kRunning, + kPending, + kSize, + kWriting, + kQueue, + kConnected, + kConnecting, + kNeedDrain, + kNoRef, + kKeepAliveDefaultTimeout, + kHostHeader, + kPendingIdx, + kRunningIdx, + kError, + kPipelining, + kSocket, + kKeepAliveTimeoutValue, + kMaxHeadersSize, + kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold, + kHeadersTimeout, + kBodyTimeout, + kStrictContentLength, + kConnector, + kMaxRedirections, + kMaxRequests, + kCounter, + kClose, + kDestroy, + kDispatch, + kInterceptors, + kLocalAddress, + kMaxResponseSize, + kHTTPConnVersion, + kHost, + kHTTP2Session, + kHTTP2SessionState, + kHTTP2BuildRequest, + kHTTP2CopyHeaders, + kHTTP1BuildRequest + } = require_symbols(); + var http22; + try { + http22 = require("http2"); + } catch { + http22 = { constants: {} }; + } + var { + constants: { + HTTP2_HEADER_AUTHORITY, + HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH, + HTTP2_HEADER_SCHEME, + HTTP2_HEADER_CONTENT_LENGTH, + HTTP2_HEADER_EXPECT, + HTTP2_HEADER_STATUS + } + } = http22; + var h2ExperimentalWarned = false; + var FastBuffer = Buffer[Symbol.species]; + var kClosedResolve = Symbol("kClosedResolve"); + var channels = {}; + try { + const diagnosticsChannel = require("diagnostics_channel"); + channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); + channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); + channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); + channels.connected = diagnosticsChannel.channel("undici:client:connected"); + } catch { + channels.sendHeaders = { hasSubscribers: false }; + channels.beforeConnect = { hasSubscribers: false }; + channels.connectError = { hasSubscribers: false }; + channels.connected = { hasSubscribers: false }; + } + var Client = class extends DispatcherBase { + constructor(url2, { + interceptors, + maxHeaderSize, + headersTimeout, + socketTimeout, + requestTimeout, + connectTimeout, + bodyTimeout, + idleTimeout, + keepAlive, + keepAliveTimeout, + maxKeepAliveTimeout, + keepAliveMaxTimeout, + keepAliveTimeoutThreshold, + socketPath, + pipelining, + tls, + strictContentLength, + maxCachedSessions, + maxRedirections, + connect: connect2, + maxRequestsPerClient, + localAddress, + maxResponseSize, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + maxConcurrentStreams + } = {}) { + super(); + if (keepAlive !== void 0) { + throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); + } + if (socketTimeout !== void 0) { + throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + } + if (requestTimeout !== void 0) { + throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + } + if (idleTimeout !== void 0) { + throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); + } + if (maxKeepAliveTimeout !== void 0) { + throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); + } + if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { + throw new InvalidArgumentError("invalid maxHeaderSize"); + } + if (socketPath != null && typeof socketPath !== "string") { + throw new InvalidArgumentError("invalid socketPath"); + } + if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { + throw new InvalidArgumentError("invalid connectTimeout"); + } + if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { + throw new InvalidArgumentError("invalid keepAliveTimeout"); + } + if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { + throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); + } + if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { + throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); + } + if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); + } + if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); + } + if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { + throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); + } + if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { + throw new InvalidArgumentError("localAddress must be valid string IP address"); + } + if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { + throw new InvalidArgumentError("maxResponseSize must be a positive number"); + } + if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { + throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); + } + if (allowH2 != null && typeof allowH2 !== "boolean") { + throw new InvalidArgumentError("allowH2 must be a valid boolean value"); + } + if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { + throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + } + if (typeof connect2 !== "function") { + connect2 = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...util3.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect2 + }); + } + this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; + this[kUrl] = util3.parseOrigin(url2); + this[kConnector] = connect2; + this[kSocket] = null; + this[kPipelining] = pipelining != null ? pipelining : 1; + this[kMaxHeadersSize] = maxHeaderSize || http3.maxHeaderSize; + this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; + this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; + this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; + this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; + this[kServerName] = null; + this[kLocalAddress] = localAddress != null ? localAddress : null; + this[kResuming] = 0; + this[kNeedDrain] = 0; + this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r +`; + this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; + this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; + this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; + this[kMaxRedirections] = maxRedirections; + this[kMaxRequests] = maxRequestsPerClient; + this[kClosedResolve] = null; + this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; + this[kHTTPConnVersion] = "h1"; + this[kHTTP2Session] = null; + this[kHTTP2SessionState] = !allowH2 ? null : { + openStreams: 0, + maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 + }; + this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; + this[kQueue] = []; + this[kRunningIdx] = 0; + this[kPendingIdx] = 0; + } + get pipelining() { + return this[kPipelining]; + } + set pipelining(value) { + this[kPipelining] = value; + resume(this, true); + } + get [kPending]() { + return this[kQueue].length - this[kPendingIdx]; + } + get [kRunning]() { + return this[kPendingIdx] - this[kRunningIdx]; + } + get [kSize]() { + return this[kQueue].length - this[kRunningIdx]; + } + get [kConnected]() { + return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + } + get [kBusy]() { + const socket = this[kSocket]; + return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + } + [kConnect](cb) { + connect(this); + this.once("connect", cb); + } + [kDispatch](opts, handler) { + const origin = opts.origin || this[kUrl].origin; + const request3 = this[kHTTPConnVersion] === "h2" ? Request3[kHTTP2BuildRequest](origin, opts, handler) : Request3[kHTTP1BuildRequest](origin, opts, handler); + this[kQueue].push(request3); + if (this[kResuming]) { + } else if (util3.bodyLength(request3.body) == null && util3.isIterable(request3.body)) { + this[kResuming] = 1; + process.nextTick(resume, this); + } else { + resume(this, true); + } + if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { + this[kNeedDrain] = 2; + } + return this[kNeedDrain] < 2; + } + async [kClose]() { + return new Promise((resolve) => { + if (!this[kSize]) { + resolve(null); + } else { + this[kClosedResolve] = resolve; + } + }); + } + async [kDestroy](err) { + return new Promise((resolve) => { + const requests = this[kQueue].splice(this[kPendingIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request3 = requests[i3]; + errorRequest(this, request3, err); + } + const callback = () => { + if (this[kClosedResolve]) { + this[kClosedResolve](); + this[kClosedResolve] = null; + } + resolve(); + }; + if (this[kHTTP2Session] != null) { + util3.destroy(this[kHTTP2Session], err); + this[kHTTP2Session] = null; + this[kHTTP2SessionState] = null; + } + if (!this[kSocket]) { + queueMicrotask(callback); + } else { + util3.destroy(this[kSocket].on("close", callback), err); + } + resume(this); + }); + } + }; + function onHttp2SessionError(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kSocket][kError] = err; + onError(this[kClient], err); + } + function onHttp2FrameError(type2, code, id) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); + if (id === 0) { + this[kSocket][kError] = err; + onError(this[kClient], err); + } + } + function onHttp2SessionEnd() { + util3.destroy(this, new SocketError("other side closed")); + util3.destroy(this[kSocket], new SocketError("other side closed")); + } + function onHTTP2GoAway(code) { + const client = this[kClient]; + const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); + client[kSocket] = null; + client[kHTTP2Session] = null; + if (client.destroyed) { + assert(this[kPending] === 0); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request3 = requests[i3]; + errorRequest(this, request3, err); + } + } else if (client[kRunning] > 0) { + const request3 = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request3, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit( + "disconnect", + client[kUrl], + [client], + err + ); + resume(client); + } + var constants = require_constants3(); + var createRedirectInterceptor = require_redirectInterceptor(); + var EMPTY_BUF = Buffer.alloc(0); + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; + let mod; + try { + mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); + } catch (e3) { + mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); + } + return await WebAssembly.instantiate(mod, { + env: { + wasm_on_url: (p3, at2, len) => { + return 0; + }, + wasm_on_status: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_begin: (p3) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onMessageBegin() || 0; + }, + wasm_on_header_field: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_header_value: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_headers_complete: (p3, statusCode, upgrade, shouldKeepAlive) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + }, + wasm_on_body: (p3, at2, len) => { + assert.strictEqual(currentParser.ptr, p3); + const start = at2 - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_complete: (p3) => { + assert.strictEqual(currentParser.ptr, p3); + return currentParser.onMessageComplete() || 0; + } + } + }); + } + var llhttpInstance = null; + var llhttpPromise = lazyllhttp(); + llhttpPromise.catch(); + var currentParser = null; + var currentBufferRef = null; + var currentBufferSize = 0; + var currentBufferPtr = null; + var TIMEOUT_HEADERS = 1; + var TIMEOUT_BODY = 2; + var TIMEOUT_IDLE = 3; + var Parser = class { + constructor(client, socket, { exports: exports2 }) { + assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); + this.llhttp = exports2; + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); + this.client = client; + this.socket = socket; + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.statusCode = null; + this.statusText = ""; + this.upgrade = false; + this.headers = []; + this.headersSize = 0; + this.headersMaxSize = client[kMaxHeadersSize]; + this.shouldKeepAlive = false; + this.paused = false; + this.resume = this.resume.bind(this); + this.bytesRead = 0; + this.keepAlive = ""; + this.contentLength = ""; + this.connection = ""; + this.maxResponseSize = client[kMaxResponseSize]; + } + setTimeout(value, type2) { + this.timeoutType = type2; + if (value !== this.timeoutValue) { + timers.clearTimeout(this.timeout); + if (value) { + this.timeout = timers.setTimeout(onParserTimeout, value, this); + if (this.timeout.unref) { + this.timeout.unref(); + } + } else { + this.timeout = null; + } + this.timeoutValue = value; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; + } + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_resume(this.ptr); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.paused = false; + this.execute(this.socket.read() || EMPTY_BUF); + this.readMore(); + } + readMore() { + while (!this.paused && this.ptr) { + const chunk = this.socket.read(); + if (chunk === null) { + break; + } + this.execute(chunk); + } + } + execute(data) { + assert(this.ptr != null); + assert(currentParser == null); + assert(!this.paused); + const { socket, llhttp } = this; + if (data.length > currentBufferSize) { + if (currentBufferPtr) { + llhttp.free(currentBufferPtr); + } + currentBufferSize = Math.ceil(data.length / 4096) * 4096; + currentBufferPtr = llhttp.malloc(currentBufferSize); + } + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + try { + let ret; + try { + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + } catch (err) { + throw err; + } finally { + currentParser = null; + currentBufferRef = null; + } + const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(data.slice(offset)); + } else if (ret === constants.ERROR.PAUSED) { + this.paused = true; + socket.unshift(data.slice(offset)); + } else if (ret !== constants.ERROR.OK) { + const ptr = llhttp.llhttp_get_error_reason(this.ptr); + let message = ""; + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + } + throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); + } + } catch (err) { + util3.destroy(socket, err); + } + } + destroy() { + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + timers.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; + } + onStatus(buf) { + this.statusText = buf.toString(); + } + onMessageBegin() { + const { socket, client } = this; + if (socket.destroyed) { + return -1; + } + const request3 = client[kQueue][client[kRunningIdx]]; + if (!request3) { + return -1; + } + } + onHeaderField(buf) { + const len = this.headers.length; + if ((len & 1) === 0) { + this.headers.push(buf); + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + this.trackHeader(buf.length); + } + onHeaderValue(buf) { + let len = this.headers.length; + if ((len & 1) === 1) { + this.headers.push(buf); + len += 1; + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + const key = this.headers[len - 2]; + if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { + this.keepAlive += buf.toString(); + } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { + this.connection += buf.toString(); + } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { + this.contentLength += buf.toString(); + } + this.trackHeader(buf.length); + } + trackHeader(len) { + this.headersSize += len; + if (this.headersSize >= this.headersMaxSize) { + util3.destroy(this.socket, new HeadersOverflowError()); + } + } + onUpgrade(head) { + const { upgrade, client, socket, headers, statusCode } = this; + assert(upgrade); + const request3 = client[kQueue][client[kRunningIdx]]; + assert(request3); + assert(!socket.destroyed); + assert(socket === client[kSocket]); + assert(!this.paused); + assert(request3.upgrade || request3.method === "CONNECT"); + this.statusCode = null; + this.statusText = ""; + this.shouldKeepAlive = null; + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + socket.unshift(head); + socket[kParser].destroy(); + socket[kParser] = null; + socket[kClient] = null; + socket[kError] = null; + socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); + client[kSocket] = null; + client[kQueue][client[kRunningIdx]++] = null; + client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + try { + request3.onUpgrade(statusCode, headers, socket); + } catch (err) { + util3.destroy(socket, err); + } + resume(client); + } + onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + const { client, socket, headers, statusText } = this; + if (socket.destroyed) { + return -1; + } + const request3 = client[kQueue][client[kRunningIdx]]; + if (!request3) { + return -1; + } + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + return -1; + } + if (upgrade && !request3.upgrade) { + util3.destroy(socket, new SocketError("bad upgrade", util3.getSocketInfo(socket))); + return -1; + } + assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); + this.statusCode = statusCode; + this.shouldKeepAlive = shouldKeepAlive || request3.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + if (this.statusCode >= 200) { + const bodyTimeout = request3.bodyTimeout != null ? request3.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (request3.method === "CONNECT") { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + if (upgrade) { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && client[kPipelining]) { + const keepAliveTimeout = this.keepAlive ? util3.parseKeepAliveTimeout(this.keepAlive) : null; + if (keepAliveTimeout != null) { + const timeout = Math.min( + keepAliveTimeout - client[kKeepAliveTimeoutThreshold], + client[kKeepAliveMaxTimeout] + ); + if (timeout <= 0) { + socket[kReset] = true; + } else { + client[kKeepAliveTimeoutValue] = timeout; + } + } else { + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; + } + } else { + socket[kReset] = true; + } + const pause = request3.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request3.aborted) { + return -1; + } + if (request3.method === "HEAD") { + return 1; + } + if (statusCode < 200) { + return 1; + } + if (socket[kBlocking]) { + socket[kBlocking] = false; + resume(client); + } + return pause ? constants.ERROR.PAUSED : 0; + } + onBody(buf) { + const { client, socket, statusCode, maxResponseSize } = this; + if (socket.destroyed) { + return -1; + } + const request3 = client[kQueue][client[kRunningIdx]]; + assert(request3); + assert.strictEqual(this.timeoutType, TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + assert(statusCode >= 200); + if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { + util3.destroy(socket, new ResponseExceededMaxSizeError()); + return -1; + } + this.bytesRead += buf.length; + if (request3.onData(buf) === false) { + return constants.ERROR.PAUSED; + } + } + onMessageComplete() { + const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + if (socket.destroyed && (!statusCode || shouldKeepAlive)) { + return -1; + } + if (upgrade) { + return; + } + const request3 = client[kQueue][client[kRunningIdx]]; + assert(request3); + assert(statusCode >= 100); + this.statusCode = null; + this.statusText = ""; + this.bytesRead = 0; + this.contentLength = ""; + this.keepAlive = ""; + this.connection = ""; + assert(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (statusCode < 200) { + return; + } + if (request3.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util3.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request3.onComplete(headers); + client[kQueue][client[kRunningIdx]++] = null; + if (socket[kWriting]) { + assert.strictEqual(client[kRunning], 0); + util3.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (!shouldKeepAlive) { + util3.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (socket[kReset] && client[kRunning] === 0) { + util3.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (client[kPipelining] === 1) { + setImmediate(resume, client); + } else { + resume(client); + } + } + }; + function onParserTimeout(parser) { + const { socket, timeoutType, client } = parser; + if (timeoutType === TIMEOUT_HEADERS) { + if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { + assert(!parser.paused, "cannot be paused while waiting for headers"); + util3.destroy(socket, new HeadersTimeoutError()); + } + } else if (timeoutType === TIMEOUT_BODY) { + if (!parser.paused) { + util3.destroy(socket, new BodyTimeoutError()); + } + } else if (timeoutType === TIMEOUT_IDLE) { + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); + util3.destroy(socket, new InformationalError("socket idle timeout")); + } + } + function onSocketReadable() { + const { [kParser]: parser } = this; + if (parser) { + parser.readMore(); + } + } + function onSocketError(err) { + const { [kClient]: client, [kParser]: parser } = this; + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + if (client[kHTTPConnVersion] !== "h2") { + if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + } + this[kError] = err; + onError(this[kClient], err); + } + function onError(client, err) { + if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { + assert(client[kPendingIdx] === client[kRunningIdx]); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request3 = requests[i3]; + errorRequest(client, request3, err); + } + assert(client[kSize] === 0); + } + } + function onSocketEnd() { + const { [kParser]: parser, [kClient]: client } = this; + if (client[kHTTPConnVersion] !== "h2") { + if (parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + } + util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this))); + } + function onSocketClose() { + const { [kClient]: client, [kParser]: parser } = this; + if (client[kHTTPConnVersion] === "h1" && parser) { + if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + } + this[kParser].destroy(); + this[kParser] = null; + } + const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this)); + client[kSocket] = null; + if (client.destroyed) { + assert(client[kPending] === 0); + const requests = client[kQueue].splice(client[kRunningIdx]); + for (let i3 = 0; i3 < requests.length; i3++) { + const request3 = requests[i3]; + errorRequest(client, request3, err); + } + } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + const request3 = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request3, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + resume(client); + } + async function connect(client) { + assert(!client[kConnecting]); + assert(!client[kSocket]); + let { host, hostname, protocol, port } = client[kUrl]; + if (hostname[0] === "[") { + const idx = hostname.indexOf("]"); + assert(idx !== -1); + const ip = hostname.substring(1, idx); + assert(net.isIP(ip)); + hostname = ip; + } + client[kConnecting] = true; + if (channels.beforeConnect.hasSubscribers) { + channels.beforeConnect.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector] + }); + } + try { + const socket = await new Promise((resolve, reject) => { + client[kConnector]({ + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, (err, socket2) => { + if (err) { + reject(err); + } else { + resolve(socket2); + } + }); + }); + if (client.destroyed) { + util3.destroy(socket.on("error", () => { + }), new ClientDestroyedError()); + return; + } + client[kConnecting] = false; + assert(socket); + const isH2 = socket.alpnProtocol === "h2"; + if (isH2) { + if (!h2ExperimentalWarned) { + h2ExperimentalWarned = true; + process.emitWarning("H2 support is experimental, expect them to change at any time.", { + code: "UNDICI-H2" + }); + } + const session = http22.connect(client[kUrl], { + createConnection: () => socket, + peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams + }); + client[kHTTPConnVersion] = "h2"; + session[kClient] = client; + session[kSocket] = socket; + session.on("error", onHttp2SessionError); + session.on("frameError", onHttp2FrameError); + session.on("end", onHttp2SessionEnd); + session.on("goaway", onHTTP2GoAway); + session.on("close", onSocketClose); + session.unref(); + client[kHTTP2Session] = session; + socket[kHTTP2Session] = session; + } else { + if (!llhttpInstance) { + llhttpInstance = await llhttpPromise; + llhttpPromise = null; + } + socket[kNoRef] = false; + socket[kWriting] = false; + socket[kReset] = false; + socket[kBlocking] = false; + socket[kParser] = new Parser(client, socket, llhttpInstance); + } + socket[kCounter] = 0; + socket[kMaxRequests] = client[kMaxRequests]; + socket[kClient] = client; + socket[kError] = null; + socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); + client[kSocket] = socket; + if (channels.connected.hasSubscribers) { + channels.connected.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + socket + }); + } + client.emit("connect", client[kUrl], [client]); + } catch (err) { + if (client.destroyed) { + return; + } + client[kConnecting] = false; + if (channels.connectError.hasSubscribers) { + channels.connectError.publish({ + connectParams: { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + error: err + }); + } + if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + assert(client[kRunning] === 0); + while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { + const request3 = client[kQueue][client[kPendingIdx]++]; + errorRequest(client, request3, err); + } + } else { + onError(client, err); + } + client.emit("connectionError", client[kUrl], [client], err); + } + resume(client); + } + function emitDrain(client) { + client[kNeedDrain] = 0; + client.emit("drain", client[kUrl], [client]); + } + function resume(client, sync) { + if (client[kResuming] === 2) { + return; + } + client[kResuming] = 2; + _resume(client, sync); + client[kResuming] = 0; + if (client[kRunningIdx] > 256) { + client[kQueue].splice(0, client[kRunningIdx]); + client[kPendingIdx] -= client[kRunningIdx]; + client[kRunningIdx] = 0; + } + } + function _resume(client, sync) { + while (true) { + if (client.destroyed) { + assert(client[kPending] === 0); + return; + } + if (client[kClosedResolve] && !client[kSize]) { + client[kClosedResolve](); + client[kClosedResolve] = null; + return; + } + const socket = client[kSocket]; + if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { + if (client[kSize] === 0) { + if (!socket[kNoRef] && socket.unref) { + socket.unref(); + socket[kNoRef] = true; + } + } else if (socket[kNoRef] && socket.ref) { + socket.ref(); + socket[kNoRef] = false; + } + if (client[kSize] === 0) { + if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { + socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); + } + } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { + if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { + const request4 = client[kQueue][client[kRunningIdx]]; + const headersTimeout = request4.headersTimeout != null ? request4.headersTimeout : client[kHeadersTimeout]; + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + } + } + } + if (client[kBusy]) { + client[kNeedDrain] = 2; + } else if (client[kNeedDrain] === 2) { + if (sync) { + client[kNeedDrain] = 1; + process.nextTick(emitDrain, client); + } else { + emitDrain(client); + } + continue; + } + if (client[kPending] === 0) { + return; + } + if (client[kRunning] >= (client[kPipelining] || 1)) { + return; + } + const request3 = client[kQueue][client[kPendingIdx]]; + if (client[kUrl].protocol === "https:" && client[kServerName] !== request3.servername) { + if (client[kRunning] > 0) { + return; + } + client[kServerName] = request3.servername; + if (socket && socket.servername !== request3.servername) { + util3.destroy(socket, new InformationalError("servername changed")); + return; + } + } + if (client[kConnecting]) { + return; + } + if (!socket && !client[kHTTP2Session]) { + connect(client); + return; + } + if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { + return; + } + if (client[kRunning] > 0 && !request3.idempotent) { + return; + } + if (client[kRunning] > 0 && (request3.upgrade || request3.method === "CONNECT")) { + return; + } + if (client[kRunning] > 0 && util3.bodyLength(request3.body) !== 0 && (util3.isStream(request3.body) || util3.isAsyncIterable(request3.body))) { + return; + } + if (!request3.aborted && write(client, request3)) { + client[kPendingIdx]++; + } else { + client[kQueue].splice(client[kPendingIdx], 1); + } + } + } + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function write(client, request3) { + if (client[kHTTPConnVersion] === "h2") { + writeH2(client, client[kHTTP2Session], request3); + return; + } + const { body, method, path: path2, host, upgrade, headers, blocking, reset } = request3; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + const bodyLength = util3.bodyLength(body); + let contentLength = bodyLength; + if (contentLength === null) { + contentLength = request3.contentLength; + } + if (contentLength === 0 && !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request3.contentLength !== null && request3.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request3, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + const socket = client[kSocket]; + try { + request3.onConnect((err) => { + if (request3.aborted || request3.completed) { + return; + } + errorRequest(client, request3, err || new RequestAbortedError()); + util3.destroy(socket, new InformationalError("aborted")); + }); + } catch (err) { + errorRequest(client, request3, err); + } + if (request3.aborted) { + return false; + } + if (method === "HEAD") { + socket[kReset] = true; + } + if (upgrade || method === "CONNECT") { + socket[kReset] = true; + } + if (reset != null) { + socket[kReset] = reset; + } + if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { + socket[kReset] = true; + } + if (blocking) { + socket[kBlocking] = true; + } + let header = `${method} ${path2} HTTP/1.1\r +`; + if (typeof host === "string") { + header += `host: ${host}\r +`; + } else { + header += client[kHostHeader]; + } + if (upgrade) { + header += `connection: upgrade\r +upgrade: ${upgrade}\r +`; + } else if (client[kPipelining] && !socket[kReset]) { + header += "connection: keep-alive\r\n"; + } else { + header += "connection: close\r\n"; + } + if (headers) { + header += headers; + } + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ request: request3, headers: header, socket }); + } + if (!body || bodyLength === 0) { + if (contentLength === 0) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + assert(contentLength === null, "no body must not have content length"); + socket.write(`${header}\r +`, "latin1"); + } + request3.onRequestSent(); + } else if (util3.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(body); + socket.uncork(); + request3.onBodySent(body); + request3.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + } else if (util3.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ body: body.stream(), client, request: request3, socket, contentLength, header, expectsPayload }); + } else { + writeBlob({ body, client, request: request3, socket, contentLength, header, expectsPayload }); + } + } else if (util3.isStream(body)) { + writeStream({ body, client, request: request3, socket, contentLength, header, expectsPayload }); + } else if (util3.isIterable(body)) { + writeIterable({ body, client, request: request3, socket, contentLength, header, expectsPayload }); + } else { + assert(false); + } + return true; + } + function writeH2(client, session, request3) { + const { body, method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request3; + let headers; + if (typeof reqHeaders === "string") + headers = Request3[kHTTP2CopyHeaders](reqHeaders.trim()); + else + headers = reqHeaders; + if (upgrade) { + errorRequest(client, request3, new Error("Upgrade not supported for H2")); + return false; + } + try { + request3.onConnect((err) => { + if (request3.aborted || request3.completed) { + return; + } + errorRequest(client, request3, err || new RequestAbortedError()); + }); + } catch (err) { + errorRequest(client, request3, err); + } + if (request3.aborted) { + return false; + } + let stream4; + const h2State = client[kHTTP2SessionState]; + headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; + headers[HTTP2_HEADER_METHOD] = method; + if (method === "CONNECT") { + session.ref(); + stream4 = session.request(headers, { endStream: false, signal }); + if (stream4.id && !stream4.pending) { + request3.onUpgrade(null, null, stream4); + ++h2State.openStreams; + } else { + stream4.once("ready", () => { + request3.onUpgrade(null, null, stream4); + ++h2State.openStreams; + }); + } + stream4.once("close", () => { + h2State.openStreams -= 1; + if (h2State.openStreams === 0) + session.unref(); + }); + return true; + } + headers[HTTP2_HEADER_PATH] = path2; + headers[HTTP2_HEADER_SCHEME] = "https"; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + let contentLength = util3.bodyLength(body); + if (contentLength == null) { + contentLength = request3.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request3.contentLength != null && request3.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request3, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + if (contentLength != null) { + assert(body, "no body must not have content length"); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === "GET" || method === "HEAD"; + if (expectContinue) { + headers[HTTP2_HEADER_EXPECT] = "100-continue"; + stream4 = session.request(headers, { endStream: shouldEndStream, signal }); + stream4.once("continue", writeBodyH2); + } else { + stream4 = session.request(headers, { + endStream: shouldEndStream, + signal + }); + writeBodyH2(); + } + ++h2State.openStreams; + stream4.once("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + if (request3.onHeaders(Number(statusCode), realHeaders, stream4.resume.bind(stream4), "") === false) { + stream4.pause(); + } + }); + stream4.once("end", () => { + request3.onComplete([]); + }); + stream4.on("data", (chunk) => { + if (request3.onData(chunk) === false) { + stream4.pause(); + } + }); + stream4.once("close", () => { + h2State.openStreams -= 1; + if (h2State.openStreams === 0) { + session.unref(); + } + }); + stream4.once("error", function(err) { + if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { + h2State.streams -= 1; + util3.destroy(stream4, err); + } + }); + stream4.once("frameError", (type2, code) => { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); + errorRequest(client, request3, err); + if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { + h2State.streams -= 1; + util3.destroy(stream4, err); + } + }); + return true; + function writeBodyH2() { + if (!body) { + request3.onRequestSent(); + } else if (util3.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + stream4.cork(); + stream4.write(body); + stream4.uncork(); + stream4.end(); + request3.onBodySent(body); + request3.onRequestSent(); + } else if (util3.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ + client, + request: request3, + contentLength, + h2stream: stream4, + expectsPayload, + body: body.stream(), + socket: client[kSocket], + header: "" + }); + } else { + writeBlob({ + body, + client, + request: request3, + contentLength, + expectsPayload, + h2stream: stream4, + header: "", + socket: client[kSocket] + }); + } + } else if (util3.isStream(body)) { + writeStream({ + body, + client, + request: request3, + contentLength, + expectsPayload, + socket: client[kSocket], + h2stream: stream4, + header: "" + }); + } else if (util3.isIterable(body)) { + writeIterable({ + body, + client, + request: request3, + contentLength, + expectsPayload, + header: "", + h2stream: stream4, + socket: client[kSocket] + }); + } else { + assert(false); + } + } + } + function writeStream({ h2stream, body, client, request: request3, socket, contentLength, header, expectsPayload }) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + if (client[kHTTPConnVersion] === "h2") { + let onPipeData = function(chunk) { + request3.onBodySent(chunk); + }; + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util3.destroy(body, err); + util3.destroy(h2stream, err); + } else { + request3.onRequestSent(); + } + } + ); + pipe.on("data", onPipeData); + pipe.once("end", () => { + pipe.removeListener("data", onPipeData); + util3.destroy(pipe); + }); + return; + } + let finished = false; + const writer = new AsyncWriter({ socket, request: request3, contentLength, client, expectsPayload, header }); + const onData = function(chunk) { + if (finished) { + return; + } + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); + } + } catch (err) { + util3.destroy(this, err); + } + }; + const onDrain = function() { + if (finished) { + return; + } + if (body.resume) { + body.resume(); + } + }; + const onAbort = function() { + if (finished) { + return; + } + const err = new RequestAbortedError(); + queueMicrotask(() => onFinished(err)); + }; + const onFinished = function(err) { + if (finished) { + return; + } + finished = true; + assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); + socket.off("drain", onDrain).off("error", onFinished); + body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); + if (!err) { + try { + writer.end(); + } catch (er2) { + err = er2; + } + } + writer.destroy(err); + if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + util3.destroy(body, err); + } else { + util3.destroy(body); + } + }; + body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); + if (body.resume) { + body.resume(); + } + socket.on("drain", onDrain).on("error", onFinished); + } + async function writeBlob({ h2stream, body, client, request: request3, socket, contentLength, header, expectsPayload }) { + assert(contentLength === body.size, "blob body must have content length"); + const isH2 = client[kHTTPConnVersion] === "h2"; + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + if (isH2) { + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + } else { + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(buffer); + socket.uncork(); + } + request3.onBodySent(buffer); + request3.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + resume(client); + } catch (err) { + util3.destroy(isH2 ? h2stream : socket, err); + } + } + async function writeIterable({ h2stream, body, client, request: request3, socket, contentLength, header, expectsPayload }) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); + } + } + const waitForDrain = () => new Promise((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + if (client[kHTTPConnVersion] === "h2") { + h2stream.on("close", onDrain).on("drain", onDrain); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + const res = h2stream.write(chunk); + request3.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + } catch (err) { + h2stream.destroy(err); + } finally { + request3.onRequestSent(); + h2stream.end(); + h2stream.off("close", onDrain).off("drain", onDrain); + } + return; + } + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ socket, request: request3, contentLength, client, expectsPayload, header }); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + if (!writer.write(chunk)) { + await waitForDrain(); + } + } + writer.end(); + } catch (err) { + writer.destroy(err); + } finally { + socket.off("close", onDrain).off("drain", onDrain); + } + } + var AsyncWriter = class { + constructor({ socket, request: request3, contentLength, client, expectsPayload, header }) { + this.socket = socket; + this.request = request3; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + socket[kWriting] = true; + } + write(chunk) { + const { socket, request: request3, contentLength, client, bytesWritten, expectsPayload, header } = this; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return false; + } + const len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + socket.cork(); + if (bytesWritten === 0) { + if (!expectsPayload) { + socket[kReset] = true; + } + if (contentLength === null) { + socket.write(`${header}transfer-encoding: chunked\r +`, "latin1"); + } else { + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + } + } + if (contentLength === null) { + socket.write(`\r +${len.toString(16)}\r +`, "latin1"); + } + this.bytesWritten += len; + const ret = socket.write(chunk); + socket.uncork(); + request3.onBodySent(chunk); + if (!ret) { + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + } + return ret; + } + end() { + const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request3 } = this; + request3.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return; + } + if (bytesWritten === 0) { + if (expectsPayload) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + socket.write(`${header}\r +`, "latin1"); + } + } else if (contentLength === null) { + socket.write("\r\n0\r\n\r\n", "latin1"); + } + if (contentLength !== null && bytesWritten !== contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } else { + process.emitWarning(new RequestContentLengthMismatchError()); + } + } + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + resume(client); + } + destroy(err) { + const { socket, client } = this; + socket[kWriting] = false; + if (err) { + assert(client[kRunning] <= 1, "pipeline should only contain this request"); + util3.destroy(socket, err); + } + } + }; + function errorRequest(client, request3, err) { + try { + request3.onError(err); + assert(request3.aborted); + } catch (err2) { + client.emit("error", err2); + } + } + module2.exports = Client; + } +}); + +// node_modules/undici/lib/node/fixed-queue.js +var require_fixed_queue = __commonJS({ + "node_modules/undici/lib/node/fixed-queue.js"(exports, module2) { + "use strict"; + var kSize = 2048; + var kMask = kSize - 1; + var FixedCircularBuffer = class { + constructor() { + this.bottom = 0; + this.top = 0; + this.list = new Array(kSize); + this.next = null; + } + isEmpty() { + return this.top === this.bottom; + } + isFull() { + return (this.top + 1 & kMask) === this.bottom; + } + push(data) { + this.list[this.top] = data; + this.top = this.top + 1 & kMask; + } + shift() { + const nextItem = this.list[this.bottom]; + if (nextItem === void 0) + return null; + this.list[this.bottom] = void 0; + this.bottom = this.bottom + 1 & kMask; + return nextItem; + } + }; + module2.exports = class FixedQueue { + constructor() { + this.head = this.tail = new FixedCircularBuffer(); + } + isEmpty() { + return this.head.isEmpty(); + } + push(data) { + if (this.head.isFull()) { + this.head = this.head.next = new FixedCircularBuffer(); + } + this.head.push(data); + } + shift() { + const tail = this.tail; + const next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + this.tail = tail.next; + } + return next; + } + }; + } +}); + +// node_modules/undici/lib/pool-stats.js +var require_pool_stats = __commonJS({ + "node_modules/undici/lib/pool-stats.js"(exports, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); + var kPool = Symbol("pool"); + var PoolStats = class { + constructor(pool) { + this[kPool] = pool; + } + get connected() { + return this[kPool][kConnected]; + } + get free() { + return this[kPool][kFree]; + } + get pending() { + return this[kPool][kPending]; + } + get queued() { + return this[kPool][kQueued]; + } + get running() { + return this[kPool][kRunning]; + } + get size() { + return this[kPool][kSize]; + } + }; + module2.exports = PoolStats; + } +}); + +// node_modules/undici/lib/pool-base.js +var require_pool_base = __commonJS({ + "node_modules/undici/lib/pool-base.js"(exports, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base(); + var FixedQueue = require_fixed_queue(); + var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); + var PoolStats = require_pool_stats(); + var kClients = Symbol("clients"); + var kNeedDrain = Symbol("needDrain"); + var kQueue = Symbol("queue"); + var kClosedResolve = Symbol("closed resolve"); + var kOnDrain = Symbol("onDrain"); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kGetDispatcher = Symbol("get dispatcher"); + var kAddClient = Symbol("add client"); + var kRemoveClient = Symbol("remove client"); + var kStats = Symbol("stats"); + var PoolBase = class extends DispatcherBase { + constructor() { + super(); + this[kQueue] = new FixedQueue(); + this[kClients] = []; + this[kQueued] = 0; + const pool = this; + this[kOnDrain] = function onDrain(origin, targets) { + const queue = pool[kQueue]; + let needDrain = false; + while (!needDrain) { + const item = queue.shift(); + if (!item) { + break; + } + pool[kQueued]--; + needDrain = !this.dispatch(item.opts, item.handler); + } + this[kNeedDrain] = needDrain; + if (!this[kNeedDrain] && pool[kNeedDrain]) { + pool[kNeedDrain] = false; + pool.emit("drain", origin, [pool, ...targets]); + } + if (pool[kClosedResolve] && queue.isEmpty()) { + Promise.all(pool[kClients].map((c2) => c2.close())).then(pool[kClosedResolve]); + } + }; + this[kOnConnect] = (origin, targets) => { + pool.emit("connect", origin, [pool, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + pool.emit("disconnect", origin, [pool, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + pool.emit("connectionError", origin, [pool, ...targets], err); + }; + this[kStats] = new PoolStats(this); + } + get [kBusy]() { + return this[kNeedDrain]; + } + get [kConnected]() { + return this[kClients].filter((client) => client[kConnected]).length; + } + get [kFree]() { + return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + } + get [kPending]() { + let ret = this[kQueued]; + for (const { [kPending]: pending } of this[kClients]) { + ret += pending; + } + return ret; + } + get [kRunning]() { + let ret = 0; + for (const { [kRunning]: running } of this[kClients]) { + ret += running; + } + return ret; + } + get [kSize]() { + let ret = this[kQueued]; + for (const { [kSize]: size } of this[kClients]) { + ret += size; + } + return ret; + } + get stats() { + return this[kStats]; + } + async [kClose]() { + if (this[kQueue].isEmpty()) { + return Promise.all(this[kClients].map((c2) => c2.close())); + } else { + return new Promise((resolve) => { + this[kClosedResolve] = resolve; + }); + } + } + async [kDestroy](err) { + while (true) { + const item = this[kQueue].shift(); + if (!item) { + break; + } + item.handler.onError(err); + } + return Promise.all(this[kClients].map((c2) => c2.destroy(err))); + } + [kDispatch](opts, handler) { + const dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ opts, handler }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler)) { + dispatcher[kNeedDrain] = true; + this[kNeedDrain] = !this[kGetDispatcher](); + } + return !this[kNeedDrain]; + } + [kAddClient](client) { + client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + this[kClients].push(client); + if (this[kNeedDrain]) { + process.nextTick(() => { + if (this[kNeedDrain]) { + this[kOnDrain](client[kUrl], [this, client]); + } + }); + } + return this; + } + [kRemoveClient](client) { + client.close(() => { + const idx = this[kClients].indexOf(client); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } + }); + this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); + } + }; + module2.exports = { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + }; + } +}); + +// node_modules/undici/lib/pool.js +var require_pool = __commonJS({ + "node_modules/undici/lib/pool.js"(exports, module2) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher + } = require_pool_base(); + var Client = require_client(); + var { + InvalidArgumentError + } = require_errors(); + var util3 = require_util(); + var { kUrl, kInterceptors } = require_symbols(); + var buildConnector = require_connect(); + var kOptions = Symbol("options"); + var kConnections = Symbol("connections"); + var kFactory = Symbol("factory"); + function defaultFactory(origin, opts) { + return new Client(origin, opts); + } + var Pool = class extends PoolBase { + constructor(origin, { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + maxCachedSessions, + socketPath, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + ...options + } = {}) { + super(); + if (connections != null && (!Number.isFinite(connections) || connections < 0)) { + throw new InvalidArgumentError("invalid connections"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + if (connect != null && typeof connect !== "function" && typeof connect !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (typeof connect !== "function") { + connect = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...util3.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect + }); + } + this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + this[kConnections] = connections || null; + this[kUrl] = util3.parseOrigin(origin); + this[kOptions] = { ...util3.deepClone(options), connect, allowH2 }; + this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; + this[kFactory] = factory; + } + [kGetDispatcher]() { + let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); + if (dispatcher) { + return dispatcher; + } + if (!this[kConnections] || this[kClients].length < this[kConnections]) { + dispatcher = this[kFactory](this[kUrl], this[kOptions]); + this[kAddClient](dispatcher); + } + return dispatcher; + } + }; + module2.exports = Pool; + } +}); + +// node_modules/undici/lib/balanced-pool.js +var require_balanced_pool = __commonJS({ + "node_modules/undici/lib/balanced-pool.js"(exports, module2) { + "use strict"; + var { + BalancedPoolMissingUpstreamError, + InvalidArgumentError + } = require_errors(); + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + } = require_pool_base(); + var Pool = require_pool(); + var { kUrl, kInterceptors } = require_symbols(); + var { parseOrigin } = require_util(); + var kFactory = Symbol("factory"); + var kOptions = Symbol("options"); + var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); + var kCurrentWeight = Symbol("kCurrentWeight"); + var kIndex = Symbol("kIndex"); + var kWeight = Symbol("kWeight"); + var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); + var kErrorPenalty = Symbol("kErrorPenalty"); + function getGreatestCommonDivisor(a3, b3) { + if (b3 === 0) + return a3; + return getGreatestCommonDivisor(b3, a3 % b3); + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } + var BalancedPool = class extends PoolBase { + constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { + super(); + this[kOptions] = opts; + this[kIndex] = -1; + this[kCurrentWeight] = 0; + this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; + this[kErrorPenalty] = this[kOptions].errorPenalty || 15; + if (!Array.isArray(upstreams)) { + upstreams = [upstreams]; + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kFactory] = factory; + for (const upstream of upstreams) { + this.addUpstream(upstream); + } + this._updateBalancedPoolStats(); + } + addUpstream(upstream) { + const upstreamOrigin = parseOrigin(upstream).origin; + if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { + return this; + } + const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); + this[kAddClient](pool); + pool.on("connect", () => { + pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); + }); + pool.on("connectionError", () => { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); + this._updateBalancedPoolStats(); + }); + pool.on("disconnect", (...args) => { + const err = args[2]; + if (err && err.code === "UND_ERR_SOCKET") { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); + this._updateBalancedPoolStats(); + } + }); + for (const client of this[kClients]) { + client[kWeight] = this[kMaxWeightPerServer]; + } + this._updateBalancedPoolStats(); + return this; + } + _updateBalancedPoolStats() { + this[kGreatestCommonDivisor] = this[kClients].map((p3) => p3[kWeight]).reduce(getGreatestCommonDivisor, 0); + } + removeUpstream(upstream) { + const upstreamOrigin = parseOrigin(upstream).origin; + const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); + if (pool) { + this[kRemoveClient](pool); + } + return this; + } + get upstreams() { + return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p3) => p3[kUrl].origin); + } + [kGetDispatcher]() { + if (this[kClients].length === 0) { + throw new BalancedPoolMissingUpstreamError(); + } + const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); + if (!dispatcher) { + return; + } + const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a3, b3) => a3 && b3, true); + if (allClientsBusy) { + return; + } + let counter = 0; + let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); + while (counter++ < this[kClients].length) { + this[kIndex] = (this[kIndex] + 1) % this[kClients].length; + const pool = this[kClients][this[kIndex]]; + if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { + maxWeightIndex = this[kIndex]; + } + if (this[kIndex] === 0) { + this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + if (this[kCurrentWeight] <= 0) { + this[kCurrentWeight] = this[kMaxWeightPerServer]; + } + } + if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { + return pool; + } + } + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; + this[kIndex] = maxWeightIndex; + return this[kClients][maxWeightIndex]; + } + }; + module2.exports = BalancedPool; + } +}); + +// node_modules/undici/lib/compat/dispatcher-weakref.js +var require_dispatcher_weakref = __commonJS({ + "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols(); + var CompatWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + } + }; + var CompatFinalizer = class { + constructor(finalizer) { + this.finalizer = finalizer; + } + register(dispatcher, key) { + if (dispatcher.on) { + dispatcher.on("disconnect", () => { + if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { + this.finalizer(key); + } + }); + } + } + }; + module2.exports = function() { + if (process.env.NODE_V8_COVERAGE) { + return { + WeakRef: CompatWeakRef, + FinalizationRegistry: CompatFinalizer + }; + } + return { + WeakRef: global.WeakRef || CompatWeakRef, + FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer + }; + }; + } +}); + +// node_modules/undici/lib/agent.js +var require_agent = __commonJS({ + "node_modules/undici/lib/agent.js"(exports, module2) { + "use strict"; + var { InvalidArgumentError } = require_errors(); + var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); + var DispatcherBase = require_dispatcher_base(); + var Pool = require_pool(); + var Client = require_client(); + var util3 = require_util(); + var createRedirectInterceptor = require_redirectInterceptor(); + var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kMaxRedirections = Symbol("maxRedirections"); + var kOnDrain = Symbol("onDrain"); + var kFactory = Symbol("factory"); + var kFinalizer = Symbol("finalizer"); + var kOptions = Symbol("options"); + function defaultFactory(origin, opts) { + return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); + } + var Agent3 = class extends DispatcherBase { + constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { + super(); + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + if (connect != null && typeof connect !== "function" && typeof connect !== "object") { + throw new InvalidArgumentError("connect must be a function or an object"); + } + if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + if (connect && typeof connect !== "function") { + connect = { ...connect }; + } + this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; + this[kOptions] = { ...util3.deepClone(options), connect }; + this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; + this[kMaxRedirections] = maxRedirections; + this[kFactory] = factory; + this[kClients] = /* @__PURE__ */ new Map(); + this[kFinalizer] = new FinalizationRegistry2((key) => { + const ref = this[kClients].get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this[kClients].delete(key); + } + }); + const agent = this; + this[kOnDrain] = (origin, targets) => { + agent.emit("drain", origin, [agent, ...targets]); + }; + this[kOnConnect] = (origin, targets) => { + agent.emit("connect", origin, [agent, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + agent.emit("disconnect", origin, [agent, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + agent.emit("connectionError", origin, [agent, ...targets], err); + }; + } + get [kRunning]() { + let ret = 0; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + ret += client[kRunning]; + } + } + return ret; + } + [kDispatch](opts, handler) { + let key; + if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { + key = String(opts.origin); + } else { + throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); + } + const ref = this[kClients].get(key); + let dispatcher = ref ? ref.deref() : null; + if (!dispatcher) { + dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + this[kClients].set(key, new WeakRef2(dispatcher)); + this[kFinalizer].register(dispatcher, key); + } + return dispatcher.dispatch(opts, handler); + } + async [kClose]() { + const closePromises = []; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + closePromises.push(client.close()); + } + } + await Promise.all(closePromises); + } + async [kDestroy](err) { + const destroyPromises = []; + for (const ref of this[kClients].values()) { + const client = ref.deref(); + if (client) { + destroyPromises.push(client.destroy(err)); + } + } + await Promise.all(destroyPromises); + } + }; + module2.exports = Agent3; + } +}); + +// node_modules/undici/lib/api/readable.js +var require_readable = __commonJS({ + "node_modules/undici/lib/api/readable.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { Readable: Readable4 } = require("stream"); + var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); + var util3 = require_util(); + var { ReadableStreamFrom, toUSVString } = require_util(); + var Blob4; + var kConsume = Symbol("kConsume"); + var kReading = Symbol("kReading"); + var kBody = Symbol("kBody"); + var kAbort = Symbol("abort"); + var kContentType = Symbol("kContentType"); + var noop2 = () => { + }; + module2.exports = class BodyReadable extends Readable4 { + constructor({ + resume, + abort, + contentType = "", + highWaterMark = 64 * 1024 + }) { + super({ + autoDestroy: true, + read: resume, + highWaterMark + }); + this._readableState.dataEmitted = false; + this[kAbort] = abort; + this[kConsume] = null; + this[kBody] = null; + this[kContentType] = contentType; + this[kReading] = false; + } + destroy(err) { + if (this.destroyed) { + return this; + } + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (err) { + this[kAbort](); + } + return super.destroy(err); + } + emit(ev, ...args) { + if (ev === "data") { + this._readableState.dataEmitted = true; + } else if (ev === "error") { + this._readableState.errorEmitted = true; + } + return super.emit(ev, ...args); + } + on(ev, ...args) { + if (ev === "data" || ev === "readable") { + this[kReading] = true; + } + return super.on(ev, ...args); + } + addListener(ev, ...args) { + return this.on(ev, ...args); + } + off(ev, ...args) { + const ret = super.off(ev, ...args); + if (ev === "data" || ev === "readable") { + this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + } + return ret; + } + removeListener(ev, ...args) { + return this.off(ev, ...args); + } + push(chunk) { + if (this[kConsume] && chunk !== null && this.readableLength === 0) { + consumePush(this[kConsume], chunk); + return this[kReading] ? super.push(chunk) : true; + } + return super.push(chunk); + } + async text() { + return consume(this, "text"); + } + async json() { + return consume(this, "json"); + } + async blob() { + return consume(this, "blob"); + } + async arrayBuffer() { + return consume(this, "arrayBuffer"); + } + async formData() { + throw new NotSupportedError(); + } + get bodyUsed() { + return util3.isDisturbed(this); + } + get body() { + if (!this[kBody]) { + this[kBody] = ReadableStreamFrom(this); + if (this[kConsume]) { + this[kBody].getReader(); + assert(this[kBody].locked); + } + } + return this[kBody]; + } + dump(opts) { + let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; + const signal = opts && opts.signal; + if (signal) { + try { + if (typeof signal !== "object" || !("aborted" in signal)) { + throw new InvalidArgumentError("signal must be an AbortSignal"); + } + util3.throwIfAborted(signal); + } catch (err) { + return Promise.reject(err); + } + } + if (this.closed) { + return Promise.resolve(null); + } + return new Promise((resolve, reject) => { + const signalListenerCleanup = signal ? util3.addAbortListener(signal, () => { + this.destroy(); + }) : noop2; + this.on("close", function() { + signalListenerCleanup(); + if (signal && signal.aborted) { + reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); + } else { + resolve(null); + } + }).on("error", noop2).on("data", function(chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }).resume(); + }); + } + }; + function isLocked(self2) { + return self2[kBody] && self2[kBody].locked === true || self2[kConsume]; + } + function isUnusable(self2) { + return util3.isDisturbed(self2) || isLocked(self2); + } + async function consume(stream4, type2) { + if (isUnusable(stream4)) { + throw new TypeError("unusable"); + } + assert(!stream4[kConsume]); + return new Promise((resolve, reject) => { + stream4[kConsume] = { + type: type2, + stream: stream4, + resolve, + reject, + length: 0, + body: [] + }; + stream4.on("error", function(err) { + consumeFinish(this[kConsume], err); + }).on("close", function() { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()); + } + }); + process.nextTick(consumeStart, stream4[kConsume]); + }); + } + function consumeStart(consume2) { + if (consume2.body === null) { + return; + } + const { _readableState: state2 } = consume2.stream; + for (const chunk of state2.buffer) { + consumePush(consume2, chunk); + } + if (state2.endEmitted) { + consumeEnd(this[kConsume]); + } else { + consume2.stream.on("end", function() { + consumeEnd(this[kConsume]); + }); + } + consume2.stream.resume(); + while (consume2.stream.read() != null) { + } + } + function consumeEnd(consume2) { + const { type: type2, body, resolve, stream: stream4, length } = consume2; + try { + if (type2 === "text") { + resolve(toUSVString(Buffer.concat(body))); + } else if (type2 === "json") { + resolve(JSON.parse(Buffer.concat(body))); + } else if (type2 === "arrayBuffer") { + const dst = new Uint8Array(length); + let pos = 0; + for (const buf of body) { + dst.set(buf, pos); + pos += buf.byteLength; + } + resolve(dst.buffer); + } else if (type2 === "blob") { + if (!Blob4) { + Blob4 = require("buffer").Blob; + } + resolve(new Blob4(body, { type: stream4[kContentType] })); + } + consumeFinish(consume2); + } catch (err) { + stream4.destroy(err); + } + } + function consumePush(consume2, chunk) { + consume2.length += chunk.length; + consume2.body.push(chunk); + } + function consumeFinish(consume2, err) { + if (consume2.body === null) { + return; + } + if (err) { + consume2.reject(err); + } else { + consume2.resolve(); + } + consume2.type = null; + consume2.stream = null; + consume2.resolve = null; + consume2.reject = null; + consume2.length = 0; + consume2.body = null; + } + } +}); + +// node_modules/undici/lib/api/util.js +var require_util3 = __commonJS({ + "node_modules/undici/lib/api/util.js"(exports, module2) { + var assert = require("assert"); + var { + ResponseStatusCodeError + } = require_errors(); + var { toUSVString } = require_util(); + async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { + assert(body); + let chunks = []; + let limit = 0; + for await (const chunk of body) { + chunks.push(chunk); + limit += chunk.length; + if (limit > 128 * 1024) { + chunks = null; + break; + } + } + if (statusCode === 204 || !contentType || !chunks) { + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + return; + } + try { + if (contentType.startsWith("application/json")) { + const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); + return; + } + if (contentType.startsWith("text/")) { + const payload = toUSVString(Buffer.concat(chunks)); + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); + return; + } + } catch (err) { + } + process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + } + module2.exports = { getResolveErrorBodyCallback }; + } +}); + +// node_modules/undici/lib/api/abort-signal.js +var require_abort_signal = __commonJS({ + "node_modules/undici/lib/api/abort-signal.js"(exports, module2) { + var { addAbortListener } = require_util(); + var { RequestAbortedError } = require_errors(); + var kListener = Symbol("kListener"); + var kSignal = Symbol("kSignal"); + function abort(self2) { + if (self2.abort) { + self2.abort(); + } else { + self2.onError(new RequestAbortedError()); + } + } + function addSignal(self2, signal) { + self2[kSignal] = null; + self2[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self2); + return; + } + self2[kSignal] = signal; + self2[kListener] = () => { + abort(self2); + }; + addAbortListener(self2[kSignal], self2[kListener]); + } + function removeSignal(self2) { + if (!self2[kSignal]) { + return; + } + if ("removeEventListener" in self2[kSignal]) { + self2[kSignal].removeEventListener("abort", self2[kListener]); + } else { + self2[kSignal].removeListener("abort", self2[kListener]); + } + self2[kSignal] = null; + self2[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/undici/lib/api/api-request.js +var require_api_request = __commonJS({ + "node_modules/undici/lib/api/api-request.js"(exports, module2) { + "use strict"; + var Readable4 = require_readable(); + var { + InvalidArgumentError, + RequestAbortedError + } = require_errors(); + var util3 = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var RequestHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { + throw new InvalidArgumentError("invalid highWaterMark"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_REQUEST"); + } catch (err) { + if (util3.isStream(body)) { + util3.destroy(body.on("error", util3.nop), err); + } + throw err; + } + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.callback = callback; + this.res = null; + this.abort = null; + this.body = body; + this.trailers = {}; + this.context = null; + this.onInfo = onInfo || null; + this.throwOnError = throwOnError; + this.highWaterMark = highWaterMark; + if (util3.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this; + const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders["content-type"]; + const body = new Readable4({ resume, abort, contentType, highWaterMark }); + this.callback = null; + this.res = body; + if (callback !== null) { + if (this.throwOnError && statusCode >= 400) { + this.runInAsyncScope( + getResolveErrorBodyCallback, + null, + { callback, body, contentType, statusCode, statusMessage, headers } + ); + } else { + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + trailers: this.trailers, + opaque, + body, + context: context2 + }); + } + } + } + onData(chunk) { + const { res } = this; + return res.push(chunk); + } + onComplete(trailers) { + const { res } = this; + removeSignal(this); + util3.parseHeaders(trailers, this.trailers); + res.push(null); + } + onError(err) { + const { res, callback, body, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (res) { + this.res = null; + queueMicrotask(() => { + util3.destroy(res, err); + }); + } + if (body) { + this.body = null; + util3.destroy(body, err); + } + } + }; + function request3(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + request3.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new RequestHandler(opts, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = request3; + module2.exports.RequestHandler = RequestHandler; + } +}); + +// node_modules/undici/lib/api/api-stream.js +var require_api_stream = __commonJS({ + "node_modules/undici/lib/api/api-stream.js"(exports, module2) { + "use strict"; + var { finished, PassThrough } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util3 = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var StreamHandler = class extends AsyncResource { + constructor(opts, factory, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("invalid factory"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_STREAM"); + } catch (err) { + if (util3.isStream(body)) { + util3.destroy(body.on("error", util3.nop), err); + } + throw err; + } + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.factory = factory; + this.callback = callback; + this.res = null; + this.abort = null; + this.context = null; + this.trailers = null; + this.body = body; + this.onInfo = onInfo || null; + this.throwOnError = throwOnError || false; + if (util3.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { factory, opaque, context: context2, callback, responseHeaders } = this; + const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + this.factory = null; + let res; + if (this.throwOnError && statusCode >= 400) { + const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders["content-type"]; + res = new PassThrough(); + this.callback = null; + this.runInAsyncScope( + getResolveErrorBodyCallback, + null, + { callback, body: res, contentType, statusCode, statusMessage, headers } + ); + } else { + if (factory === null) { + return; + } + res = this.runInAsyncScope(factory, null, { + statusCode, + headers, + opaque, + context: context2 + }); + if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { + throw new InvalidReturnValueError("expected Writable"); + } + finished(res, { readable: false }, (err) => { + const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; + this.res = null; + if (err || !res2.readable) { + util3.destroy(res2, err); + } + this.callback = null; + this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); + if (err) { + abort(); + } + }); + } + res.on("drain", resume); + this.res = res; + const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; + return needDrain !== true; + } + onData(chunk) { + const { res } = this; + return res ? res.write(chunk) : true; + } + onComplete(trailers) { + const { res } = this; + removeSignal(this); + if (!res) { + return; + } + this.trailers = util3.parseHeaders(trailers); + res.end(); + } + onError(err) { + const { res, callback, opaque, body } = this; + removeSignal(this); + this.factory = null; + if (res) { + this.res = null; + util3.destroy(res, err); + } else if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (body) { + this.body = null; + util3.destroy(body, err); + } + } + }; + function stream4(opts, factory, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + stream4.call(this, opts, factory, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new StreamHandler(opts, factory, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = stream4; + } +}); + +// node_modules/undici/lib/api/api-pipeline.js +var require_api_pipeline = __commonJS({ + "node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { + "use strict"; + var { + Readable: Readable4, + Duplex, + PassThrough + } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util3 = require_util(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var kResume = Symbol("resume"); + var PipelineRequest = class extends Readable4 { + constructor() { + super({ autoDestroy: true }); + this[kResume] = null; + } + _read() { + const { [kResume]: resume } = this; + if (resume) { + this[kResume] = null; + resume(); + } + } + _destroy(err, callback) { + this._read(); + callback(err); + } + }; + var PipelineResponse = class extends Readable4 { + constructor(resume) { + super({ autoDestroy: true }); + this[kResume] = resume; + } + _read() { + this[kResume](); + } + _destroy(err, callback) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + callback(err); + } + }; + var PipelineHandler = class extends AsyncResource { + constructor(opts, handler) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof handler !== "function") { + throw new InvalidArgumentError("invalid handler"); + } + const { signal, method, opaque, onInfo, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + if (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_PIPELINE"); + this.opaque = opaque || null; + this.responseHeaders = responseHeaders || null; + this.handler = handler; + this.abort = null; + this.context = null; + this.onInfo = onInfo || null; + this.req = new PipelineRequest().on("error", util3.nop); + this.ret = new Duplex({ + readableObjectMode: opts.objectMode, + autoDestroy: true, + read: () => { + const { body } = this; + if (body && body.resume) { + body.resume(); + } + }, + write: (chunk, encoding, callback) => { + const { req } = this; + if (req.push(chunk, encoding) || req._readableState.destroyed) { + callback(); + } else { + req[kResume] = callback; + } + }, + destroy: (err, callback) => { + const { body, req, res, ret, abort } = this; + if (!err && !ret._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (abort && err) { + abort(); + } + util3.destroy(body, err); + util3.destroy(req, err); + util3.destroy(res, err); + removeSignal(this); + callback(err); + } + }).on("prefinish", () => { + const { req } = this; + req.push(null); + }); + this.res = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + const { ret, res } = this; + assert(!res, "pipeline cannot be retried"); + if (ret.destroyed) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders(statusCode, rawHeaders, resume) { + const { opaque, handler, context: context2 } = this; + if (statusCode < 200) { + if (this.onInfo) { + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + this.onInfo({ statusCode, headers }); + } + return; + } + this.res = new PipelineResponse(resume); + let body; + try { + this.handler = null; + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + body = this.runInAsyncScope(handler, null, { + statusCode, + headers, + opaque, + body: this.res, + context: context2 + }); + } catch (err) { + this.res.on("error", util3.nop); + throw err; + } + if (!body || typeof body.on !== "function") { + throw new InvalidReturnValueError("expected Readable"); + } + body.on("data", (chunk) => { + const { ret, body: body2 } = this; + if (!ret.push(chunk) && body2.pause) { + body2.pause(); + } + }).on("error", (err) => { + const { ret } = this; + util3.destroy(ret, err); + }).on("end", () => { + const { ret } = this; + ret.push(null); + }).on("close", () => { + const { ret } = this; + if (!ret._readableState.ended) { + util3.destroy(ret, new RequestAbortedError()); + } + }); + this.body = body; + } + onData(chunk) { + const { res } = this; + return res.push(chunk); + } + onComplete(trailers) { + const { res } = this; + res.push(null); + } + onError(err) { + const { ret } = this; + this.handler = null; + util3.destroy(ret, err); + } + }; + function pipeline(opts, handler) { + try { + const pipelineHandler = new PipelineHandler(opts, handler); + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); + return pipelineHandler.ret; + } catch (err) { + return new PassThrough().destroy(err); + } + } + module2.exports = pipeline; + } +}); + +// node_modules/undici/lib/api/api-upgrade.js +var require_api_upgrade = __commonJS({ + "node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { + "use strict"; + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var { AsyncResource } = require("async_hooks"); + var util3 = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var UpgradeHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + const { signal, opaque, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_UPGRADE"); + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.callback = callback; + this.abort = null; + this.context = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = null; + } + onHeaders() { + throw new SocketError("bad upgrade", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context: context2 } = this; + assert.strictEqual(statusCode, 101); + removeSignal(this); + this.callback = null; + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + this.runInAsyncScope(callback, null, null, { + headers, + socket, + opaque, + context: context2 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function upgrade(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + upgrade.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + const upgradeHandler = new UpgradeHandler(opts, callback); + this.dispatch({ + ...opts, + method: opts.method || "GET", + upgrade: opts.protocol || "Websocket" + }, upgradeHandler); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = upgrade; + } +}); + +// node_modules/undici/lib/api/api-connect.js +var require_api_connect = __commonJS({ + "node_modules/undici/lib/api/api-connect.js"(exports, module2) { + "use strict"; + var { AsyncResource } = require("async_hooks"); + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var util3 = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var ConnectHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + const { signal, opaque, responseHeaders } = opts; + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { + throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_CONNECT"); + this.opaque = opaque || null; + this.responseHeaders = responseHeaders || null; + this.callback = callback; + this.abort = null; + addSignal(this, signal); + } + onConnect(abort, context2) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context2; + } + onHeaders() { + throw new SocketError("bad connect", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context: context2 } = this; + removeSignal(this); + this.callback = null; + let headers = rawHeaders; + if (headers != null) { + headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + } + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + socket, + opaque, + context: context2 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function connect(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + connect.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + const connectHandler = new ConnectHandler(opts, callback); + this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = connect; + } +}); + +// node_modules/undici/lib/api/index.js +var require_api = __commonJS({ + "node_modules/undici/lib/api/index.js"(exports, module2) { + "use strict"; + module2.exports.request = require_api_request(); + module2.exports.stream = require_api_stream(); + module2.exports.pipeline = require_api_pipeline(); + module2.exports.upgrade = require_api_upgrade(); + module2.exports.connect = require_api_connect(); + } +}); + +// node_modules/undici/lib/mock/mock-errors.js +var require_mock_errors = __commonJS({ + "node_modules/undici/lib/mock/mock-errors.js"(exports, module2) { + "use strict"; + var { UndiciError } = require_errors(); + var MockNotMatchedError = class extends UndiciError { + constructor(message) { + super(message); + Error.captureStackTrace(this, MockNotMatchedError); + this.name = "MockNotMatchedError"; + this.message = message || "The request does not match any registered mock dispatches"; + this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; + } + }; + module2.exports = { + MockNotMatchedError + }; + } +}); + +// node_modules/undici/lib/mock/mock-symbols.js +var require_mock_symbols = __commonJS({ + "node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kAgent: Symbol("agent"), + kOptions: Symbol("options"), + kFactory: Symbol("factory"), + kDispatches: Symbol("dispatches"), + kDispatchKey: Symbol("dispatch key"), + kDefaultHeaders: Symbol("default headers"), + kDefaultTrailers: Symbol("default trailers"), + kContentLength: Symbol("content length"), + kMockAgent: Symbol("mock agent"), + kMockAgentSet: Symbol("mock agent set"), + kMockAgentGet: Symbol("mock agent get"), + kMockDispatch: Symbol("mock dispatch"), + kClose: Symbol("close"), + kOriginalClose: Symbol("original agent close"), + kOrigin: Symbol("origin"), + kIsMockActive: Symbol("is mock active"), + kNetConnect: Symbol("net connect"), + kGetNetConnect: Symbol("get net connect"), + kConnected: Symbol("connected") + }; + } +}); + +// node_modules/undici/lib/mock/mock-utils.js +var require_mock_utils = __commonJS({ + "node_modules/undici/lib/mock/mock-utils.js"(exports, module2) { + "use strict"; + var { MockNotMatchedError } = require_mock_errors(); + var { + kDispatches, + kMockAgent, + kOriginalDispatch, + kOrigin, + kGetNetConnect + } = require_mock_symbols(); + var { buildURL: buildURL2, nop } = require_util(); + var { STATUS_CODES } = require("http"); + var { + types: { + isPromise + } + } = require("util"); + function matchValue(match, value) { + if (typeof match === "string") { + return match === value; + } + if (match instanceof RegExp) { + return match.test(value); + } + if (typeof match === "function") { + return match(value) === true; + } + return false; + } + function lowerCaseEntries(headers) { + return Object.fromEntries( + Object.entries(headers).map(([headerName, headerValue]) => { + return [headerName.toLocaleLowerCase(), headerValue]; + }) + ); + } + function getHeaderByName(headers, key) { + if (Array.isArray(headers)) { + for (let i3 = 0; i3 < headers.length; i3 += 2) { + if (headers[i3].toLocaleLowerCase() === key.toLocaleLowerCase()) { + return headers[i3 + 1]; + } + } + return void 0; + } else if (typeof headers.get === "function") { + return headers.get(key); + } else { + return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; + } + } + function buildHeadersFromArray(headers) { + const clone = headers.slice(); + const entries = []; + for (let index = 0; index < clone.length; index += 2) { + entries.push([clone[index], clone[index + 1]]); + } + return Object.fromEntries(entries); + } + function matchHeaders(mockDispatch2, headers) { + if (typeof mockDispatch2.headers === "function") { + if (Array.isArray(headers)) { + headers = buildHeadersFromArray(headers); + } + return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); + } + if (typeof mockDispatch2.headers === "undefined") { + return true; + } + if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { + return false; + } + for (const [matchHeaderName, matchHeaderValue2] of Object.entries(mockDispatch2.headers)) { + const headerValue = getHeaderByName(headers, matchHeaderName); + if (!matchValue(matchHeaderValue2, headerValue)) { + return false; + } + } + return true; + } + function safeUrl(path2) { + if (typeof path2 !== "string") { + return path2; + } + const pathSegments = path2.split("?"); + if (pathSegments.length !== 2) { + return path2; + } + const qp = new URLSearchParams(pathSegments.pop()); + qp.sort(); + return [...pathSegments, qp.toString()].join("?"); + } + function matchKey(mockDispatch2, { path: path2, method, body, headers }) { + const pathMatch = matchValue(mockDispatch2.path, path2); + const methodMatch = matchValue(mockDispatch2.method, method); + const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; + const headersMatch = matchHeaders(mockDispatch2, headers); + return pathMatch && methodMatch && bodyMatch && headersMatch; + } + function getResponseData(data) { + if (Buffer.isBuffer(data)) { + return data; + } else if (typeof data === "object") { + return JSON.stringify(data); + } else { + return data.toString(); + } + } + function getMockDispatch(mockDispatches, key) { + const basePath3 = key.query ? buildURL2(key.path, key.query) : key.path; + const resolvedPath = typeof basePath3 === "string" ? safeUrl(basePath3) : basePath3; + let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + } + matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + } + return matchedMockDispatches[0]; + } + function addMockDispatch(mockDispatches, key, data) { + const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; + const replyData = typeof data === "function" ? { callback: data } : { ...data }; + const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; + mockDispatches.push(newMockDispatch); + return newMockDispatch; + } + function deleteMockDispatch(mockDispatches, key) { + const index = mockDispatches.findIndex((dispatch) => { + if (!dispatch.consumed) { + return false; + } + return matchKey(dispatch, key); + }); + if (index !== -1) { + mockDispatches.splice(index, 1); + } + } + function buildKey(opts) { + const { path: path2, method, body, headers, query } = opts; + return { + path: path2, + method, + body, + headers, + query + }; + } + function generateKeyValues(data) { + return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ + ...keyValuePairs, + Buffer.from(`${key}`), + Array.isArray(value) ? value.map((x2) => Buffer.from(`${x2}`)) : Buffer.from(`${value}`) + ], []); + } + function getStatusText(statusCode) { + return STATUS_CODES[statusCode] || "unknown"; + } + async function getResponse(body) { + const buffers = []; + for await (const data of body) { + buffers.push(data); + } + return Buffer.concat(buffers).toString("utf8"); + } + function mockDispatch(opts, handler) { + const key = buildKey(opts); + const mockDispatch2 = getMockDispatch(this[kDispatches], key); + mockDispatch2.timesInvoked++; + if (mockDispatch2.data.callback) { + mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; + } + const { data: { statusCode, data, headers, trailers, error }, delay: delay4, persist } = mockDispatch2; + const { timesInvoked, times } = mockDispatch2; + mockDispatch2.consumed = !persist && timesInvoked >= times; + mockDispatch2.pending = timesInvoked < times; + if (error !== null) { + deleteMockDispatch(this[kDispatches], key); + handler.onError(error); + return true; + } + if (typeof delay4 === "number" && delay4 > 0) { + setTimeout(() => { + handleReply(this[kDispatches]); + }, delay4); + } else { + handleReply(this[kDispatches]); + } + function handleReply(mockDispatches, _data = data) { + const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; + const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; + if (isPromise(body)) { + body.then((newData) => handleReply(mockDispatches, newData)); + return; + } + const responseData = getResponseData(body); + const responseHeaders = generateKeyValues(headers); + const responseTrailers = generateKeyValues(trailers); + handler.abort = nop; + handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); + handler.onData(Buffer.from(responseData)); + handler.onComplete(responseTrailers); + deleteMockDispatch(mockDispatches, key); + } + function resume() { + } + return true; + } + function buildMockDispatch() { + const agent = this[kMockAgent]; + const origin = this[kOrigin]; + const originalDispatch = this[kOriginalDispatch]; + return function dispatch(opts, handler) { + if (agent.isMockActive) { + try { + mockDispatch.call(this, opts, handler); + } catch (error) { + if (error instanceof MockNotMatchedError) { + const netConnect = agent[kGetNetConnect](); + if (netConnect === false) { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + } + if (checkNetConnect(netConnect, origin)) { + originalDispatch.call(this, opts, handler); + } else { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + } + } else { + throw error; + } + } + } else { + originalDispatch.call(this, opts, handler); + } + }; + } + function checkNetConnect(netConnect, origin) { + const url2 = new URL(origin); + if (netConnect === true) { + return true; + } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) { + return true; + } + return false; + } + function buildMockOptions(opts) { + if (opts) { + const { agent, ...mockOptions } = opts; + return mockOptions; + } + } + module2.exports = { + getResponseData, + getMockDispatch, + addMockDispatch, + deleteMockDispatch, + buildKey, + generateKeyValues, + matchValue, + getResponse, + getStatusText, + mockDispatch, + buildMockDispatch, + checkNetConnect, + buildMockOptions, + getHeaderByName + }; + } +}); + +// node_modules/undici/lib/mock/mock-interceptor.js +var require_mock_interceptor = __commonJS({ + "node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) { + "use strict"; + var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); + var { + kDispatches, + kDispatchKey, + kDefaultHeaders, + kDefaultTrailers, + kContentLength, + kMockDispatch + } = require_mock_symbols(); + var { InvalidArgumentError } = require_errors(); + var { buildURL: buildURL2 } = require_util(); + var MockScope = class { + constructor(mockDispatch) { + this[kMockDispatch] = mockDispatch; + } + delay(waitInMs) { + if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { + throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); + } + this[kMockDispatch].delay = waitInMs; + return this; + } + persist() { + this[kMockDispatch].persist = true; + return this; + } + times(repeatTimes) { + if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { + throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); + } + this[kMockDispatch].times = repeatTimes; + return this; + } + }; + var MockInterceptor = class { + constructor(opts, mockDispatches) { + if (typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object"); + } + if (typeof opts.path === "undefined") { + throw new InvalidArgumentError("opts.path must be defined"); + } + if (typeof opts.method === "undefined") { + opts.method = "GET"; + } + if (typeof opts.path === "string") { + if (opts.query) { + opts.path = buildURL2(opts.path, opts.query); + } else { + const parsedURL = new URL(opts.path, "data://"); + opts.path = parsedURL.pathname + parsedURL.search; + } + } + if (typeof opts.method === "string") { + opts.method = opts.method.toUpperCase(); + } + this[kDispatchKey] = buildKey(opts); + this[kDispatches] = mockDispatches; + this[kDefaultHeaders] = {}; + this[kDefaultTrailers] = {}; + this[kContentLength] = false; + } + createMockScopeDispatchData(statusCode, data, responseOptions = {}) { + const responseData = getResponseData(data); + const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; + const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; + const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; + return { statusCode, data, headers, trailers }; + } + validateReplyParameters(statusCode, data, responseOptions) { + if (typeof statusCode === "undefined") { + throw new InvalidArgumentError("statusCode must be defined"); + } + if (typeof data === "undefined") { + throw new InvalidArgumentError("data must be defined"); + } + if (typeof responseOptions !== "object") { + throw new InvalidArgumentError("responseOptions must be an object"); + } + } + reply(replyData) { + if (typeof replyData === "function") { + const wrappedDefaultsCallback = (opts) => { + const resolvedData = replyData(opts); + if (typeof resolvedData !== "object") { + throw new InvalidArgumentError("reply options callback must return an object"); + } + const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; + this.validateReplyParameters(statusCode2, data2, responseOptions2); + return { + ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) + }; + }; + const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); + return new MockScope(newMockDispatch2); + } + const [statusCode, data = "", responseOptions = {}] = [...arguments]; + this.validateReplyParameters(statusCode, data, responseOptions); + const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); + const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); + return new MockScope(newMockDispatch); + } + replyWithError(error) { + if (typeof error === "undefined") { + throw new InvalidArgumentError("error must be defined"); + } + const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); + return new MockScope(newMockDispatch); + } + defaultReplyHeaders(headers) { + if (typeof headers === "undefined") { + throw new InvalidArgumentError("headers must be defined"); + } + this[kDefaultHeaders] = headers; + return this; + } + defaultReplyTrailers(trailers) { + if (typeof trailers === "undefined") { + throw new InvalidArgumentError("trailers must be defined"); + } + this[kDefaultTrailers] = trailers; + return this; + } + replyContentLength() { + this[kContentLength] = true; + return this; + } + }; + module2.exports.MockInterceptor = MockInterceptor; + module2.exports.MockScope = MockScope; + } +}); + +// node_modules/undici/lib/mock/mock-client.js +var require_mock_client = __commonJS({ + "node_modules/undici/lib/mock/mock-client.js"(exports, module2) { + "use strict"; + var { promisify } = require("util"); + var Client = require_client(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + var MockClient = class extends Client { + constructor(origin, opts) { + super(origin, opts); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + this[kMockAgent] = opts.agent; + this[kOrigin] = origin; + this[kDispatches] = []; + this[kConnected] = 1; + this[kOriginalDispatch] = this.dispatch; + this[kOriginalClose] = this.close.bind(this); + this.dispatch = buildMockDispatch.call(this); + this.close = this[kClose]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockClient; + } +}); + +// node_modules/undici/lib/mock/mock-pool.js +var require_mock_pool = __commonJS({ + "node_modules/undici/lib/mock/mock-pool.js"(exports, module2) { + "use strict"; + var { promisify } = require("util"); + var Pool = require_pool(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + var MockPool = class extends Pool { + constructor(origin, opts) { + super(origin, opts); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + this[kMockAgent] = opts.agent; + this[kOrigin] = origin; + this[kDispatches] = []; + this[kConnected] = 1; + this[kOriginalDispatch] = this.dispatch; + this[kOriginalClose] = this.close.bind(this); + this.dispatch = buildMockDispatch.call(this); + this.close = this[kClose]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockPool; + } +}); + +// node_modules/undici/lib/mock/pluralizer.js +var require_pluralizer = __commonJS({ + "node_modules/undici/lib/mock/pluralizer.js"(exports, module2) { + "use strict"; + var singulars = { + pronoun: "it", + is: "is", + was: "was", + this: "this" + }; + var plurals = { + pronoun: "they", + is: "are", + was: "were", + this: "these" + }; + module2.exports = class Pluralizer { + constructor(singular, plural) { + this.singular = singular; + this.plural = plural; + } + pluralize(count) { + const one = count === 1; + const keys = one ? singulars : plurals; + const noun = one ? this.singular : this.plural; + return { ...keys, count, noun }; + } + }; + } +}); + +// node_modules/undici/lib/mock/pending-interceptors-formatter.js +var require_pending_interceptors_formatter = __commonJS({ + "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) { + "use strict"; + var { Transform: Transform2 } = require("stream"); + var { Console } = require("console"); + module2.exports = class PendingInterceptorsFormatter { + constructor({ disableColors } = {}) { + this.transform = new Transform2({ + transform(chunk, _enc, cb) { + cb(null, chunk); + } + }); + this.logger = new Console({ + stdout: this.transform, + inspectOptions: { + colors: !disableColors && !process.env.CI + } + }); + } + format(pendingInterceptors) { + const withPrettyHeaders = pendingInterceptors.map( + ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + Method: method, + Origin: origin, + Path: path2, + "Status code": statusCode, + Persistent: persist ? "\u2705" : "\u274C", + Invocations: timesInvoked, + Remaining: persist ? Infinity : times - timesInvoked + }) + ); + this.logger.table(withPrettyHeaders); + return this.transform.read().toString(); + } + }; + } +}); + +// node_modules/undici/lib/mock/mock-agent.js +var require_mock_agent = __commonJS({ + "node_modules/undici/lib/mock/mock-agent.js"(exports, module2) { + "use strict"; + var { kClients } = require_symbols(); + var Agent3 = require_agent(); + var { + kAgent, + kMockAgentSet, + kMockAgentGet, + kDispatches, + kIsMockActive, + kNetConnect, + kGetNetConnect, + kOptions, + kFactory + } = require_mock_symbols(); + var MockClient = require_mock_client(); + var MockPool = require_mock_pool(); + var { matchValue, buildMockOptions } = require_mock_utils(); + var { InvalidArgumentError, UndiciError } = require_errors(); + var Dispatcher = require_dispatcher(); + var Pluralizer = require_pluralizer(); + var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); + var FakeWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value; + } + }; + var MockAgent = class extends Dispatcher { + constructor(opts) { + super(opts); + this[kNetConnect] = true; + this[kIsMockActive] = true; + if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + const agent = opts && opts.agent ? opts.agent : new Agent3(opts); + this[kAgent] = agent; + this[kClients] = agent[kClients]; + this[kOptions] = buildMockOptions(opts); + } + get(origin) { + let dispatcher = this[kMockAgentGet](origin); + if (!dispatcher) { + dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); + } + return dispatcher; + } + dispatch(opts, handler) { + this.get(opts.origin); + return this[kAgent].dispatch(opts, handler); + } + async close() { + await this[kAgent].close(); + this[kClients].clear(); + } + deactivate() { + this[kIsMockActive] = false; + } + activate() { + this[kIsMockActive] = true; + } + enableNetConnect(matcher) { + if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { + if (Array.isArray(this[kNetConnect])) { + this[kNetConnect].push(matcher); + } else { + this[kNetConnect] = [matcher]; + } + } else if (typeof matcher === "undefined") { + this[kNetConnect] = true; + } else { + throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); + } + } + disableNetConnect() { + this[kNetConnect] = false; + } + get isMockActive() { + return this[kIsMockActive]; + } + [kMockAgentSet](origin, dispatcher) { + this[kClients].set(origin, new FakeWeakRef(dispatcher)); + } + [kFactory](origin) { + const mockOptions = Object.assign({ agent: this }, this[kOptions]); + return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); + } + [kMockAgentGet](origin) { + const ref = this[kClients].get(origin); + if (ref) { + return ref.deref(); + } + if (typeof origin !== "string") { + const dispatcher = this[kFactory]("http://localhost:9999"); + this[kMockAgentSet](origin, dispatcher); + return dispatcher; + } + for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { + const nonExplicitDispatcher = nonExplicitRef.deref(); + if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { + const dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); + dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; + return dispatcher; + } + } + } + [kGetNetConnect]() { + return this[kNetConnect]; + } + pendingInterceptors() { + const mockAgentClients = this[kClients]; + return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + } + assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { + const pending = this.pendingInterceptors(); + if (pending.length === 0) { + return; + } + const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); + throw new UndiciError(` +${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: + +${pendingInterceptorsFormatter.format(pending)} +`.trim()); + } + }; + module2.exports = MockAgent; + } +}); + +// node_modules/undici/lib/proxy-agent.js +var require_proxy_agent = __commonJS({ + "node_modules/undici/lib/proxy-agent.js"(exports, module2) { + "use strict"; + var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); + var { URL: URL2 } = require("url"); + var Agent3 = require_agent(); + var Pool = require_pool(); + var DispatcherBase = require_dispatcher_base(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); + var buildConnector = require_connect(); + var kAgent = Symbol("proxy agent"); + var kClient = Symbol("proxy client"); + var kProxyHeaders = Symbol("proxy headers"); + var kRequestTls = Symbol("request tls settings"); + var kProxyTls = Symbol("proxy tls settings"); + var kConnectEndpoint = Symbol("connect endpoint function"); + function defaultProtocolPort(protocol) { + return protocol === "https:" ? 443 : 80; + } + function buildProxyOptions(opts) { + if (typeof opts === "string") { + opts = { uri: opts }; + } + if (!opts || !opts.uri) { + throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + } + return { + uri: opts.uri, + protocol: opts.protocol || "https" + }; + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } + var ProxyAgent = class extends DispatcherBase { + constructor(opts) { + super(opts); + this[kProxy] = buildProxyOptions(opts); + this[kAgent] = new Agent3(opts); + this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; + if (typeof opts === "string") { + opts = { uri: opts }; + } + if (!opts || !opts.uri) { + throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + } + const { clientFactory = defaultFactory } = opts; + if (typeof clientFactory !== "function") { + throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + } + this[kRequestTls] = opts.requestTls; + this[kProxyTls] = opts.proxyTls; + this[kProxyHeaders] = opts.headers || {}; + const resolvedUrl = new URL2(opts.uri); + const { origin, port, host, username, password } = resolvedUrl; + if (opts.auth && opts.token) { + throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); + } else if (opts.auth) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; + } else if (opts.token) { + this[kProxyHeaders]["proxy-authorization"] = opts.token; + } else if (username && password) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; + } + const connect = buildConnector({ ...opts.proxyTls }); + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); + this[kClient] = clientFactory(resolvedUrl, { connect }); + this[kAgent] = new Agent3({ + ...opts, + connect: async (opts2, callback) => { + let requestedHost = opts2.host; + if (!opts2.port) { + requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; + } + try { + const { socket, statusCode } = await this[kClient].connect({ + origin, + port, + path: requestedHost, + signal: opts2.signal, + headers: { + ...this[kProxyHeaders], + host + } + }); + if (statusCode !== 200) { + socket.on("error", () => { + }).destroy(); + callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); + } + if (opts2.protocol !== "https:") { + callback(null, socket); + return; + } + let servername; + if (this[kRequestTls]) { + servername = this[kRequestTls].servername; + } else { + servername = opts2.servername; + } + this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + } catch (err) { + callback(err); + } + } + }); + } + dispatch(opts, handler) { + const { host } = new URL2(opts.origin); + const headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + return this[kAgent].dispatch( + { + ...opts, + headers: { + ...headers, + host + } + }, + handler + ); + } + async [kClose]() { + await this[kAgent].close(); + await this[kClient].close(); + } + async [kDestroy]() { + await this[kAgent].destroy(); + await this[kClient].destroy(); + } + }; + function buildHeaders(headers) { + if (Array.isArray(headers)) { + const headersPair = {}; + for (let i3 = 0; i3 < headers.length; i3 += 2) { + headersPair[headers[i3]] = headers[i3 + 1]; + } + return headersPair; + } + return headers; + } + function throwIfProxyAuthIsSent(headers) { + const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); + if (existProxyAuth) { + throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + } + } + module2.exports = ProxyAgent; + } +}); + +// node_modules/undici/lib/handler/RetryHandler.js +var require_RetryHandler = __commonJS({ + "node_modules/undici/lib/handler/RetryHandler.js"(exports, module2) { + var assert = require("assert"); + var { kRetryHandlerDefaultRetry } = require_symbols(); + var { RequestRetryError } = require_errors(); + var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); + function calculateRetryAfterHeader(retryAfter) { + const current = Date.now(); + const diff = new Date(retryAfter).getTime() - current; + return diff; + } + var RetryHandler = class { + constructor(opts, handlers) { + const { retryOptions, ...dispatchOpts } = opts; + const { + retry: retryFn, + maxRetries, + maxTimeout, + minTimeout, + timeoutFactor, + methods, + errorCodes, + retryAfter, + statusCodes + } = retryOptions ?? {}; + this.dispatch = handlers.dispatch; + this.handler = handlers.handler; + this.opts = dispatchOpts; + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry], + retryAfter: retryAfter ?? true, + maxTimeout: maxTimeout ?? 30 * 1e3, + timeout: minTimeout ?? 500, + timeoutFactor: timeoutFactor ?? 2, + maxRetries: maxRetries ?? 5, + methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + statusCodes: statusCodes ?? [500, 502, 503, 504, 429], + errorCodes: errorCodes ?? [ + "ECONNRESET", + "ECONNREFUSED", + "ENOTFOUND", + "ENETDOWN", + "ENETUNREACH", + "EHOSTDOWN", + "EHOSTUNREACH", + "EPIPE" + ] + }; + this.retryCount = 0; + this.start = 0; + this.end = null; + this.etag = null; + this.resume = null; + this.handler.onConnect((reason) => { + this.aborted = true; + if (this.abort) { + this.abort(reason); + } else { + this.reason = reason; + } + }); + } + onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); + } + } + onUpgrade(statusCode, headers, socket) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(statusCode, headers, socket); + } + } + onConnect(abort) { + if (this.aborted) { + abort(this.reason); + } else { + this.abort = abort; + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) + return this.handler.onBodySent(chunk); + } + static [kRetryHandlerDefaultRetry](err, { state: state2, opts }, cb) { + const { statusCode, code, headers } = err; + const { method, retryOptions } = opts; + const { + maxRetries, + timeout, + maxTimeout, + timeoutFactor, + statusCodes, + errorCodes, + methods + } = retryOptions; + let { counter, currentTimeout } = state2; + currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; + if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { + cb(err); + return; + } + if (Array.isArray(methods) && !methods.includes(method)) { + cb(err); + return; + } + if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { + cb(err); + return; + } + if (counter > maxRetries) { + cb(err); + return; + } + let retryAfterHeader = headers != null && headers["retry-after"]; + if (retryAfterHeader) { + retryAfterHeader = Number(retryAfterHeader); + retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + } + const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); + state2.currentTimeout = retryTimeout; + setTimeout(() => cb(null), retryTimeout); + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = parseHeaders(rawHeaders); + this.retryCount += 1; + if (statusCode >= 300) { + this.abort( + new RequestRetryError("Request failed", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + if (this.resume != null) { + this.resume = null; + if (statusCode !== 206) { + return true; + } + const contentRange = parseRangeHeader(headers["content-range"]); + if (!contentRange) { + this.abort( + new RequestRetryError("Content-Range mismatch", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + if (this.etag != null && this.etag !== headers.etag) { + this.abort( + new RequestRetryError("ETag mismatch", statusCode, { + headers, + count: this.retryCount + }) + ); + return false; + } + const { start, size, end = size } = contentRange; + assert(this.start === start, "content-range mismatch"); + assert(this.end == null || this.end === end, "content-range mismatch"); + this.resume = resume; + return true; + } + if (this.end == null) { + if (statusCode === 206) { + const range = parseRangeHeader(headers["content-range"]); + if (range == null) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const { start, size, end = size } = range; + assert( + start != null && Number.isFinite(start) && this.start !== start, + "content-range mismatch" + ); + assert(Number.isFinite(start)); + assert( + end != null && Number.isFinite(end) && this.end !== end, + "invalid content-length" + ); + this.start = start; + this.end = end; + } + if (this.end == null) { + const contentLength = headers["content-length"]; + this.end = contentLength != null ? Number(contentLength) : null; + } + assert(Number.isFinite(this.start)); + assert( + this.end == null || Number.isFinite(this.end), + "invalid content-length" + ); + this.resume = resume; + this.etag = headers.etag != null ? headers.etag : null; + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const err = new RequestRetryError("Request failed", statusCode, { + headers, + count: this.retryCount + }); + this.abort(err); + return false; + } + onData(chunk) { + this.start += chunk.length; + return this.handler.onData(chunk); + } + onComplete(rawTrailers) { + this.retryCount = 0; + return this.handler.onComplete(rawTrailers); + } + onError(err) { + if (this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } + this.retryOpts.retry( + err, + { + state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, + opts: { retryOptions: this.retryOpts, ...this.opts } + }, + onRetry.bind(this) + ); + function onRetry(err2) { + if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err2); + } + if (this.start !== 0) { + this.opts = { + ...this.opts, + headers: { + ...this.opts.headers, + range: `bytes=${this.start}-${this.end ?? ""}` + } + }; + } + try { + this.dispatch(this.opts, this); + } catch (err3) { + this.handler.onError(err3); + } + } + } + }; + module2.exports = RetryHandler; + } +}); + +// node_modules/undici/lib/global.js +var require_global2 = __commonJS({ + "node_modules/undici/lib/global.js"(exports, module2) { + "use strict"; + var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); + var { InvalidArgumentError } = require_errors(); + var Agent3 = require_agent(); + if (getGlobalDispatcher() === void 0) { + setGlobalDispatcher(new Agent3()); + } + function setGlobalDispatcher(agent) { + if (!agent || typeof agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument agent must implement Agent"); + } + Object.defineProperty(globalThis, globalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); + } + function getGlobalDispatcher() { + return globalThis[globalDispatcher]; + } + module2.exports = { + setGlobalDispatcher, + getGlobalDispatcher + }; + } +}); + +// node_modules/undici/lib/handler/DecoratorHandler.js +var require_DecoratorHandler = __commonJS({ + "node_modules/undici/lib/handler/DecoratorHandler.js"(exports, module2) { + "use strict"; + module2.exports = class DecoratorHandler { + constructor(handler) { + this.handler = handler; + } + onConnect(...args) { + return this.handler.onConnect(...args); + } + onError(...args) { + return this.handler.onError(...args); + } + onUpgrade(...args) { + return this.handler.onUpgrade(...args); + } + onHeaders(...args) { + return this.handler.onHeaders(...args); + } + onData(...args) { + return this.handler.onData(...args); + } + onComplete(...args) { + return this.handler.onComplete(...args); + } + onBodySent(...args) { + return this.handler.onBodySent(...args); + } + }; + } +}); + +// node_modules/undici/lib/fetch/headers.js +var require_headers = __commonJS({ + "node_modules/undici/lib/fetch/headers.js"(exports, module2) { + "use strict"; + var { kHeadersList, kConstruct } = require_symbols(); + var { kGuard } = require_symbols2(); + var { kEnumerableProperty } = require_util(); + var { + makeIterator, + isValidHeaderName: isValidHeaderName2, + isValidHeaderValue + } = require_util2(); + var { webidl } = require_webidl(); + var assert = require("assert"); + var kHeadersMap = Symbol("headers map"); + var kHeadersSortedMap = Symbol("headers map sorted"); + function isHTTPWhiteSpaceCharCode(code) { + return code === 10 || code === 13 || code === 9 || code === 32; + } + function headerValueNormalize(potentialValue) { + let i3 = 0; + let j4 = potentialValue.length; + while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j4 - 1))) + --j4; + while (j4 > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i3))) + ++i3; + return i3 === 0 && j4 === potentialValue.length ? potentialValue : potentialValue.substring(i3, j4); + } + function fill(headers, object) { + if (Array.isArray(object)) { + for (let i3 = 0; i3 < object.length; ++i3) { + const header = object[i3]; + if (header.length !== 2) { + throw webidl.errors.exception({ + header: "Headers constructor", + message: `expected name/value pair to be length 2, found ${header.length}.` + }); + } + appendHeader(headers, header[0], header[1]); + } + } else if (typeof object === "object" && object !== null) { + const keys = Object.keys(object); + for (let i3 = 0; i3 < keys.length; ++i3) { + appendHeader(headers, keys[i3], object[keys[i3]]); + } + } else { + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] + }); + } + } + function appendHeader(headers, name, value) { + value = headerValueNormalize(value); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value, + type: "header value" + }); + } + if (headers[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (headers[kGuard] === "request-no-cors") { + } + return headers[kHeadersList].append(name, value); + } + var HeadersList = class { + cookies = null; + constructor(init) { + if (init instanceof HeadersList) { + this[kHeadersMap] = new Map(init[kHeadersMap]); + this[kHeadersSortedMap] = init[kHeadersSortedMap]; + this.cookies = init.cookies === null ? null : [...init.cookies]; + } else { + this[kHeadersMap] = new Map(init); + this[kHeadersSortedMap] = null; + } + } + contains(name) { + name = name.toLowerCase(); + return this[kHeadersMap].has(name); + } + clear() { + this[kHeadersMap].clear(); + this[kHeadersSortedMap] = null; + this.cookies = null; + } + append(name, value) { + this[kHeadersSortedMap] = null; + const lowercaseName = name.toLowerCase(); + const exists = this[kHeadersMap].get(lowercaseName); + if (exists) { + const delimiter = lowercaseName === "cookie" ? "; " : ", "; + this[kHeadersMap].set(lowercaseName, { + name: exists.name, + value: `${exists.value}${delimiter}${value}` + }); + } else { + this[kHeadersMap].set(lowercaseName, { name, value }); + } + if (lowercaseName === "set-cookie") { + this.cookies ??= []; + this.cookies.push(value); + } + } + set(name, value) { + this[kHeadersSortedMap] = null; + const lowercaseName = name.toLowerCase(); + if (lowercaseName === "set-cookie") { + this.cookies = [value]; + } + this[kHeadersMap].set(lowercaseName, { name, value }); + } + delete(name) { + this[kHeadersSortedMap] = null; + name = name.toLowerCase(); + if (name === "set-cookie") { + this.cookies = null; + } + this[kHeadersMap].delete(name); + } + get(name) { + const value = this[kHeadersMap].get(name.toLowerCase()); + return value === void 0 ? null : value.value; + } + *[Symbol.iterator]() { + for (const [name, { value }] of this[kHeadersMap]) { + yield [name, value]; + } + } + get entries() { + const headers = {}; + if (this[kHeadersMap].size) { + for (const { name, value } of this[kHeadersMap].values()) { + headers[name] = value; + } + } + return headers; + } + }; + var Headers3 = class { + constructor(init = void 0) { + if (init === kConstruct) { + return; + } + this[kHeadersList] = new HeadersList(); + this[kGuard] = "none"; + if (init !== void 0) { + init = webidl.converters.HeadersInit(init); + fill(this, init); + } + } + append(name, value) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); + name = webidl.converters.ByteString(name); + value = webidl.converters.ByteString(value); + return appendHeader(this, name, value); + } + delete(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.delete", + value: name, + type: "header name" + }); + } + if (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + if (!this[kHeadersList].contains(name)) { + return; + } + this[kHeadersList].delete(name); + } + get(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.get", + value: name, + type: "header name" + }); + } + return this[kHeadersList].get(name); + } + has(name) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); + name = webidl.converters.ByteString(name); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.has", + value: name, + type: "header name" + }); + } + return this[kHeadersList].contains(name); + } + set(name, value) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); + name = webidl.converters.ByteString(name); + value = webidl.converters.ByteString(value); + value = headerValueNormalize(value); + if (!isValidHeaderName2(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.set", + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.set", + value, + type: "header value" + }); + } + if (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + this[kHeadersList].set(name, value); + } + getSetCookie() { + webidl.brandCheck(this, Headers3); + const list = this[kHeadersList].cookies; + if (list) { + return [...list]; + } + return []; + } + get [kHeadersSortedMap]() { + if (this[kHeadersList][kHeadersSortedMap]) { + return this[kHeadersList][kHeadersSortedMap]; + } + const headers = []; + const names = [...this[kHeadersList]].sort((a3, b3) => a3[0] < b3[0] ? -1 : 1); + const cookies = this[kHeadersList].cookies; + for (let i3 = 0; i3 < names.length; ++i3) { + const [name, value] = names[i3]; + if (name === "set-cookie") { + for (let j4 = 0; j4 < cookies.length; ++j4) { + headers.push([name, cookies[j4]]); + } + } else { + assert(value !== null); + headers.push([name, value]); + } + } + this[kHeadersList][kHeadersSortedMap] = headers; + return headers; + } + keys() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "key" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "key" + ); + } + values() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "value" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "value" + ); + } + entries() { + webidl.brandCheck(this, Headers3); + if (this[kGuard] === "immutable") { + const value = this[kHeadersSortedMap]; + return makeIterator( + () => value, + "Headers", + "key+value" + ); + } + return makeIterator( + () => [...this[kHeadersSortedMap].values()], + "Headers", + "key+value" + ); + } + forEach(callbackFn, thisArg = globalThis) { + webidl.brandCheck(this, Headers3); + webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); + if (typeof callbackFn !== "function") { + throw new TypeError( + "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." + ); + } + for (const [key, value] of this) { + callbackFn.apply(thisArg, [value, key, this]); + } + } + [Symbol.for("nodejs.util.inspect.custom")]() { + webidl.brandCheck(this, Headers3); + return this[kHeadersList]; + } + }; + Headers3.prototype[Symbol.iterator] = Headers3.prototype.entries; + Object.defineProperties(Headers3.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, + getSetCookie: kEnumerableProperty, + keys: kEnumerableProperty, + values: kEnumerableProperty, + entries: kEnumerableProperty, + forEach: kEnumerableProperty, + [Symbol.iterator]: { enumerable: false }, + [Symbol.toStringTag]: { + value: "Headers", + configurable: true + } + }); + webidl.converters.HeadersInit = function(V4) { + if (webidl.util.Type(V4) === "Object") { + if (V4[Symbol.iterator]) { + return webidl.converters["sequence<sequence<ByteString>>"](V4); + } + return webidl.converters["record<ByteString, ByteString>"](V4); + } + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] + }); + }; + module2.exports = { + fill, + Headers: Headers3, + HeadersList + }; + } +}); + +// node_modules/undici/lib/fetch/response.js +var require_response = __commonJS({ + "node_modules/undici/lib/fetch/response.js"(exports, module2) { + "use strict"; + var { Headers: Headers3, HeadersList, fill } = require_headers(); + var { extractBody, cloneBody, mixinBody } = require_body(); + var util3 = require_util(); + var { kEnumerableProperty } = util3; + var { + isValidReasonPhrase, + isCancelled, + isAborted, + isBlobLike: isBlobLike2, + serializeJavascriptValueToJSONString, + isErrorLike, + isomorphicEncode + } = require_util2(); + var { + redirectStatusSet, + nullBodyStatus, + DOMException: DOMException3 + } = require_constants2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { FormData: FormData5 } = require_formdata(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { types } = require("util"); + var ReadableStream5 = globalThis.ReadableStream || require("stream/web").ReadableStream; + var textEncoder2 = new TextEncoder("utf-8"); + var Response3 = class { + static error() { + const relevantRealm = { settingsObject: {} }; + const responseObject = new Response3(); + responseObject[kState] = makeNetworkError(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + return responseObject; + } + static json(data, init = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + if (init !== null) { + init = webidl.converters.ResponseInit(init); + } + const bytes = textEncoder2.encode( + serializeJavascriptValueToJSONString(data) + ); + const body = extractBody(bytes); + const relevantRealm = { settingsObject: {} }; + const responseObject = new Response3(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kGuard] = "response"; + responseObject[kHeaders][kRealm] = relevantRealm; + initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); + return responseObject; + } + static redirect(url2, status = 302) { + const relevantRealm = { settingsObject: {} }; + webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); + url2 = webidl.converters.USVString(url2); + status = webidl.converters["unsigned short"](status); + let parsedURL; + try { + parsedURL = new URL(url2, getGlobalOrigin()); + } catch (err) { + throw Object.assign(new TypeError("Failed to parse URL from " + url2), { + cause: err + }); + } + if (!redirectStatusSet.has(status)) { + throw new RangeError("Invalid status code " + status); + } + const responseObject = new Response3(); + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + responseObject[kState].status = status; + const value = isomorphicEncode(URLSerializer(parsedURL)); + responseObject[kState].headersList.append("location", value); + return responseObject; + } + constructor(body = null, init = {}) { + if (body !== null) { + body = webidl.converters.BodyInit(body); + } + init = webidl.converters.ResponseInit(init); + this[kRealm] = { settingsObject: {} }; + this[kState] = makeResponse({}); + this[kHeaders] = new Headers3(kConstruct); + this[kHeaders][kGuard] = "response"; + this[kHeaders][kHeadersList] = this[kState].headersList; + this[kHeaders][kRealm] = this[kRealm]; + let bodyWithType = null; + if (body != null) { + const [extractedBody, type2] = extractBody(body); + bodyWithType = { body: extractedBody, type: type2 }; + } + initializeResponse(this, init, bodyWithType); + } + get type() { + webidl.brandCheck(this, Response3); + return this[kState].type; + } + get url() { + webidl.brandCheck(this, Response3); + const urlList = this[kState].urlList; + const url2 = urlList[urlList.length - 1] ?? null; + if (url2 === null) { + return ""; + } + return URLSerializer(url2, true); + } + get redirected() { + webidl.brandCheck(this, Response3); + return this[kState].urlList.length > 1; + } + get status() { + webidl.brandCheck(this, Response3); + return this[kState].status; + } + get ok() { + webidl.brandCheck(this, Response3); + return this[kState].status >= 200 && this[kState].status <= 299; + } + get statusText() { + webidl.brandCheck(this, Response3); + return this[kState].statusText; + } + get headers() { + webidl.brandCheck(this, Response3); + return this[kHeaders]; + } + get body() { + webidl.brandCheck(this, Response3); + return this[kState].body ? this[kState].body.stream : null; + } + get bodyUsed() { + webidl.brandCheck(this, Response3); + return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); + } + clone() { + webidl.brandCheck(this, Response3); + if (this.bodyUsed || this.body && this.body.locked) { + throw webidl.errors.exception({ + header: "Response.clone", + message: "Body has already been consumed." + }); + } + const clonedResponse = cloneResponse(this[kState]); + const clonedResponseObject = new Response3(); + clonedResponseObject[kState] = clonedResponse; + clonedResponseObject[kRealm] = this[kRealm]; + clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; + clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; + clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; + return clonedResponseObject; + } + }; + mixinBody(Response3); + Object.defineProperties(Response3.prototype, { + type: kEnumerableProperty, + url: kEnumerableProperty, + status: kEnumerableProperty, + ok: kEnumerableProperty, + redirected: kEnumerableProperty, + statusText: kEnumerableProperty, + headers: kEnumerableProperty, + clone: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Response", + configurable: true + } + }); + Object.defineProperties(Response3, { + json: kEnumerableProperty, + redirect: kEnumerableProperty, + error: kEnumerableProperty + }); + function cloneResponse(response) { + if (response.internalResponse) { + return filterResponse( + cloneResponse(response.internalResponse), + response.type + ); + } + const newResponse = makeResponse({ ...response, body: null }); + if (response.body != null) { + newResponse.body = cloneBody(response.body); + } + return newResponse; + } + function makeResponse(init) { + return { + aborted: false, + rangeRequested: false, + timingAllowPassed: false, + requestIncludesCredentials: false, + type: "default", + status: 200, + timingInfo: null, + cacheState: "", + statusText: "", + ...init, + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), + urlList: init.urlList ? [...init.urlList] : [] + }; + } + function makeNetworkError(reason) { + const isError2 = isErrorLike(reason); + return makeResponse({ + type: "error", + status: 0, + error: isError2 ? reason : new Error(reason ? String(reason) : reason), + aborted: reason && reason.name === "AbortError" + }); + } + function makeFilteredResponse(response, state2) { + state2 = { + internalResponse: response, + ...state2 + }; + return new Proxy(response, { + get(target, p3) { + return p3 in state2 ? state2[p3] : target[p3]; + }, + set(target, p3, value) { + assert(!(p3 in state2)); + target[p3] = value; + return true; + } + }); + } + function filterResponse(response, type2) { + if (type2 === "basic") { + return makeFilteredResponse(response, { + type: "basic", + headersList: response.headersList + }); + } else if (type2 === "cors") { + return makeFilteredResponse(response, { + type: "cors", + headersList: response.headersList + }); + } else if (type2 === "opaque") { + return makeFilteredResponse(response, { + type: "opaque", + urlList: Object.freeze([]), + status: 0, + statusText: "", + body: null + }); + } else if (type2 === "opaqueredirect") { + return makeFilteredResponse(response, { + type: "opaqueredirect", + status: 0, + statusText: "", + headersList: [], + body: null + }); + } else { + assert(false); + } + } + function makeAppropriateNetworkError(fetchParams, err = null) { + assert(isCancelled(fetchParams)); + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException3("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException3("Request was cancelled."), { cause: err })); + } + function initializeResponse(response, init, body) { + if (init.status !== null && (init.status < 200 || init.status > 599)) { + throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + } + if ("statusText" in init && init.statusText != null) { + if (!isValidReasonPhrase(String(init.statusText))) { + throw new TypeError("Invalid statusText"); + } + } + if ("status" in init && init.status != null) { + response[kState].status = init.status; + } + if ("statusText" in init && init.statusText != null) { + response[kState].statusText = init.statusText; + } + if ("headers" in init && init.headers != null) { + fill(response[kHeaders], init.headers); + } + if (body) { + if (nullBodyStatus.includes(response.status)) { + throw webidl.errors.exception({ + header: "Response constructor", + message: "Invalid response status code " + response.status + }); + } + response[kState].body = body.body; + if (body.type != null && !response[kState].headersList.contains("Content-Type")) { + response[kState].headersList.append("content-type", body.type); + } + } + } + webidl.converters.ReadableStream = webidl.interfaceConverter( + ReadableStream5 + ); + webidl.converters.FormData = webidl.interfaceConverter( + FormData5 + ); + webidl.converters.URLSearchParams = webidl.interfaceConverter( + URLSearchParams + ); + webidl.converters.XMLHttpRequestBodyInit = function(V4) { + if (typeof V4 === "string") { + return webidl.converters.USVString(V4); + } + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (types.isArrayBuffer(V4) || types.isTypedArray(V4) || types.isDataView(V4)) { + return webidl.converters.BufferSource(V4); + } + if (util3.isFormDataLike(V4)) { + return webidl.converters.FormData(V4, { strict: false }); + } + if (V4 instanceof URLSearchParams) { + return webidl.converters.URLSearchParams(V4); + } + return webidl.converters.DOMString(V4); + }; + webidl.converters.BodyInit = function(V4) { + if (V4 instanceof ReadableStream5) { + return webidl.converters.ReadableStream(V4); + } + if (V4?.[Symbol.asyncIterator]) { + return V4; + } + return webidl.converters.XMLHttpRequestBodyInit(V4); + }; + webidl.converters.ResponseInit = webidl.dictionaryConverter([ + { + key: "status", + converter: webidl.converters["unsigned short"], + defaultValue: 200 + }, + { + key: "statusText", + converter: webidl.converters.ByteString, + defaultValue: "" + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + } + ]); + module2.exports = { + makeNetworkError, + makeResponse, + makeAppropriateNetworkError, + filterResponse, + Response: Response3, + cloneResponse + }; + } +}); + +// node_modules/undici/lib/fetch/request.js +var require_request2 = __commonJS({ + "node_modules/undici/lib/fetch/request.js"(exports, module2) { + "use strict"; + var { extractBody, mixinBody, cloneBody } = require_body(); + var { Headers: Headers3, fill: fillHeaders, HeadersList } = require_headers(); + var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); + var util3 = require_util(); + var { + isValidHTTPToken, + sameOrigin, + normalizeMethod, + makePolicyContainer, + normalizeMethodRecord + } = require_util2(); + var { + forbiddenMethodsSet, + corsSafeListedMethodsSet, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + requestDuplex + } = require_constants2(); + var { kEnumerableProperty } = util3; + var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); + var TransformStream3 = globalThis.TransformStream; + var kAbortController = Symbol("abortController"); + var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { + signal.removeEventListener("abort", abort); + }); + var Request3 = class { + constructor(input, init = {}) { + if (input === kConstruct) { + return; + } + webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); + input = webidl.converters.RequestInfo(input); + init = webidl.converters.RequestInit(init); + this[kRealm] = { + settingsObject: { + baseUrl: getGlobalOrigin(), + get origin() { + return this.baseUrl?.origin; + }, + policyContainer: makePolicyContainer() + } + }; + let request3 = null; + let fallbackMode = null; + const baseUrl = this[kRealm].settingsObject.baseUrl; + let signal = null; + if (typeof input === "string") { + let parsedURL; + try { + parsedURL = new URL(input, baseUrl); + } catch (err) { + throw new TypeError("Failed to parse URL from " + input, { cause: err }); + } + if (parsedURL.username || parsedURL.password) { + throw new TypeError( + "Request cannot be constructed from a URL that includes credentials: " + input + ); + } + request3 = makeRequest({ urlList: [parsedURL] }); + fallbackMode = "cors"; + } else { + assert(input instanceof Request3); + request3 = input[kState]; + signal = input[kSignal]; + } + const origin = this[kRealm].settingsObject.origin; + let window2 = "client"; + if (request3.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request3.window, origin)) { + window2 = request3.window; + } + if (init.window != null) { + throw new TypeError(`'window' option '${window2}' must be null`); + } + if ("window" in init) { + window2 = "no-window"; + } + request3 = makeRequest({ + method: request3.method, + headersList: request3.headersList, + unsafeRequest: request3.unsafeRequest, + client: this[kRealm].settingsObject, + window: window2, + priority: request3.priority, + origin: request3.origin, + referrer: request3.referrer, + referrerPolicy: request3.referrerPolicy, + mode: request3.mode, + credentials: request3.credentials, + cache: request3.cache, + redirect: request3.redirect, + integrity: request3.integrity, + keepalive: request3.keepalive, + reloadNavigation: request3.reloadNavigation, + historyNavigation: request3.historyNavigation, + urlList: [...request3.urlList] + }); + const initHasKey = Object.keys(init).length !== 0; + if (initHasKey) { + if (request3.mode === "navigate") { + request3.mode = "same-origin"; + } + request3.reloadNavigation = false; + request3.historyNavigation = false; + request3.origin = "client"; + request3.referrer = "client"; + request3.referrerPolicy = ""; + request3.url = request3.urlList[request3.urlList.length - 1]; + request3.urlList = [request3.url]; + } + if (init.referrer !== void 0) { + const referrer = init.referrer; + if (referrer === "") { + request3.referrer = "no-referrer"; + } else { + let parsedReferrer; + try { + parsedReferrer = new URL(referrer, baseUrl); + } catch (err) { + throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); + } + if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { + request3.referrer = "client"; + } else { + request3.referrer = parsedReferrer; + } + } + } + if (init.referrerPolicy !== void 0) { + request3.referrerPolicy = init.referrerPolicy; + } + let mode4; + if (init.mode !== void 0) { + mode4 = init.mode; + } else { + mode4 = fallbackMode; + } + if (mode4 === "navigate") { + throw webidl.errors.exception({ + header: "Request constructor", + message: "invalid request mode navigate." + }); + } + if (mode4 != null) { + request3.mode = mode4; + } + if (init.credentials !== void 0) { + request3.credentials = init.credentials; + } + if (init.cache !== void 0) { + request3.cache = init.cache; + } + if (request3.cache === "only-if-cached" && request3.mode !== "same-origin") { + throw new TypeError( + "'only-if-cached' can be set only with 'same-origin' mode" + ); + } + if (init.redirect !== void 0) { + request3.redirect = init.redirect; + } + if (init.integrity != null) { + request3.integrity = String(init.integrity); + } + if (init.keepalive !== void 0) { + request3.keepalive = Boolean(init.keepalive); + } + if (init.method !== void 0) { + let method = init.method; + if (!isValidHTTPToken(method)) { + throw new TypeError(`'${method}' is not a valid HTTP method.`); + } + if (forbiddenMethodsSet.has(method.toUpperCase())) { + throw new TypeError(`'${method}' HTTP method is unsupported.`); + } + method = normalizeMethodRecord[method] ?? normalizeMethod(method); + request3.method = method; + } + if (init.signal !== void 0) { + signal = init.signal; + } + this[kState] = request3; + const ac = new AbortController(); + this[kSignal] = ac.signal; + this[kSignal][kRealm] = this[kRealm]; + if (signal != null) { + if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { + throw new TypeError( + "Failed to construct 'Request': member signal is not of type AbortSignal." + ); + } + if (signal.aborted) { + ac.abort(signal.reason); + } else { + this[kAbortController] = ac; + const acRef = new WeakRef(ac); + const abort = function() { + const ac2 = acRef.deref(); + if (ac2 !== void 0) { + ac2.abort(this.reason); + } + }; + try { + if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { + setMaxListeners(100, signal); + } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { + setMaxListeners(100, signal); + } + } catch { + } + util3.addAbortListener(signal, abort); + requestFinalizer.register(ac, { signal, abort }); + } + } + this[kHeaders] = new Headers3(kConstruct); + this[kHeaders][kHeadersList] = request3.headersList; + this[kHeaders][kGuard] = "request"; + this[kHeaders][kRealm] = this[kRealm]; + if (mode4 === "no-cors") { + if (!corsSafeListedMethodsSet.has(request3.method)) { + throw new TypeError( + `'${request3.method} is unsupported in no-cors mode.` + ); + } + this[kHeaders][kGuard] = "request-no-cors"; + } + if (initHasKey) { + const headersList = this[kHeaders][kHeadersList]; + const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); + headersList.clear(); + if (headers instanceof HeadersList) { + for (const [key, val] of headers) { + headersList.append(key, val); + } + headersList.cookies = headers.cookies; + } else { + fillHeaders(this[kHeaders], headers); + } + } + const inputBody = input instanceof Request3 ? input[kState].body : null; + if ((init.body != null || inputBody != null) && (request3.method === "GET" || request3.method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body."); + } + let initBody = null; + if (init.body != null) { + const [extractedBody, contentType] = extractBody( + init.body, + request3.keepalive + ); + initBody = extractedBody; + if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { + this[kHeaders].append("content-type", contentType); + } + } + const inputOrInitBody = initBody ?? inputBody; + if (inputOrInitBody != null && inputOrInitBody.source == null) { + if (initBody != null && init.duplex == null) { + throw new TypeError("RequestInit: duplex option is required when sending a body."); + } + if (request3.mode !== "same-origin" && request3.mode !== "cors") { + throw new TypeError( + 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' + ); + } + request3.useCORSPreflightFlag = true; + } + let finalBody = inputOrInitBody; + if (initBody == null && inputBody != null) { + if (util3.isDisturbed(inputBody.stream) || inputBody.stream.locked) { + throw new TypeError( + "Cannot construct a Request with a Request object that has already been used." + ); + } + if (!TransformStream3) { + TransformStream3 = require("stream/web").TransformStream; + } + const identityTransform = new TransformStream3(); + inputBody.stream.pipeThrough(identityTransform); + finalBody = { + source: inputBody.source, + length: inputBody.length, + stream: identityTransform.readable + }; + } + this[kState].body = finalBody; + } + get method() { + webidl.brandCheck(this, Request3); + return this[kState].method; + } + get url() { + webidl.brandCheck(this, Request3); + return URLSerializer(this[kState].url); + } + get headers() { + webidl.brandCheck(this, Request3); + return this[kHeaders]; + } + get destination() { + webidl.brandCheck(this, Request3); + return this[kState].destination; + } + get referrer() { + webidl.brandCheck(this, Request3); + if (this[kState].referrer === "no-referrer") { + return ""; + } + if (this[kState].referrer === "client") { + return "about:client"; + } + return this[kState].referrer.toString(); + } + get referrerPolicy() { + webidl.brandCheck(this, Request3); + return this[kState].referrerPolicy; + } + get mode() { + webidl.brandCheck(this, Request3); + return this[kState].mode; + } + get credentials() { + return this[kState].credentials; + } + get cache() { + webidl.brandCheck(this, Request3); + return this[kState].cache; + } + get redirect() { + webidl.brandCheck(this, Request3); + return this[kState].redirect; + } + get integrity() { + webidl.brandCheck(this, Request3); + return this[kState].integrity; + } + get keepalive() { + webidl.brandCheck(this, Request3); + return this[kState].keepalive; + } + get isReloadNavigation() { + webidl.brandCheck(this, Request3); + return this[kState].reloadNavigation; + } + get isHistoryNavigation() { + webidl.brandCheck(this, Request3); + return this[kState].historyNavigation; + } + get signal() { + webidl.brandCheck(this, Request3); + return this[kSignal]; + } + get body() { + webidl.brandCheck(this, Request3); + return this[kState].body ? this[kState].body.stream : null; + } + get bodyUsed() { + webidl.brandCheck(this, Request3); + return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); + } + get duplex() { + webidl.brandCheck(this, Request3); + return "half"; + } + clone() { + webidl.brandCheck(this, Request3); + if (this.bodyUsed || this.body?.locked) { + throw new TypeError("unusable"); + } + const clonedRequest = cloneRequest(this[kState]); + const clonedRequestObject = new Request3(kConstruct); + clonedRequestObject[kState] = clonedRequest; + clonedRequestObject[kRealm] = this[kRealm]; + clonedRequestObject[kHeaders] = new Headers3(kConstruct); + clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; + clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; + clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; + const ac = new AbortController(); + if (this.signal.aborted) { + ac.abort(this.signal.reason); + } else { + util3.addAbortListener( + this.signal, + () => { + ac.abort(this.signal.reason); + } + ); + } + clonedRequestObject[kSignal] = ac.signal; + return clonedRequestObject; + } + }; + mixinBody(Request3); + function makeRequest(init) { + const request3 = { + method: "GET", + localURLsOnly: false, + unsafeRequest: false, + body: null, + client: null, + reservedClient: null, + replacesClientId: "", + window: "client", + keepalive: false, + serviceWorkers: "all", + initiator: "", + destination: "", + priority: null, + origin: "client", + policyContainer: "client", + referrer: "client", + referrerPolicy: "", + mode: "no-cors", + useCORSPreflightFlag: false, + credentials: "same-origin", + useCredentials: false, + cache: "default", + redirect: "follow", + integrity: "", + cryptoGraphicsNonceMetadata: "", + parserMetadata: "", + reloadNavigation: false, + historyNavigation: false, + userActivation: false, + taintedOrigin: false, + redirectCount: 0, + responseTainting: "basic", + preventNoCacheCacheControlHeaderModification: false, + done: false, + timingAllowFailed: false, + ...init, + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() + }; + request3.url = request3.urlList[0]; + return request3; + } + function cloneRequest(request3) { + const newRequest = makeRequest({ ...request3, body: null }); + if (request3.body != null) { + newRequest.body = cloneBody(request3.body); + } + return newRequest; + } + Object.defineProperties(Request3.prototype, { + method: kEnumerableProperty, + url: kEnumerableProperty, + headers: kEnumerableProperty, + redirect: kEnumerableProperty, + clone: kEnumerableProperty, + signal: kEnumerableProperty, + duplex: kEnumerableProperty, + destination: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + isHistoryNavigation: kEnumerableProperty, + isReloadNavigation: kEnumerableProperty, + keepalive: kEnumerableProperty, + integrity: kEnumerableProperty, + cache: kEnumerableProperty, + credentials: kEnumerableProperty, + attribute: kEnumerableProperty, + referrerPolicy: kEnumerableProperty, + referrer: kEnumerableProperty, + mode: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Request", + configurable: true + } + }); + webidl.converters.Request = webidl.interfaceConverter( + Request3 + ); + webidl.converters.RequestInfo = function(V4) { + if (typeof V4 === "string") { + return webidl.converters.USVString(V4); + } + if (V4 instanceof Request3) { + return webidl.converters.Request(V4); + } + return webidl.converters.USVString(V4); + }; + webidl.converters.AbortSignal = webidl.interfaceConverter( + AbortSignal + ); + webidl.converters.RequestInit = webidl.dictionaryConverter([ + { + key: "method", + converter: webidl.converters.ByteString + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + }, + { + key: "body", + converter: webidl.nullableConverter( + webidl.converters.BodyInit + ) + }, + { + key: "referrer", + converter: webidl.converters.USVString + }, + { + key: "referrerPolicy", + converter: webidl.converters.DOMString, + allowedValues: referrerPolicy + }, + { + key: "mode", + converter: webidl.converters.DOMString, + allowedValues: requestMode + }, + { + key: "credentials", + converter: webidl.converters.DOMString, + allowedValues: requestCredentials + }, + { + key: "cache", + converter: webidl.converters.DOMString, + allowedValues: requestCache + }, + { + key: "redirect", + converter: webidl.converters.DOMString, + allowedValues: requestRedirect + }, + { + key: "integrity", + converter: webidl.converters.DOMString + }, + { + key: "keepalive", + converter: webidl.converters.boolean + }, + { + key: "signal", + converter: webidl.nullableConverter( + (signal) => webidl.converters.AbortSignal( + signal, + { strict: false } + ) + ) + }, + { + key: "window", + converter: webidl.converters.any + }, + { + key: "duplex", + converter: webidl.converters.DOMString, + allowedValues: requestDuplex + } + ]); + module2.exports = { Request: Request3, makeRequest }; + } +}); + +// node_modules/undici/lib/fetch/index.js +var require_fetch = __commonJS({ + "node_modules/undici/lib/fetch/index.js"(exports, module2) { + "use strict"; + var { + Response: Response3, + makeNetworkError, + makeAppropriateNetworkError, + filterResponse, + makeResponse + } = require_response(); + var { Headers: Headers3 } = require_headers(); + var { Request: Request3, makeRequest } = require_request2(); + var zlib3 = require("zlib"); + var { + bytesMatch, + makePolicyContainer, + clonePolicyContainer, + requestBadPort, + TAOCheck, + appendRequestOriginHeader, + responseLocationURL, + requestCurrentURL, + setRequestReferrerPolicyOnRedirect, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + createOpaqueTimingInfo, + appendFetchMetadata, + corsCheck, + crossOriginResourcePolicyCheck, + determineRequestsReferrer, + coarsenedSharedCurrentTime, + createDeferredPromise, + isBlobLike: isBlobLike2, + sameOrigin, + isCancelled, + isAborted, + isErrorLike, + fullyReadBody, + readableStreamClose, + isomorphicEncode, + urlIsLocal, + urlIsHttpHttpsScheme, + urlHasHttpsScheme + } = require_util2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var assert = require("assert"); + var { safelyExtractBody } = require_body(); + var { + redirectStatusSet, + nullBodyStatus, + safeMethodsSet, + requestBodyHeader, + subresourceSet, + DOMException: DOMException3 + } = require_constants2(); + var { kHeadersList } = require_symbols(); + var EE = require("events"); + var { Readable: Readable4, pipeline } = require("stream"); + var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); + var { dataURLProcessor, serializeAMimeType } = require_dataURL(); + var { TransformStream: TransformStream3 } = require("stream/web"); + var { getGlobalDispatcher } = require_global2(); + var { webidl } = require_webidl(); + var { STATUS_CODES } = require("http"); + var GET_OR_HEAD = ["GET", "HEAD"]; + var resolveObjectURL; + var ReadableStream5 = globalThis.ReadableStream; + var Fetch = class extends EE { + constructor(dispatcher) { + super(); + this.dispatcher = dispatcher; + this.connection = null; + this.dump = false; + this.state = "ongoing"; + this.setMaxListeners(21); + } + terminate(reason) { + if (this.state !== "ongoing") { + return; + } + this.state = "terminated"; + this.connection?.destroy(reason); + this.emit("terminated", reason); + } + abort(error) { + if (this.state !== "ongoing") { + return; + } + this.state = "aborted"; + if (!error) { + error = new DOMException3("The operation was aborted.", "AbortError"); + } + this.serializedAbortReason = error; + this.connection?.destroy(error); + this.emit("terminated", error); + } + }; + function fetch2(input, init = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); + const p3 = createDeferredPromise(); + let requestObject; + try { + requestObject = new Request3(input, init); + } catch (e3) { + p3.reject(e3); + return p3.promise; + } + const request3 = requestObject[kState]; + if (requestObject.signal.aborted) { + abortFetch(p3, request3, null, requestObject.signal.reason); + return p3.promise; + } + const globalObject = request3.client.globalObject; + if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { + request3.serviceWorkers = "none"; + } + let responseObject = null; + const relevantRealm = null; + let locallyAborted = false; + let controller = null; + addAbortListener( + requestObject.signal, + () => { + locallyAborted = true; + assert(controller != null); + controller.abort(requestObject.signal.reason); + abortFetch(p3, request3, responseObject, requestObject.signal.reason); + } + ); + const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); + const processResponse = (response) => { + if (locallyAborted) { + return Promise.resolve(); + } + if (response.aborted) { + abortFetch(p3, request3, responseObject, controller.serializedAbortReason); + return Promise.resolve(); + } + if (response.type === "error") { + p3.reject( + Object.assign(new TypeError("fetch failed"), { cause: response.error }) + ); + return Promise.resolve(); + } + responseObject = new Response3(); + responseObject[kState] = response; + responseObject[kRealm] = relevantRealm; + responseObject[kHeaders][kHeadersList] = response.headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseObject[kHeaders][kRealm] = relevantRealm; + p3.resolve(responseObject); + }; + controller = fetching({ + request: request3, + processResponseEndOfBody: handleFetchDone, + processResponse, + dispatcher: init.dispatcher ?? getGlobalDispatcher() + }); + return p3.promise; + } + function finalizeAndReportTiming(response, initiatorType = "other") { + if (response.type === "error" && response.aborted) { + return; + } + if (!response.urlList?.length) { + return; + } + const originalURL = response.urlList[0]; + let timingInfo = response.timingInfo; + let cacheState = response.cacheState; + if (!urlIsHttpHttpsScheme(originalURL)) { + return; + } + if (timingInfo === null) { + return; + } + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo({ + startTime: timingInfo.startTime + }); + cacheState = ""; + } + timingInfo.endTime = coarsenedSharedCurrentTime(); + response.timingInfo = timingInfo; + markResourceTiming( + timingInfo, + originalURL, + initiatorType, + globalThis, + cacheState + ); + } + function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { + if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { + performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); + } + } + function abortFetch(p3, request3, responseObject, error) { + if (!error) { + error = new DOMException3("The operation was aborted.", "AbortError"); + } + p3.reject(error); + if (request3.body != null && isReadable(request3.body?.stream)) { + request3.body.stream.cancel(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + if (responseObject == null) { + return; + } + const response = responseObject[kState]; + if (response.body != null && isReadable(response.body?.stream)) { + response.body.stream.cancel(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + } + function fetching({ + request: request3, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseEndOfBody, + processResponseConsumeBody, + useParallelQueue = false, + dispatcher + }) { + let taskDestination = null; + let crossOriginIsolatedCapability = false; + if (request3.client != null) { + taskDestination = request3.client.globalObject; + crossOriginIsolatedCapability = request3.client.crossOriginIsolatedCapability; + } + const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const timingInfo = createOpaqueTimingInfo({ + startTime: currenTime + }); + const fetchParams = { + controller: new Fetch(dispatcher), + request: request3, + timingInfo, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseConsumeBody, + processResponseEndOfBody, + taskDestination, + crossOriginIsolatedCapability + }; + assert(!request3.body || request3.body.stream); + if (request3.window === "client") { + request3.window = request3.client?.globalObject?.constructor?.name === "Window" ? request3.client : "no-window"; + } + if (request3.origin === "client") { + request3.origin = request3.client?.origin; + } + if (request3.policyContainer === "client") { + if (request3.client != null) { + request3.policyContainer = clonePolicyContainer( + request3.client.policyContainer + ); + } else { + request3.policyContainer = makePolicyContainer(); + } + } + if (!request3.headersList.contains("accept")) { + const value = "*/*"; + request3.headersList.append("accept", value); + } + if (!request3.headersList.contains("accept-language")) { + request3.headersList.append("accept-language", "*"); + } + if (request3.priority === null) { + } + if (subresourceSet.has(request3.destination)) { + } + mainFetch(fetchParams).catch((err) => { + fetchParams.controller.terminate(err); + }); + return fetchParams.controller; + } + async function mainFetch(fetchParams, recursive = false) { + const request3 = fetchParams.request; + let response = null; + if (request3.localURLsOnly && !urlIsLocal(requestCurrentURL(request3))) { + response = makeNetworkError("local URLs only"); + } + tryUpgradeRequestToAPotentiallyTrustworthyURL(request3); + if (requestBadPort(request3) === "blocked") { + response = makeNetworkError("bad port"); + } + if (request3.referrerPolicy === "") { + request3.referrerPolicy = request3.policyContainer.referrerPolicy; + } + if (request3.referrer !== "no-referrer") { + request3.referrer = determineRequestsReferrer(request3); + } + if (response === null) { + response = await (async () => { + const currentURL = requestCurrentURL(request3); + if (sameOrigin(currentURL, request3.url) && request3.responseTainting === "basic" || currentURL.protocol === "data:" || (request3.mode === "navigate" || request3.mode === "websocket")) { + request3.responseTainting = "basic"; + return await schemeFetch(fetchParams); + } + if (request3.mode === "same-origin") { + return makeNetworkError('request mode cannot be "same-origin"'); + } + if (request3.mode === "no-cors") { + if (request3.redirect !== "follow") { + return makeNetworkError( + 'redirect mode cannot be "follow" for "no-cors" request' + ); + } + request3.responseTainting = "opaque"; + return await schemeFetch(fetchParams); + } + if (!urlIsHttpHttpsScheme(requestCurrentURL(request3))) { + return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + } + request3.responseTainting = "cors"; + return await httpFetch(fetchParams); + })(); + } + if (recursive) { + return response; + } + if (response.status !== 0 && !response.internalResponse) { + if (request3.responseTainting === "cors") { + } + if (request3.responseTainting === "basic") { + response = filterResponse(response, "basic"); + } else if (request3.responseTainting === "cors") { + response = filterResponse(response, "cors"); + } else if (request3.responseTainting === "opaque") { + response = filterResponse(response, "opaque"); + } else { + assert(false); + } + } + let internalResponse = response.status === 0 ? response : response.internalResponse; + if (internalResponse.urlList.length === 0) { + internalResponse.urlList.push(...request3.urlList); + } + if (!request3.timingAllowFailed) { + response.timingAllowPassed = true; + } + if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request3.headers.contains("range")) { + response = internalResponse = makeNetworkError(); + } + if (response.status !== 0 && (request3.method === "HEAD" || request3.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { + internalResponse.body = null; + fetchParams.controller.dump = true; + } + if (request3.integrity) { + const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); + if (request3.responseTainting === "opaque" || response.body == null) { + processBodyError(response.error); + return; + } + const processBody = (bytes) => { + if (!bytesMatch(bytes, request3.integrity)) { + processBodyError("integrity mismatch"); + return; + } + response.body = safelyExtractBody(bytes)[0]; + fetchFinale(fetchParams, response); + }; + await fullyReadBody(response.body, processBody, processBodyError); + } else { + fetchFinale(fetchParams, response); + } + } + function schemeFetch(fetchParams) { + if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { + return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + } + const { request: request3 } = fetchParams; + const { protocol: scheme } = requestCurrentURL(request3); + switch (scheme) { + case "about:": { + return Promise.resolve(makeNetworkError("about scheme is not supported")); + } + case "blob:": { + if (!resolveObjectURL) { + resolveObjectURL = require("buffer").resolveObjectURL; + } + const blobURLEntry = requestCurrentURL(request3); + if (blobURLEntry.search.length !== 0) { + return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + } + const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); + if (request3.method !== "GET" || !isBlobLike2(blobURLEntryObject)) { + return Promise.resolve(makeNetworkError("invalid method")); + } + const bodyWithType = safelyExtractBody(blobURLEntryObject); + const body = bodyWithType[0]; + const length = isomorphicEncode(`${body.length}`); + const type2 = bodyWithType[1] ?? ""; + const response = makeResponse({ + statusText: "OK", + headersList: [ + ["content-length", { name: "Content-Length", value: length }], + ["content-type", { name: "Content-Type", value: type2 }] + ] + }); + response.body = body; + return Promise.resolve(response); + } + case "data:": { + const currentURL = requestCurrentURL(request3); + const dataURLStruct = dataURLProcessor(currentURL); + if (dataURLStruct === "failure") { + return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + } + const mimeType = serializeAMimeType(dataURLStruct.mimeType); + return Promise.resolve(makeResponse({ + statusText: "OK", + headersList: [ + ["content-type", { name: "Content-Type", value: mimeType }] + ], + body: safelyExtractBody(dataURLStruct.body)[0] + })); + } + case "file:": { + return Promise.resolve(makeNetworkError("not implemented... yet...")); + } + case "http:": + case "https:": { + return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); + } + default: { + return Promise.resolve(makeNetworkError("unknown scheme")); + } + } + } + function finalizeResponse(fetchParams, response) { + fetchParams.request.done = true; + if (fetchParams.processResponseDone != null) { + queueMicrotask(() => fetchParams.processResponseDone(response)); + } + } + function fetchFinale(fetchParams, response) { + if (response.type === "error") { + response.urlList = [fetchParams.request.urlList[0]]; + response.timingInfo = createOpaqueTimingInfo({ + startTime: fetchParams.timingInfo.startTime + }); + } + const processResponseEndOfBody = () => { + fetchParams.request.done = true; + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + } + }; + if (fetchParams.processResponse != null) { + queueMicrotask(() => fetchParams.processResponse(response)); + } + if (response.body == null) { + processResponseEndOfBody(); + } else { + const identityTransformAlgorithm = (chunk, controller) => { + controller.enqueue(chunk); + }; + const transformStream = new TransformStream3({ + start() { + }, + transform: identityTransformAlgorithm, + flush: processResponseEndOfBody + }, { + size() { + return 1; + } + }, { + size() { + return 1; + } + }); + response.body = { stream: response.body.stream.pipeThrough(transformStream) }; + } + if (fetchParams.processResponseConsumeBody != null) { + const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); + const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); + if (response.body == null) { + queueMicrotask(() => processBody(null)); + } else { + return fullyReadBody(response.body, processBody, processBodyError); + } + return Promise.resolve(); + } + } + async function httpFetch(fetchParams) { + const request3 = fetchParams.request; + let response = null; + let actualResponse = null; + const timingInfo = fetchParams.timingInfo; + if (request3.serviceWorkers === "all") { + } + if (response === null) { + if (request3.redirect === "follow") { + request3.serviceWorkers = "none"; + } + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); + if (request3.responseTainting === "cors" && corsCheck(request3, response) === "failure") { + return makeNetworkError("cors failure"); + } + if (TAOCheck(request3, response) === "failure") { + request3.timingAllowFailed = true; + } + } + if ((request3.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( + request3.origin, + request3.client, + request3.destination, + actualResponse + ) === "blocked") { + return makeNetworkError("blocked"); + } + if (redirectStatusSet.has(actualResponse.status)) { + if (request3.redirect !== "manual") { + fetchParams.controller.connection.destroy(); + } + if (request3.redirect === "error") { + response = makeNetworkError("unexpected redirect"); + } else if (request3.redirect === "manual") { + response = actualResponse; + } else if (request3.redirect === "follow") { + response = await httpRedirectFetch(fetchParams, response); + } else { + assert(false); + } + } + response.timingInfo = timingInfo; + return response; + } + function httpRedirectFetch(fetchParams, response) { + const request3 = fetchParams.request; + const actualResponse = response.internalResponse ? response.internalResponse : response; + let locationURL; + try { + locationURL = responseLocationURL( + actualResponse, + requestCurrentURL(request3).hash + ); + if (locationURL == null) { + return response; + } + } catch (err) { + return Promise.resolve(makeNetworkError(err)); + } + if (!urlIsHttpHttpsScheme(locationURL)) { + return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); + } + if (request3.redirectCount === 20) { + return Promise.resolve(makeNetworkError("redirect count exceeded")); + } + request3.redirectCount += 1; + if (request3.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request3, locationURL)) { + return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + } + if (request3.responseTainting === "cors" && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + )); + } + if (actualResponse.status !== 303 && request3.body != null && request3.body.source == null) { + return Promise.resolve(makeNetworkError()); + } + if ([301, 302].includes(actualResponse.status) && request3.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request3.method)) { + request3.method = "GET"; + request3.body = null; + for (const headerName of requestBodyHeader) { + request3.headersList.delete(headerName); + } + } + if (!sameOrigin(requestCurrentURL(request3), locationURL)) { + request3.headersList.delete("authorization"); + request3.headersList.delete("proxy-authorization", true); + request3.headersList.delete("cookie"); + request3.headersList.delete("host"); + } + if (request3.body != null) { + assert(request3.body.source != null); + request3.body = safelyExtractBody(request3.body.source)[0]; + } + const timingInfo = fetchParams.timingInfo; + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + if (timingInfo.redirectStartTime === 0) { + timingInfo.redirectStartTime = timingInfo.startTime; + } + request3.urlList.push(locationURL); + setRequestReferrerPolicyOnRedirect(request3, actualResponse); + return mainFetch(fetchParams, true); + } + async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { + const request3 = fetchParams.request; + let httpFetchParams = null; + let httpRequest = null; + let response = null; + const httpCache = null; + const revalidatingFlag = false; + if (request3.window === "no-window" && request3.redirect === "error") { + httpFetchParams = fetchParams; + httpRequest = request3; + } else { + httpRequest = makeRequest(request3); + httpFetchParams = { ...fetchParams }; + httpFetchParams.request = httpRequest; + } + const includeCredentials = request3.credentials === "include" || request3.credentials === "same-origin" && request3.responseTainting === "basic"; + const contentLength = httpRequest.body ? httpRequest.body.length : null; + let contentLengthHeaderValue = null; + if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { + contentLengthHeaderValue = "0"; + } + if (contentLength != null) { + contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); + } + if (contentLengthHeaderValue != null) { + httpRequest.headersList.append("content-length", contentLengthHeaderValue); + } + if (contentLength != null && httpRequest.keepalive) { + } + if (httpRequest.referrer instanceof URL) { + httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); + } + appendRequestOriginHeader(httpRequest); + appendFetchMetadata(httpRequest); + if (!httpRequest.headersList.contains("user-agent")) { + httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + } + 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"))) { + httpRequest.cache = "no-store"; + } + if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { + httpRequest.headersList.append("cache-control", "max-age=0"); + } + if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { + if (!httpRequest.headersList.contains("pragma")) { + httpRequest.headersList.append("pragma", "no-cache"); + } + if (!httpRequest.headersList.contains("cache-control")) { + httpRequest.headersList.append("cache-control", "no-cache"); + } + } + if (httpRequest.headersList.contains("range")) { + httpRequest.headersList.append("accept-encoding", "identity"); + } + if (!httpRequest.headersList.contains("accept-encoding")) { + if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { + httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + } else { + httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + } + } + httpRequest.headersList.delete("host"); + if (includeCredentials) { + } + if (httpCache == null) { + httpRequest.cache = "no-store"; + } + if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + } + if (response == null) { + if (httpRequest.mode === "only-if-cached") { + return makeNetworkError("only if cached"); + } + const forwardResponse = await httpNetworkFetch( + httpFetchParams, + includeCredentials, + isNewConnectionFetch + ); + if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { + } + if (revalidatingFlag && forwardResponse.status === 304) { + } + if (response == null) { + response = forwardResponse; + } + } + response.urlList = [...httpRequest.urlList]; + if (httpRequest.headersList.contains("range")) { + response.rangeRequested = true; + } + response.requestIncludesCredentials = includeCredentials; + if (response.status === 407) { + if (request3.window === "no-window") { + return makeNetworkError(); + } + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + return makeNetworkError("proxy authentication required"); + } + if (response.status === 421 && !isNewConnectionFetch && (request3.body == null || request3.body.source != null)) { + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + fetchParams.controller.connection.destroy(); + response = await httpNetworkOrCacheFetch( + fetchParams, + isAuthenticationFetch, + true + ); + } + if (isAuthenticationFetch) { + } + return response; + } + async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { + assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); + fetchParams.controller.connection = { + abort: null, + destroyed: false, + destroy(err) { + if (!this.destroyed) { + this.destroyed = true; + this.abort?.(err ?? new DOMException3("The operation was aborted.", "AbortError")); + } + } + }; + const request3 = fetchParams.request; + let response = null; + const timingInfo = fetchParams.timingInfo; + const httpCache = null; + if (httpCache == null) { + request3.cache = "no-store"; + } + const newConnection = forceNewConnection ? "yes" : "no"; + if (request3.mode === "websocket") { + } else { + } + let requestBody = null; + if (request3.body == null && fetchParams.processRequestEndOfBody) { + queueMicrotask(() => fetchParams.processRequestEndOfBody()); + } else if (request3.body != null) { + const processBodyChunk = async function* (bytes) { + if (isCancelled(fetchParams)) { + return; + } + yield bytes; + fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); + }; + const processEndOfBody = () => { + if (isCancelled(fetchParams)) { + return; + } + if (fetchParams.processRequestEndOfBody) { + fetchParams.processRequestEndOfBody(); + } + }; + const processBodyError = (e3) => { + if (isCancelled(fetchParams)) { + return; + } + if (e3.name === "AbortError") { + fetchParams.controller.abort(); + } else { + fetchParams.controller.terminate(e3); + } + }; + requestBody = async function* () { + try { + for await (const bytes of request3.body.stream) { + yield* processBodyChunk(bytes); + } + processEndOfBody(); + } catch (err) { + processBodyError(err); + } + }(); + } + try { + const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + if (socket) { + response = makeResponse({ status, statusText, headersList, socket }); + } else { + const iterator = body[Symbol.asyncIterator](); + fetchParams.controller.next = () => iterator.next(); + response = makeResponse({ status, statusText, headersList }); + } + } catch (err) { + if (err.name === "AbortError") { + fetchParams.controller.connection.destroy(); + return makeAppropriateNetworkError(fetchParams, err); + } + return makeNetworkError(err); + } + const pullAlgorithm = () => { + fetchParams.controller.resume(); + }; + const cancelAlgorithm = (reason) => { + fetchParams.controller.abort(reason); + }; + if (!ReadableStream5) { + ReadableStream5 = require("stream/web").ReadableStream; + } + const stream4 = new ReadableStream5( + { + async start(controller) { + fetchParams.controller.controller = controller; + }, + async pull(controller) { + await pullAlgorithm(controller); + }, + async cancel(reason) { + await cancelAlgorithm(reason); + } + }, + { + highWaterMark: 0, + size() { + return 1; + } + } + ); + response.body = { stream: stream4 }; + fetchParams.controller.on("terminated", onAborted); + fetchParams.controller.resume = async () => { + while (true) { + let bytes; + let isFailure; + try { + const { done, value } = await fetchParams.controller.next(); + if (isAborted(fetchParams)) { + break; + } + bytes = done ? void 0 : value; + } catch (err) { + if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { + bytes = void 0; + } else { + bytes = err; + isFailure = true; + } + } + if (bytes === void 0) { + readableStreamClose(fetchParams.controller.controller); + finalizeResponse(fetchParams, response); + return; + } + timingInfo.decodedBodySize += bytes?.byteLength ?? 0; + if (isFailure) { + fetchParams.controller.terminate(bytes); + return; + } + fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + if (isErrored(stream4)) { + fetchParams.controller.terminate(); + return; + } + if (!fetchParams.controller.controller.desiredSize) { + return; + } + } + }; + function onAborted(reason) { + if (isAborted(fetchParams)) { + response.aborted = true; + if (isReadable(stream4)) { + fetchParams.controller.controller.error( + fetchParams.controller.serializedAbortReason + ); + } + } else { + if (isReadable(stream4)) { + fetchParams.controller.controller.error(new TypeError("terminated", { + cause: isErrorLike(reason) ? reason : void 0 + })); + } + } + fetchParams.controller.connection.destroy(); + } + return response; + async function dispatch({ body }) { + const url2 = requestCurrentURL(request3); + const agent = fetchParams.controller.dispatcher; + return new Promise((resolve, reject) => agent.dispatch( + { + path: url2.pathname + url2.search, + origin: url2.origin, + method: request3.method, + body: fetchParams.controller.dispatcher.isMockActive ? request3.body && (request3.body.source || request3.body.stream) : body, + headers: request3.headersList.entries, + maxRedirections: 0, + upgrade: request3.mode === "websocket" ? "websocket" : void 0 + }, + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller; + if (connection.destroyed) { + abort(new DOMException3("The operation was aborted.", "AbortError")); + } else { + fetchParams.controller.on("terminated", abort); + this.abort = connection.abort = abort; + } + }, + onHeaders(status, headersList, resume, statusText) { + if (status < 200) { + return; + } + let codings = []; + let location = ""; + const headers = new Headers3(); + if (Array.isArray(headersList)) { + for (let n2 = 0; n2 < headersList.length; n2 += 2) { + const key = headersList[n2 + 0].toString("latin1"); + const val = headersList[n2 + 1].toString("latin1"); + if (key.toLowerCase() === "content-encoding") { + codings = val.toLowerCase().split(",").map((x2) => x2.trim()); + } else if (key.toLowerCase() === "location") { + location = val; + } + headers[kHeadersList].append(key, val); + } + } else { + const keys = Object.keys(headersList); + for (const key of keys) { + const val = headersList[key]; + if (key.toLowerCase() === "content-encoding") { + codings = val.toLowerCase().split(",").map((x2) => x2.trim()).reverse(); + } else if (key.toLowerCase() === "location") { + location = val; + } + headers[kHeadersList].append(key, val); + } + } + this.body = new Readable4({ read: resume }); + const decoders = []; + const willFollow = request3.redirect === "follow" && location && redirectStatusSet.has(status); + if (request3.method !== "HEAD" && request3.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { + for (const coding of codings) { + if (coding === "x-gzip" || coding === "gzip") { + decoders.push(zlib3.createGunzip({ + flush: zlib3.constants.Z_SYNC_FLUSH, + finishFlush: zlib3.constants.Z_SYNC_FLUSH + })); + } else if (coding === "deflate") { + decoders.push(zlib3.createInflate()); + } else if (coding === "br") { + decoders.push(zlib3.createBrotliDecompress()); + } else { + decoders.length = 0; + break; + } + } + } + resolve({ + status, + statusText, + headersList: headers[kHeadersList], + body: decoders.length ? pipeline(this.body, ...decoders, () => { + }) : this.body.on("error", () => { + }) + }); + return true; + }, + onData(chunk) { + if (fetchParams.controller.dump) { + return; + } + const bytes = chunk; + timingInfo.encodedBodySize += bytes.byteLength; + return this.body.push(bytes); + }, + onComplete() { + if (this.abort) { + fetchParams.controller.off("terminated", this.abort); + } + fetchParams.controller.ended = true; + this.body.push(null); + }, + onError(error) { + if (this.abort) { + fetchParams.controller.off("terminated", this.abort); + } + this.body?.destroy(error); + fetchParams.controller.terminate(error); + reject(error); + }, + onUpgrade(status, headersList, socket) { + if (status !== 101) { + return; + } + const headers = new Headers3(); + for (let n2 = 0; n2 < headersList.length; n2 += 2) { + const key = headersList[n2 + 0].toString("latin1"); + const val = headersList[n2 + 1].toString("latin1"); + headers[kHeadersList].append(key, val); + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList: headers[kHeadersList], + socket + }); + return true; + } + } + )); + } + } + module2.exports = { + fetch: fetch2, + Fetch, + fetching, + finalizeAndReportTiming + }; + } +}); + +// node_modules/undici/lib/fileapi/symbols.js +var require_symbols3 = __commonJS({ + "node_modules/undici/lib/fileapi/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kState: Symbol("FileReader state"), + kResult: Symbol("FileReader result"), + kError: Symbol("FileReader error"), + kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), + kEvents: Symbol("FileReader events"), + kAborted: Symbol("FileReader aborted") + }; + } +}); + +// node_modules/undici/lib/fileapi/progressevent.js +var require_progressevent = __commonJS({ + "node_modules/undici/lib/fileapi/progressevent.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var kState = Symbol("ProgressEvent state"); + var ProgressEvent = class extends Event { + constructor(type2, eventInitDict = {}) { + type2 = webidl.converters.DOMString(type2); + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); + super(type2, eventInitDict); + this[kState] = { + lengthComputable: eventInitDict.lengthComputable, + loaded: eventInitDict.loaded, + total: eventInitDict.total + }; + } + get lengthComputable() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].lengthComputable; + } + get loaded() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].loaded; + } + get total() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].total; + } + }; + webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ + { + key: "lengthComputable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "loaded", + converter: webidl.converters["unsigned long long"], + defaultValue: 0 + }, + { + key: "total", + converter: webidl.converters["unsigned long long"], + defaultValue: 0 + }, + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: false + } + ]); + module2.exports = { + ProgressEvent + }; + } +}); + +// node_modules/undici/lib/fileapi/encoding.js +var require_encoding = __commonJS({ + "node_modules/undici/lib/fileapi/encoding.js"(exports, module2) { + "use strict"; + function getEncoding(label) { + if (!label) { + return "failure"; + } + switch (label.trim().toLowerCase()) { + case "unicode-1-1-utf-8": + case "unicode11utf8": + case "unicode20utf8": + case "utf-8": + case "utf8": + case "x-unicode20utf8": + return "UTF-8"; + case "866": + case "cp866": + case "csibm866": + case "ibm866": + return "IBM866"; + case "csisolatin2": + case "iso-8859-2": + case "iso-ir-101": + case "iso8859-2": + case "iso88592": + case "iso_8859-2": + case "iso_8859-2:1987": + case "l2": + case "latin2": + return "ISO-8859-2"; + case "csisolatin3": + case "iso-8859-3": + case "iso-ir-109": + case "iso8859-3": + case "iso88593": + case "iso_8859-3": + case "iso_8859-3:1988": + case "l3": + case "latin3": + return "ISO-8859-3"; + case "csisolatin4": + case "iso-8859-4": + case "iso-ir-110": + case "iso8859-4": + case "iso88594": + case "iso_8859-4": + case "iso_8859-4:1988": + case "l4": + case "latin4": + return "ISO-8859-4"; + case "csisolatincyrillic": + case "cyrillic": + case "iso-8859-5": + case "iso-ir-144": + case "iso8859-5": + case "iso88595": + case "iso_8859-5": + case "iso_8859-5:1988": + return "ISO-8859-5"; + case "arabic": + case "asmo-708": + case "csiso88596e": + case "csiso88596i": + case "csisolatinarabic": + case "ecma-114": + case "iso-8859-6": + case "iso-8859-6-e": + case "iso-8859-6-i": + case "iso-ir-127": + case "iso8859-6": + case "iso88596": + case "iso_8859-6": + case "iso_8859-6:1987": + return "ISO-8859-6"; + case "csisolatingreek": + case "ecma-118": + case "elot_928": + case "greek": + case "greek8": + case "iso-8859-7": + case "iso-ir-126": + case "iso8859-7": + case "iso88597": + case "iso_8859-7": + case "iso_8859-7:1987": + case "sun_eu_greek": + return "ISO-8859-7"; + case "csiso88598e": + case "csisolatinhebrew": + case "hebrew": + case "iso-8859-8": + case "iso-8859-8-e": + case "iso-ir-138": + case "iso8859-8": + case "iso88598": + case "iso_8859-8": + case "iso_8859-8:1988": + case "visual": + return "ISO-8859-8"; + case "csiso88598i": + case "iso-8859-8-i": + case "logical": + return "ISO-8859-8-I"; + case "csisolatin6": + case "iso-8859-10": + case "iso-ir-157": + case "iso8859-10": + case "iso885910": + case "l6": + case "latin6": + return "ISO-8859-10"; + case "iso-8859-13": + case "iso8859-13": + case "iso885913": + return "ISO-8859-13"; + case "iso-8859-14": + case "iso8859-14": + case "iso885914": + return "ISO-8859-14"; + case "csisolatin9": + case "iso-8859-15": + case "iso8859-15": + case "iso885915": + case "iso_8859-15": + case "l9": + return "ISO-8859-15"; + case "iso-8859-16": + return "ISO-8859-16"; + case "cskoi8r": + case "koi": + case "koi8": + case "koi8-r": + case "koi8_r": + return "KOI8-R"; + case "koi8-ru": + case "koi8-u": + return "KOI8-U"; + case "csmacintosh": + case "mac": + case "macintosh": + case "x-mac-roman": + return "macintosh"; + case "iso-8859-11": + case "iso8859-11": + case "iso885911": + case "tis-620": + case "windows-874": + return "windows-874"; + case "cp1250": + case "windows-1250": + case "x-cp1250": + return "windows-1250"; + case "cp1251": + case "windows-1251": + case "x-cp1251": + return "windows-1251"; + case "ansi_x3.4-1968": + case "ascii": + case "cp1252": + case "cp819": + case "csisolatin1": + case "ibm819": + case "iso-8859-1": + case "iso-ir-100": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "iso_8859-1:1987": + case "l1": + case "latin1": + case "us-ascii": + case "windows-1252": + case "x-cp1252": + return "windows-1252"; + case "cp1253": + case "windows-1253": + case "x-cp1253": + return "windows-1253"; + case "cp1254": + case "csisolatin5": + case "iso-8859-9": + case "iso-ir-148": + case "iso8859-9": + case "iso88599": + case "iso_8859-9": + case "iso_8859-9:1989": + case "l5": + case "latin5": + case "windows-1254": + case "x-cp1254": + return "windows-1254"; + case "cp1255": + case "windows-1255": + case "x-cp1255": + return "windows-1255"; + case "cp1256": + case "windows-1256": + case "x-cp1256": + return "windows-1256"; + case "cp1257": + case "windows-1257": + case "x-cp1257": + return "windows-1257"; + case "cp1258": + case "windows-1258": + case "x-cp1258": + return "windows-1258"; + case "x-mac-cyrillic": + case "x-mac-ukrainian": + return "x-mac-cyrillic"; + case "chinese": + case "csgb2312": + case "csiso58gb231280": + case "gb2312": + case "gb_2312": + case "gb_2312-80": + case "gbk": + case "iso-ir-58": + case "x-gbk": + return "GBK"; + case "gb18030": + return "gb18030"; + case "big5": + case "big5-hkscs": + case "cn-big5": + case "csbig5": + case "x-x-big5": + return "Big5"; + case "cseucpkdfmtjapanese": + case "euc-jp": + case "x-euc-jp": + return "EUC-JP"; + case "csiso2022jp": + case "iso-2022-jp": + return "ISO-2022-JP"; + case "csshiftjis": + case "ms932": + case "ms_kanji": + case "shift-jis": + case "shift_jis": + case "sjis": + case "windows-31j": + case "x-sjis": + return "Shift_JIS"; + case "cseuckr": + case "csksc56011987": + case "euc-kr": + case "iso-ir-149": + case "korean": + case "ks_c_5601-1987": + case "ks_c_5601-1989": + case "ksc5601": + case "ksc_5601": + case "windows-949": + return "EUC-KR"; + case "csiso2022kr": + case "hz-gb-2312": + case "iso-2022-cn": + case "iso-2022-cn-ext": + case "iso-2022-kr": + case "replacement": + return "replacement"; + case "unicodefffe": + case "utf-16be": + return "UTF-16BE"; + case "csunicode": + case "iso-10646-ucs-2": + case "ucs-2": + case "unicode": + case "unicodefeff": + case "utf-16": + case "utf-16le": + return "UTF-16LE"; + case "x-user-defined": + return "x-user-defined"; + default: + return "failure"; + } + } + module2.exports = { + getEncoding + }; + } +}); + +// node_modules/undici/lib/fileapi/util.js +var require_util4 = __commonJS({ + "node_modules/undici/lib/fileapi/util.js"(exports, module2) { + "use strict"; + var { + kState, + kError, + kResult, + kAborted, + kLastProgressEventFired + } = require_symbols3(); + var { ProgressEvent } = require_progressevent(); + var { getEncoding } = require_encoding(); + var { DOMException: DOMException3 } = require_constants2(); + var { serializeAMimeType, parseMIMEType } = require_dataURL(); + var { types } = require("util"); + var { StringDecoder } = require("string_decoder"); + var { btoa: btoa2 } = require("buffer"); + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + function readOperation(fr2, blob, type2, encodingName) { + if (fr2[kState] === "loading") { + throw new DOMException3("Invalid state", "InvalidStateError"); + } + fr2[kState] = "loading"; + fr2[kResult] = null; + fr2[kError] = null; + const stream4 = blob.stream(); + const reader = stream4.getReader(); + const bytes = []; + let chunkPromise = reader.read(); + let isFirstChunk = true; + (async () => { + while (!fr2[kAborted]) { + try { + const { done, value } = await chunkPromise; + if (isFirstChunk && !fr2[kAborted]) { + queueMicrotask(() => { + fireAProgressEvent("loadstart", fr2); + }); + } + isFirstChunk = false; + if (!done && types.isUint8Array(value)) { + bytes.push(value); + if ((fr2[kLastProgressEventFired] === void 0 || Date.now() - fr2[kLastProgressEventFired] >= 50) && !fr2[kAborted]) { + fr2[kLastProgressEventFired] = Date.now(); + queueMicrotask(() => { + fireAProgressEvent("progress", fr2); + }); + } + chunkPromise = reader.read(); + } else if (done) { + queueMicrotask(() => { + fr2[kState] = "done"; + try { + const result = packageData(bytes, type2, blob.type, encodingName); + if (fr2[kAborted]) { + return; + } + fr2[kResult] = result; + fireAProgressEvent("load", fr2); + } catch (error) { + fr2[kError] = error; + fireAProgressEvent("error", fr2); + } + if (fr2[kState] !== "loading") { + fireAProgressEvent("loadend", fr2); + } + }); + break; + } + } catch (error) { + if (fr2[kAborted]) { + return; + } + queueMicrotask(() => { + fr2[kState] = "done"; + fr2[kError] = error; + fireAProgressEvent("error", fr2); + if (fr2[kState] !== "loading") { + fireAProgressEvent("loadend", fr2); + } + }); + break; + } + } + })(); + } + function fireAProgressEvent(e3, reader) { + const event = new ProgressEvent(e3, { + bubbles: false, + cancelable: false + }); + reader.dispatchEvent(event); + } + function packageData(bytes, type2, mimeType, encodingName) { + switch (type2) { + case "DataURL": { + let dataURL = "data:"; + const parsed = parseMIMEType(mimeType || "application/octet-stream"); + if (parsed !== "failure") { + dataURL += serializeAMimeType(parsed); + } + dataURL += ";base64,"; + const decoder = new StringDecoder("latin1"); + for (const chunk of bytes) { + dataURL += btoa2(decoder.write(chunk)); + } + dataURL += btoa2(decoder.end()); + return dataURL; + } + case "Text": { + let encoding = "failure"; + if (encodingName) { + encoding = getEncoding(encodingName); + } + if (encoding === "failure" && mimeType) { + const type3 = parseMIMEType(mimeType); + if (type3 !== "failure") { + encoding = getEncoding(type3.parameters.get("charset")); + } + } + if (encoding === "failure") { + encoding = "UTF-8"; + } + return decode(bytes, encoding); + } + case "ArrayBuffer": { + const sequence = combineByteSequences(bytes); + return sequence.buffer; + } + case "BinaryString": { + let binaryString = ""; + const decoder = new StringDecoder("latin1"); + for (const chunk of bytes) { + binaryString += decoder.write(chunk); + } + binaryString += decoder.end(); + return binaryString; + } + } + } + function decode(ioQueue, encoding) { + const bytes = combineByteSequences(ioQueue); + const BOMEncoding = BOMSniffing(bytes); + let slice = 0; + if (BOMEncoding !== null) { + encoding = BOMEncoding; + slice = BOMEncoding === "UTF-8" ? 3 : 2; + } + const sliced = bytes.slice(slice); + return new TextDecoder(encoding).decode(sliced); + } + function BOMSniffing(ioQueue) { + const [a3, b3, c2] = ioQueue; + if (a3 === 239 && b3 === 187 && c2 === 191) { + return "UTF-8"; + } else if (a3 === 254 && b3 === 255) { + return "UTF-16BE"; + } else if (a3 === 255 && b3 === 254) { + return "UTF-16LE"; + } + return null; + } + function combineByteSequences(sequences) { + const size = sequences.reduce((a3, b3) => { + return a3 + b3.byteLength; + }, 0); + let offset = 0; + return sequences.reduce((a3, b3) => { + a3.set(b3, offset); + offset += b3.byteLength; + return a3; + }, new Uint8Array(size)); + } + module2.exports = { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + }; + } +}); + +// node_modules/undici/lib/fileapi/filereader.js +var require_filereader = __commonJS({ + "node_modules/undici/lib/fileapi/filereader.js"(exports, module2) { + "use strict"; + var { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + } = require_util4(); + var { + kState, + kError, + kResult, + kEvents, + kAborted + } = require_symbols3(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var FileReader = class extends EventTarget { + constructor() { + super(); + this[kState] = "empty"; + this[kResult] = null; + this[kError] = null; + this[kEvents] = { + loadend: null, + error: null, + abort: null, + load: null, + progress: null, + loadstart: null + }; + } + readAsArrayBuffer(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "ArrayBuffer"); + } + readAsBinaryString(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "BinaryString"); + } + readAsText(blob, encoding = void 0) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); + blob = webidl.converters.Blob(blob, { strict: false }); + if (encoding !== void 0) { + encoding = webidl.converters.DOMString(encoding); + } + readOperation(this, blob, "Text", encoding); + } + readAsDataURL(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "DataURL"); + } + abort() { + if (this[kState] === "empty" || this[kState] === "done") { + this[kResult] = null; + return; + } + if (this[kState] === "loading") { + this[kState] = "done"; + this[kResult] = null; + } + this[kAborted] = true; + fireAProgressEvent("abort", this); + if (this[kState] !== "loading") { + fireAProgressEvent("loadend", this); + } + } + get readyState() { + webidl.brandCheck(this, FileReader); + switch (this[kState]) { + case "empty": + return this.EMPTY; + case "loading": + return this.LOADING; + case "done": + return this.DONE; + } + } + get result() { + webidl.brandCheck(this, FileReader); + return this[kResult]; + } + get error() { + webidl.brandCheck(this, FileReader); + return this[kError]; + } + get onloadend() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadend; + } + set onloadend(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadend) { + this.removeEventListener("loadend", this[kEvents].loadend); + } + if (typeof fn === "function") { + this[kEvents].loadend = fn; + this.addEventListener("loadend", fn); + } else { + this[kEvents].loadend = null; + } + } + get onerror() { + webidl.brandCheck(this, FileReader); + return this[kEvents].error; + } + set onerror(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].error) { + this.removeEventListener("error", this[kEvents].error); + } + if (typeof fn === "function") { + this[kEvents].error = fn; + this.addEventListener("error", fn); + } else { + this[kEvents].error = null; + } + } + get onloadstart() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadstart; + } + set onloadstart(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadstart) { + this.removeEventListener("loadstart", this[kEvents].loadstart); + } + if (typeof fn === "function") { + this[kEvents].loadstart = fn; + this.addEventListener("loadstart", fn); + } else { + this[kEvents].loadstart = null; + } + } + get onprogress() { + webidl.brandCheck(this, FileReader); + return this[kEvents].progress; + } + set onprogress(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].progress) { + this.removeEventListener("progress", this[kEvents].progress); + } + if (typeof fn === "function") { + this[kEvents].progress = fn; + this.addEventListener("progress", fn); + } else { + this[kEvents].progress = null; + } + } + get onload() { + webidl.brandCheck(this, FileReader); + return this[kEvents].load; + } + set onload(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].load) { + this.removeEventListener("load", this[kEvents].load); + } + if (typeof fn === "function") { + this[kEvents].load = fn; + this.addEventListener("load", fn); + } else { + this[kEvents].load = null; + } + } + get onabort() { + webidl.brandCheck(this, FileReader); + return this[kEvents].abort; + } + set onabort(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].abort) { + this.removeEventListener("abort", this[kEvents].abort); + } + if (typeof fn === "function") { + this[kEvents].abort = fn; + this.addEventListener("abort", fn); + } else { + this[kEvents].abort = null; + } + } + }; + FileReader.EMPTY = FileReader.prototype.EMPTY = 0; + FileReader.LOADING = FileReader.prototype.LOADING = 1; + FileReader.DONE = FileReader.prototype.DONE = 2; + Object.defineProperties(FileReader.prototype, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors, + readAsArrayBuffer: kEnumerableProperty, + readAsBinaryString: kEnumerableProperty, + readAsText: kEnumerableProperty, + readAsDataURL: kEnumerableProperty, + abort: kEnumerableProperty, + readyState: kEnumerableProperty, + result: kEnumerableProperty, + error: kEnumerableProperty, + onloadstart: kEnumerableProperty, + onprogress: kEnumerableProperty, + onload: kEnumerableProperty, + onabort: kEnumerableProperty, + onerror: kEnumerableProperty, + onloadend: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "FileReader", + writable: false, + enumerable: false, + configurable: true + } + }); + Object.defineProperties(FileReader, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors + }); + module2.exports = { + FileReader + }; + } +}); + +// node_modules/undici/lib/cache/symbols.js +var require_symbols4 = __commonJS({ + "node_modules/undici/lib/cache/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kConstruct: require_symbols().kConstruct + }; + } +}); + +// node_modules/undici/lib/cache/util.js +var require_util5 = __commonJS({ + "node_modules/undici/lib/cache/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { URLSerializer } = require_dataURL(); + var { isValidHeaderName: isValidHeaderName2 } = require_util2(); + function urlEquals(A3, B2, excludeFragment = false) { + const serializedA = URLSerializer(A3, excludeFragment); + const serializedB = URLSerializer(B2, excludeFragment); + return serializedA === serializedB; + } + function fieldValues(header) { + assert(header !== null); + const values = []; + for (let value of header.split(",")) { + value = value.trim(); + if (!value.length) { + continue; + } else if (!isValidHeaderName2(value)) { + continue; + } + values.push(value); + } + return values; + } + module2.exports = { + urlEquals, + fieldValues + }; + } +}); + +// node_modules/undici/lib/cache/cache.js +var require_cache = __commonJS({ + "node_modules/undici/lib/cache/cache.js"(exports, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { urlEquals, fieldValues: getFieldValues } = require_util5(); + var { kEnumerableProperty, isDisturbed } = require_util(); + var { kHeadersList } = require_symbols(); + var { webidl } = require_webidl(); + var { Response: Response3, cloneResponse } = require_response(); + var { Request: Request3 } = require_request2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { fetching } = require_fetch(); + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); + var assert = require("assert"); + var { getGlobalDispatcher } = require_global2(); + var Cache = class { + #relevantRequestResponseList; + constructor() { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); + } + this.#relevantRequestResponseList = arguments[1]; + } + async match(request3, options = {}) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); + request3 = webidl.converters.RequestInfo(request3); + options = webidl.converters.CacheQueryOptions(options); + const p3 = await this.matchAll(request3, options); + if (p3.length === 0) { + return; + } + return p3[0]; + } + async matchAll(request3 = void 0, options = {}) { + webidl.brandCheck(this, Cache); + if (request3 !== void 0) + request3 = webidl.converters.RequestInfo(request3); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request3 !== void 0) { + if (request3 instanceof Request3) { + r3 = request3[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request3 === "string") { + r3 = new Request3(request3)[kState]; + } + } + const responses = []; + if (request3 === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + responses.push(requestResponse[1]); + } + } else { + const requestResponses = this.#queryCache(r3, options); + for (const requestResponse of requestResponses) { + responses.push(requestResponse[1]); + } + } + const responseList = []; + for (const response of responses) { + const responseObject = new Response3(response.body?.source ?? null); + const body = responseObject[kState].body; + responseObject[kState] = response; + responseObject[kState].body = body; + responseObject[kHeaders][kHeadersList] = response.headersList; + responseObject[kHeaders][kGuard] = "immutable"; + responseList.push(responseObject); + } + return Object.freeze(responseList); + } + async add(request3) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); + request3 = webidl.converters.RequestInfo(request3); + const requests = [request3]; + const responseArrayPromise = this.addAll(requests); + return await responseArrayPromise; + } + async addAll(requests) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); + requests = webidl.converters["sequence<RequestInfo>"](requests); + const responsePromises = []; + const requestList = []; + for (const request3 of requests) { + if (typeof request3 === "string") { + continue; + } + const r3 = request3[kState]; + if (!urlIsHttpHttpsScheme(r3.url) || r3.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.addAll", + message: "Expected http/s scheme when method is not GET." + }); + } + } + const fetchControllers = []; + for (const request3 of requests) { + const r3 = new Request3(request3)[kState]; + if (!urlIsHttpHttpsScheme(r3.url)) { + throw webidl.errors.exception({ + header: "Cache.addAll", + message: "Expected http/s scheme." + }); + } + r3.initiator = "fetch"; + r3.destination = "subresource"; + requestList.push(r3); + const responsePromise = createDeferredPromise(); + fetchControllers.push(fetching({ + request: r3, + dispatcher: getGlobalDispatcher(), + processResponse(response) { + if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { + responsePromise.reject(webidl.errors.exception({ + header: "Cache.addAll", + message: "Received an invalid status code or the request failed." + })); + } else if (response.headersList.contains("vary")) { + const fieldValues = getFieldValues(response.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + responsePromise.reject(webidl.errors.exception({ + header: "Cache.addAll", + message: "invalid vary field value" + })); + for (const controller of fetchControllers) { + controller.abort(); + } + return; + } + } + } + }, + processResponseEndOfBody(response) { + if (response.aborted) { + responsePromise.reject(new DOMException("aborted", "AbortError")); + return; + } + responsePromise.resolve(response); + } + })); + responsePromises.push(responsePromise.promise); + } + const p3 = Promise.all(responsePromises); + const responses = await p3; + const operations = []; + let index = 0; + for (const response of responses) { + const operation = { + type: "put", + request: requestList[index], + response + }; + operations.push(operation); + index++; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(void 0); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async put(request3, response) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); + request3 = webidl.converters.RequestInfo(request3); + response = webidl.converters.Response(response); + let innerRequest = null; + if (request3 instanceof Request3) { + innerRequest = request3[kState]; + } else { + innerRequest = new Request3(request3)[kState]; + } + if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Expected an http/s scheme when method is not GET" + }); + } + const innerResponse = response[kState]; + if (innerResponse.status === 206) { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Got 206 status" + }); + } + if (innerResponse.headersList.contains("vary")) { + const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Got * vary field value" + }); + } + } + } + if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + throw webidl.errors.exception({ + header: "Cache.put", + message: "Response body is locked or disturbed" + }); + } + const clonedResponse = cloneResponse(innerResponse); + const bodyReadPromise = createDeferredPromise(); + if (innerResponse.body != null) { + const stream4 = innerResponse.body.stream; + const reader = stream4.getReader(); + readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); + } else { + bodyReadPromise.resolve(void 0); + } + const operations = []; + const operation = { + type: "put", + request: innerRequest, + response: clonedResponse + }; + operations.push(operation); + const bytes = await bodyReadPromise.promise; + if (clonedResponse.body != null) { + clonedResponse.body.source = bytes; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async delete(request3, options = {}) { + webidl.brandCheck(this, Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); + request3 = webidl.converters.RequestInfo(request3); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request3 instanceof Request3) { + r3 = request3[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return false; + } + } else { + assert(typeof request3 === "string"); + r3 = new Request3(request3)[kState]; + } + const operations = []; + const operation = { + type: "delete", + request: r3, + options + }; + operations.push(operation); + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + let requestResponses; + try { + requestResponses = this.#batchCacheOperations(operations); + } catch (e3) { + errorData = e3; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(!!requestResponses?.length); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async keys(request3 = void 0, options = {}) { + webidl.brandCheck(this, Cache); + if (request3 !== void 0) + request3 = webidl.converters.RequestInfo(request3); + options = webidl.converters.CacheQueryOptions(options); + let r3 = null; + if (request3 !== void 0) { + if (request3 instanceof Request3) { + r3 = request3[kState]; + if (r3.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request3 === "string") { + r3 = new Request3(request3)[kState]; + } + } + const promise = createDeferredPromise(); + const requests = []; + if (request3 === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + requests.push(requestResponse[0]); + } + } else { + const requestResponses = this.#queryCache(r3, options); + for (const requestResponse of requestResponses) { + requests.push(requestResponse[0]); + } + } + queueMicrotask(() => { + const requestList = []; + for (const request4 of requests) { + const requestObject = new Request3("https://a"); + requestObject[kState] = request4; + requestObject[kHeaders][kHeadersList] = request4.headersList; + requestObject[kHeaders][kGuard] = "immutable"; + requestObject[kRealm] = request4.client; + requestList.push(requestObject); + } + promise.resolve(Object.freeze(requestList)); + }); + return promise.promise; + } + #batchCacheOperations(operations) { + const cache = this.#relevantRequestResponseList; + const backupCache = [...cache]; + const addedItems = []; + const resultList = []; + try { + for (const operation of operations) { + if (operation.type !== "delete" && operation.type !== "put") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: 'operation type does not match "delete" or "put"' + }); + } + if (operation.type === "delete" && operation.response != null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "delete operation should not have an associated response" + }); + } + if (this.#queryCache(operation.request, operation.options, addedItems).length) { + throw new DOMException("???", "InvalidStateError"); + } + let requestResponses; + if (operation.type === "delete") { + requestResponses = this.#queryCache(operation.request, operation.options); + if (requestResponses.length === 0) { + return []; + } + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + } else if (operation.type === "put") { + if (operation.response == null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "put operation should have an associated response" + }); + } + const r3 = operation.request; + if (!urlIsHttpHttpsScheme(r3.url)) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "expected http or https scheme" + }); + } + if (r3.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "not get method" + }); + } + if (operation.options != null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "options must not be defined" + }); + } + requestResponses = this.#queryCache(operation.request); + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + cache.push([operation.request, operation.response]); + addedItems.push([operation.request, operation.response]); + } + resultList.push([operation.request, operation.response]); + } + return resultList; + } catch (e3) { + this.#relevantRequestResponseList.length = 0; + this.#relevantRequestResponseList = backupCache; + throw e3; + } + } + #queryCache(requestQuery, options, targetStorage) { + const resultList = []; + const storage = targetStorage ?? this.#relevantRequestResponseList; + for (const requestResponse of storage) { + const [cachedRequest, cachedResponse] = requestResponse; + if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { + resultList.push(requestResponse); + } + } + return resultList; + } + #requestMatchesCachedItem(requestQuery, request3, response = null, options) { + const queryURL = new URL(requestQuery.url); + const cachedURL = new URL(request3.url); + if (options?.ignoreSearch) { + cachedURL.search = ""; + queryURL.search = ""; + } + if (!urlEquals(queryURL, cachedURL, true)) { + return false; + } + if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { + return true; + } + const fieldValues = getFieldValues(response.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + return false; + } + const requestValue = request3.headersList.get(fieldValue); + const queryValue = requestQuery.headersList.get(fieldValue); + if (requestValue !== queryValue) { + return false; + } + } + return true; + } + }; + Object.defineProperties(Cache.prototype, { + [Symbol.toStringTag]: { + value: "Cache", + configurable: true + }, + match: kEnumerableProperty, + matchAll: kEnumerableProperty, + add: kEnumerableProperty, + addAll: kEnumerableProperty, + put: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + var cacheQueryOptionConverters = [ + { + key: "ignoreSearch", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "ignoreMethod", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "ignoreVary", + converter: webidl.converters.boolean, + defaultValue: false + } + ]; + webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); + webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ + ...cacheQueryOptionConverters, + { + key: "cacheName", + converter: webidl.converters.DOMString + } + ]); + webidl.converters.Response = webidl.interfaceConverter(Response3); + webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter( + webidl.converters.RequestInfo + ); + module2.exports = { + Cache + }; + } +}); + +// node_modules/undici/lib/cache/cachestorage.js +var require_cachestorage = __commonJS({ + "node_modules/undici/lib/cache/cachestorage.js"(exports, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { Cache } = require_cache(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var CacheStorage = class { + #caches = /* @__PURE__ */ new Map(); + constructor() { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); + } + } + async match(request3, options = {}) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); + request3 = webidl.converters.RequestInfo(request3); + options = webidl.converters.MultiCacheQueryOptions(options); + if (options.cacheName != null) { + if (this.#caches.has(options.cacheName)) { + const cacheList = this.#caches.get(options.cacheName); + const cache = new Cache(kConstruct, cacheList); + return await cache.match(request3, options); + } + } else { + for (const cacheList of this.#caches.values()) { + const cache = new Cache(kConstruct, cacheList); + const response = await cache.match(request3, options); + if (response !== void 0) { + return response; + } + } + } + } + async has(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); + cacheName = webidl.converters.DOMString(cacheName); + return this.#caches.has(cacheName); + } + async open(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); + cacheName = webidl.converters.DOMString(cacheName); + if (this.#caches.has(cacheName)) { + const cache2 = this.#caches.get(cacheName); + return new Cache(kConstruct, cache2); + } + const cache = []; + this.#caches.set(cacheName, cache); + return new Cache(kConstruct, cache); + } + async delete(cacheName) { + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); + cacheName = webidl.converters.DOMString(cacheName); + return this.#caches.delete(cacheName); + } + async keys() { + webidl.brandCheck(this, CacheStorage); + const keys = this.#caches.keys(); + return [...keys]; + } + }; + Object.defineProperties(CacheStorage.prototype, { + [Symbol.toStringTag]: { + value: "CacheStorage", + configurable: true + }, + match: kEnumerableProperty, + has: kEnumerableProperty, + open: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + module2.exports = { + CacheStorage + }; + } +}); + +// node_modules/undici/lib/cookies/constants.js +var require_constants4 = __commonJS({ + "node_modules/undici/lib/cookies/constants.js"(exports, module2) { + "use strict"; + var maxAttributeValueSize = 1024; + var maxNameValuePairSize = 4096; + module2.exports = { + maxAttributeValueSize, + maxNameValuePairSize + }; + } +}); + +// node_modules/undici/lib/cookies/util.js +var require_util6 = __commonJS({ + "node_modules/undici/lib/cookies/util.js"(exports, module2) { + "use strict"; + var assert = require("assert"); + var { kHeadersList } = require_symbols(); + function isCTLExcludingHtab(value) { + if (value.length === 0) { + return false; + } + for (const char of value) { + const code = char.charCodeAt(0); + if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { + return false; + } + } + } + function validateCookieName(name) { + for (const char of name) { + const code = char.charCodeAt(0); + if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { + throw new Error("Invalid cookie name"); + } + } + } + function validateCookieValue(value) { + for (const char of value) { + const code = char.charCodeAt(0); + if (code < 33 || code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { + throw new Error("Invalid header value"); + } + } + } + function validateCookiePath(path2) { + for (const char of path2) { + const code = char.charCodeAt(0); + if (code < 33 || char === ";") { + throw new Error("Invalid cookie path"); + } + } + } + function validateCookieDomain(domain) { + if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { + throw new Error("Invalid cookie domain"); + } + } + function toIMFDate(date) { + if (typeof date === "number") { + date = new Date(date); + } + const days = [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ]; + const months = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ]; + const dayName = days[date.getUTCDay()]; + const day = date.getUTCDate().toString().padStart(2, "0"); + const month = months[date.getUTCMonth()]; + const year = date.getUTCFullYear(); + const hour = date.getUTCHours().toString().padStart(2, "0"); + const minute = date.getUTCMinutes().toString().padStart(2, "0"); + const second = date.getUTCSeconds().toString().padStart(2, "0"); + return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + } + function validateCookieMaxAge(maxAge) { + if (maxAge < 0) { + throw new Error("Invalid cookie max-age"); + } + } + function stringify(cookie) { + if (cookie.name.length === 0) { + return null; + } + validateCookieName(cookie.name); + validateCookieValue(cookie.value); + const out = [`${cookie.name}=${cookie.value}`]; + if (cookie.name.startsWith("__Secure-")) { + cookie.secure = true; + } + if (cookie.name.startsWith("__Host-")) { + cookie.secure = true; + cookie.domain = null; + cookie.path = "/"; + } + if (cookie.secure) { + out.push("Secure"); + } + if (cookie.httpOnly) { + out.push("HttpOnly"); + } + if (typeof cookie.maxAge === "number") { + validateCookieMaxAge(cookie.maxAge); + out.push(`Max-Age=${cookie.maxAge}`); + } + if (cookie.domain) { + validateCookieDomain(cookie.domain); + out.push(`Domain=${cookie.domain}`); + } + if (cookie.path) { + validateCookiePath(cookie.path); + out.push(`Path=${cookie.path}`); + } + if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { + out.push(`Expires=${toIMFDate(cookie.expires)}`); + } + if (cookie.sameSite) { + out.push(`SameSite=${cookie.sameSite}`); + } + for (const part of cookie.unparsed) { + if (!part.includes("=")) { + throw new Error("Invalid unparsed"); + } + const [key, ...value] = part.split("="); + out.push(`${key.trim()}=${value.join("=")}`); + } + return out.join("; "); + } + var kHeadersListNode; + function getHeadersList(headers) { + if (headers[kHeadersList]) { + return headers[kHeadersList]; + } + if (!kHeadersListNode) { + kHeadersListNode = Object.getOwnPropertySymbols(headers).find( + (symbol) => symbol.description === "headers list" + ); + assert(kHeadersListNode, "Headers cannot be parsed"); + } + const headersList = headers[kHeadersListNode]; + assert(headersList); + return headersList; + } + module2.exports = { + isCTLExcludingHtab, + stringify, + getHeadersList + }; + } +}); + +// node_modules/undici/lib/cookies/parse.js +var require_parse2 = __commonJS({ + "node_modules/undici/lib/cookies/parse.js"(exports, module2) { + "use strict"; + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); + var { isCTLExcludingHtab } = require_util6(); + var { collectASequenceOfCodePointsFast } = require_dataURL(); + var assert = require("assert"); + function parseSetCookie(header) { + if (isCTLExcludingHtab(header)) { + return null; + } + let nameValuePair = ""; + let unparsedAttributes = ""; + let name = ""; + let value = ""; + if (header.includes(";")) { + const position = { position: 0 }; + nameValuePair = collectASequenceOfCodePointsFast(";", header, position); + unparsedAttributes = header.slice(position.position); + } else { + nameValuePair = header; + } + if (!nameValuePair.includes("=")) { + value = nameValuePair; + } else { + const position = { position: 0 }; + name = collectASequenceOfCodePointsFast( + "=", + nameValuePair, + position + ); + value = nameValuePair.slice(position.position + 1); + } + name = name.trim(); + value = value.trim(); + if (name.length + value.length > maxNameValuePairSize) { + return null; + } + return { + name, + value, + ...parseUnparsedAttributes(unparsedAttributes) + }; + } + function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { + if (unparsedAttributes.length === 0) { + return cookieAttributeList; + } + assert(unparsedAttributes[0] === ";"); + unparsedAttributes = unparsedAttributes.slice(1); + let cookieAv = ""; + if (unparsedAttributes.includes(";")) { + cookieAv = collectASequenceOfCodePointsFast( + ";", + unparsedAttributes, + { position: 0 } + ); + unparsedAttributes = unparsedAttributes.slice(cookieAv.length); + } else { + cookieAv = unparsedAttributes; + unparsedAttributes = ""; + } + let attributeName = ""; + let attributeValue = ""; + if (cookieAv.includes("=")) { + const position = { position: 0 }; + attributeName = collectASequenceOfCodePointsFast( + "=", + cookieAv, + position + ); + attributeValue = cookieAv.slice(position.position + 1); + } else { + attributeName = cookieAv; + } + attributeName = attributeName.trim(); + attributeValue = attributeValue.trim(); + if (attributeValue.length > maxAttributeValueSize) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + const attributeNameLowercase = attributeName.toLowerCase(); + if (attributeNameLowercase === "expires") { + const expiryTime = new Date(attributeValue); + cookieAttributeList.expires = expiryTime; + } else if (attributeNameLowercase === "max-age") { + const charCode = attributeValue.charCodeAt(0); + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + if (!/^\d+$/.test(attributeValue)) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + const deltaSeconds = Number(attributeValue); + cookieAttributeList.maxAge = deltaSeconds; + } else if (attributeNameLowercase === "domain") { + let cookieDomain = attributeValue; + if (cookieDomain[0] === ".") { + cookieDomain = cookieDomain.slice(1); + } + cookieDomain = cookieDomain.toLowerCase(); + cookieAttributeList.domain = cookieDomain; + } else if (attributeNameLowercase === "path") { + let cookiePath = ""; + if (attributeValue.length === 0 || attributeValue[0] !== "/") { + cookiePath = "/"; + } else { + cookiePath = attributeValue; + } + cookieAttributeList.path = cookiePath; + } else if (attributeNameLowercase === "secure") { + cookieAttributeList.secure = true; + } else if (attributeNameLowercase === "httponly") { + cookieAttributeList.httpOnly = true; + } else if (attributeNameLowercase === "samesite") { + let enforcement = "Default"; + const attributeValueLowercase = attributeValue.toLowerCase(); + if (attributeValueLowercase.includes("none")) { + enforcement = "None"; + } + if (attributeValueLowercase.includes("strict")) { + enforcement = "Strict"; + } + if (attributeValueLowercase.includes("lax")) { + enforcement = "Lax"; + } + cookieAttributeList.sameSite = enforcement; + } else { + cookieAttributeList.unparsed ??= []; + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + } + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + module2.exports = { + parseSetCookie, + parseUnparsedAttributes + }; + } +}); + +// node_modules/undici/lib/cookies/index.js +var require_cookies = __commonJS({ + "node_modules/undici/lib/cookies/index.js"(exports, module2) { + "use strict"; + var { parseSetCookie } = require_parse2(); + var { stringify, getHeadersList } = require_util6(); + var { webidl } = require_webidl(); + var { Headers: Headers3 } = require_headers(); + function getCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + const cookie = headers.get("cookie"); + const out = {}; + if (!cookie) { + return out; + } + for (const piece of cookie.split(";")) { + const [name, ...value] = piece.split("="); + out[name.trim()] = value.join("="); + } + return out; + } + function deleteCookie(headers, name, attributes) { + webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + name = webidl.converters.DOMString(name); + attributes = webidl.converters.DeleteCookieAttributes(attributes); + setCookie(headers, { + name, + value: "", + expires: new Date(0), + ...attributes + }); + } + function getSetCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + const cookies = getHeadersList(headers).cookies; + if (!cookies) { + return []; + } + return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); + } + function setCookie(headers, cookie) { + webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + webidl.brandCheck(headers, Headers3, { strict: false }); + cookie = webidl.converters.Cookie(cookie); + const str = stringify(cookie); + if (str) { + headers.append("Set-Cookie", stringify(cookie)); + } + } + webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: null + } + ]); + webidl.converters.Cookie = webidl.dictionaryConverter([ + { + converter: webidl.converters.DOMString, + key: "name" + }, + { + converter: webidl.converters.DOMString, + key: "value" + }, + { + converter: webidl.nullableConverter((value) => { + if (typeof value === "number") { + return webidl.converters["unsigned long long"](value); + } + return new Date(value); + }), + key: "expires", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters["long long"]), + key: "maxAge", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "secure", + defaultValue: null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "httpOnly", + defaultValue: null + }, + { + converter: webidl.converters.USVString, + key: "sameSite", + allowedValues: ["Strict", "Lax", "None"] + }, + { + converter: webidl.sequenceConverter(webidl.converters.DOMString), + key: "unparsed", + defaultValue: [] + } + ]); + module2.exports = { + getCookies, + deleteCookie, + getSetCookies, + setCookie + }; + } +}); + +// node_modules/undici/lib/websocket/constants.js +var require_constants5 = __commonJS({ + "node_modules/undici/lib/websocket/constants.js"(exports, module2) { + "use strict"; + var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + var states = { + CONNECTING: 0, + OPEN: 1, + CLOSING: 2, + CLOSED: 3 + }; + var opcodes = { + CONTINUATION: 0, + TEXT: 1, + BINARY: 2, + CLOSE: 8, + PING: 9, + PONG: 10 + }; + var maxUnsigned16Bit = 2 ** 16 - 1; + var parserStates = { + INFO: 0, + PAYLOADLENGTH_16: 2, + PAYLOADLENGTH_64: 3, + READ_DATA: 4 + }; + var emptyBuffer = Buffer.allocUnsafe(0); + module2.exports = { + uid, + staticPropertyDescriptors, + states, + opcodes, + maxUnsigned16Bit, + parserStates, + emptyBuffer + }; + } +}); + +// node_modules/undici/lib/websocket/symbols.js +var require_symbols5 = __commonJS({ + "node_modules/undici/lib/websocket/symbols.js"(exports, module2) { + "use strict"; + module2.exports = { + kWebSocketURL: Symbol("url"), + kReadyState: Symbol("ready state"), + kController: Symbol("controller"), + kResponse: Symbol("response"), + kBinaryType: Symbol("binary type"), + kSentClose: Symbol("sent close"), + kReceivedClose: Symbol("received close"), + kByteParser: Symbol("byte parser") + }; + } +}); + +// node_modules/undici/lib/websocket/events.js +var require_events = __commonJS({ + "node_modules/undici/lib/websocket/events.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var { MessagePort } = require("worker_threads"); + var MessageEvent = class extends Event { + #eventInit; + constructor(type2, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); + type2 = webidl.converters.DOMString(type2); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict); + super(type2, eventInitDict); + this.#eventInit = eventInitDict; + } + get data() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.data; + } + get origin() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.origin; + } + get lastEventId() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.lastEventId; + } + get source() { + webidl.brandCheck(this, MessageEvent); + return this.#eventInit.source; + } + get ports() { + webidl.brandCheck(this, MessageEvent); + if (!Object.isFrozen(this.#eventInit.ports)) { + Object.freeze(this.#eventInit.ports); + } + return this.#eventInit.ports; + } + initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { + webidl.brandCheck(this, MessageEvent); + webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + return new MessageEvent(type2, { + bubbles, + cancelable, + data, + origin, + lastEventId, + source, + ports + }); + } + }; + var CloseEvent = class extends Event { + #eventInit; + constructor(type2, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); + type2 = webidl.converters.DOMString(type2); + eventInitDict = webidl.converters.CloseEventInit(eventInitDict); + super(type2, eventInitDict); + this.#eventInit = eventInitDict; + } + get wasClean() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.wasClean; + } + get code() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.code; + } + get reason() { + webidl.brandCheck(this, CloseEvent); + return this.#eventInit.reason; + } + }; + var ErrorEvent = class extends Event { + #eventInit; + constructor(type2, eventInitDict) { + webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + super(type2, eventInitDict); + type2 = webidl.converters.DOMString(type2); + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); + this.#eventInit = eventInitDict; + } + get message() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.message; + } + get filename() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.filename; + } + get lineno() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.lineno; + } + get colno() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.colno; + } + get error() { + webidl.brandCheck(this, ErrorEvent); + return this.#eventInit.error; + } + }; + Object.defineProperties(MessageEvent.prototype, { + [Symbol.toStringTag]: { + value: "MessageEvent", + configurable: true + }, + data: kEnumerableProperty, + origin: kEnumerableProperty, + lastEventId: kEnumerableProperty, + source: kEnumerableProperty, + ports: kEnumerableProperty, + initMessageEvent: kEnumerableProperty + }); + Object.defineProperties(CloseEvent.prototype, { + [Symbol.toStringTag]: { + value: "CloseEvent", + configurable: true + }, + reason: kEnumerableProperty, + code: kEnumerableProperty, + wasClean: kEnumerableProperty + }); + Object.defineProperties(ErrorEvent.prototype, { + [Symbol.toStringTag]: { + value: "ErrorEvent", + configurable: true + }, + message: kEnumerableProperty, + filename: kEnumerableProperty, + lineno: kEnumerableProperty, + colno: kEnumerableProperty, + error: kEnumerableProperty + }); + webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); + webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter( + webidl.converters.MessagePort + ); + var eventInit = [ + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: false + } + ]; + webidl.converters.MessageEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "data", + converter: webidl.converters.any, + defaultValue: null + }, + { + key: "origin", + converter: webidl.converters.USVString, + defaultValue: "" + }, + { + key: "lastEventId", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "source", + converter: webidl.nullableConverter(webidl.converters.MessagePort), + defaultValue: null + }, + { + key: "ports", + converter: webidl.converters["sequence<MessagePort>"], + get defaultValue() { + return []; + } + } + ]); + webidl.converters.CloseEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "wasClean", + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: "code", + converter: webidl.converters["unsigned short"], + defaultValue: 0 + }, + { + key: "reason", + converter: webidl.converters.USVString, + defaultValue: "" + } + ]); + webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "message", + converter: webidl.converters.DOMString, + defaultValue: "" + }, + { + key: "filename", + converter: webidl.converters.USVString, + defaultValue: "" + }, + { + key: "lineno", + converter: webidl.converters["unsigned long"], + defaultValue: 0 + }, + { + key: "colno", + converter: webidl.converters["unsigned long"], + defaultValue: 0 + }, + { + key: "error", + converter: webidl.converters.any + } + ]); + module2.exports = { + MessageEvent, + CloseEvent, + ErrorEvent + }; + } +}); + +// node_modules/undici/lib/websocket/util.js +var require_util7 = __commonJS({ + "node_modules/undici/lib/websocket/util.js"(exports, module2) { + "use strict"; + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); + var { states, opcodes } = require_constants5(); + var { MessageEvent, ErrorEvent } = require_events(); + function isEstablished(ws) { + return ws[kReadyState] === states.OPEN; + } + function isClosing(ws) { + return ws[kReadyState] === states.CLOSING; + } + function isClosed(ws) { + return ws[kReadyState] === states.CLOSED; + } + function fireEvent(e3, target, eventConstructor = Event, eventInitDict) { + const event = new eventConstructor(e3, eventInitDict); + target.dispatchEvent(event); + } + function websocketMessageReceived(ws, type2, data) { + if (ws[kReadyState] !== states.OPEN) { + return; + } + let dataForEvent; + if (type2 === opcodes.TEXT) { + try { + dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + } catch { + failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); + return; + } + } else if (type2 === opcodes.BINARY) { + if (ws[kBinaryType] === "blob") { + dataForEvent = new Blob([data]); + } else { + dataForEvent = new Uint8Array(data).buffer; + } + } + fireEvent("message", ws, MessageEvent, { + origin: ws[kWebSocketURL].origin, + data: dataForEvent + }); + } + function isValidSubprotocol(protocol) { + if (protocol.length === 0) { + return false; + } + for (const char of protocol) { + const code = char.charCodeAt(0); + if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || code === 9) { + return false; + } + } + return true; + } + function isValidStatusCode(code) { + if (code >= 1e3 && code < 1015) { + return code !== 1004 && code !== 1005 && code !== 1006; + } + return code >= 3e3 && code <= 4999; + } + function failWebsocketConnection(ws, reason) { + const { [kController]: controller, [kResponse]: response } = ws; + controller.abort(); + if (response?.socket && !response.socket.destroyed) { + response.socket.destroy(); + } + if (reason) { + fireEvent("error", ws, ErrorEvent, { + error: new Error(reason) + }); + } + } + module2.exports = { + isEstablished, + isClosing, + isClosed, + fireEvent, + isValidSubprotocol, + isValidStatusCode, + failWebsocketConnection, + websocketMessageReceived + }; + } +}); + +// node_modules/undici/lib/websocket/connection.js +var require_connection = __commonJS({ + "node_modules/undici/lib/websocket/connection.js"(exports, module2) { + "use strict"; + var diagnosticsChannel = require("diagnostics_channel"); + var { uid, states } = require_constants5(); + var { + kReadyState, + kSentClose, + kByteParser, + kReceivedClose + } = require_symbols5(); + var { fireEvent, failWebsocketConnection } = require_util7(); + var { CloseEvent } = require_events(); + var { makeRequest } = require_request2(); + var { fetching } = require_fetch(); + var { Headers: Headers3 } = require_headers(); + var { getGlobalDispatcher } = require_global2(); + var { kHeadersList } = require_symbols(); + var channels = {}; + channels.open = diagnosticsChannel.channel("undici:websocket:open"); + channels.close = diagnosticsChannel.channel("undici:websocket:close"); + channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); + var crypto2; + try { + crypto2 = require("crypto"); + } catch { + } + function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) { + const requestURL = url2; + requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:"; + const request3 = makeRequest({ + urlList: [requestURL], + serviceWorkers: "none", + referrer: "no-referrer", + mode: "websocket", + credentials: "include", + cache: "no-store", + redirect: "error" + }); + if (options.headers) { + const headersList = new Headers3(options.headers)[kHeadersList]; + request3.headersList = headersList; + } + const keyValue = crypto2.randomBytes(16).toString("base64"); + request3.headersList.append("sec-websocket-key", keyValue); + request3.headersList.append("sec-websocket-version", "13"); + for (const protocol of protocols) { + request3.headersList.append("sec-websocket-protocol", protocol); + } + const permessageDeflate = ""; + const controller = fetching({ + request: request3, + useParallelQueue: true, + dispatcher: options.dispatcher ?? getGlobalDispatcher(), + processResponse(response) { + if (response.type === "error" || response.status !== 101) { + failWebsocketConnection(ws, "Received network error or non-101 status code."); + return; + } + if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { + failWebsocketConnection(ws, "Server did not respond with sent protocols."); + return; + } + if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { + failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); + return; + } + if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { + failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); + return; + } + const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); + const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64"); + if (secWSAccept !== digest) { + failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); + return; + } + const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); + if (secExtension !== null && secExtension !== permessageDeflate) { + failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); + return; + } + const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); + if (secProtocol !== null && secProtocol !== request3.headersList.get("Sec-WebSocket-Protocol")) { + failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); + return; + } + response.socket.on("data", onSocketData); + response.socket.on("close", onSocketClose); + response.socket.on("error", onSocketError); + if (channels.open.hasSubscribers) { + channels.open.publish({ + address: response.socket.address(), + protocol: secProtocol, + extensions: secExtension + }); + } + onEstablish(response); + } + }); + return controller; + } + function onSocketData(chunk) { + if (!this.ws[kByteParser].write(chunk)) { + this.pause(); + } + } + function onSocketClose() { + const { ws } = this; + const wasClean = ws[kSentClose] && ws[kReceivedClose]; + let code = 1005; + let reason = ""; + const result = ws[kByteParser].closingInfo; + if (result) { + code = result.code ?? 1005; + reason = result.reason; + } else if (!ws[kSentClose]) { + code = 1006; + } + ws[kReadyState] = states.CLOSED; + fireEvent("close", ws, CloseEvent, { + wasClean, + code, + reason + }); + if (channels.close.hasSubscribers) { + channels.close.publish({ + websocket: ws, + code, + reason + }); + } + } + function onSocketError(error) { + const { ws } = this; + ws[kReadyState] = states.CLOSING; + if (channels.socketError.hasSubscribers) { + channels.socketError.publish(error); + } + this.destroy(); + } + module2.exports = { + establishWebSocketConnection + }; + } +}); + +// node_modules/undici/lib/websocket/frame.js +var require_frame = __commonJS({ + "node_modules/undici/lib/websocket/frame.js"(exports, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants5(); + var crypto2; + try { + crypto2 = require("crypto"); + } catch { + } + var WebsocketFrameSend = class { + constructor(data) { + this.frameData = data; + this.maskKey = crypto2.randomBytes(4); + } + createFrame(opcode) { + const bodyLength = this.frameData?.byteLength ?? 0; + let payloadLength = bodyLength; + let offset = 6; + if (bodyLength > maxUnsigned16Bit) { + offset += 8; + payloadLength = 127; + } else if (bodyLength > 125) { + offset += 2; + payloadLength = 126; + } + const buffer = Buffer.allocUnsafe(bodyLength + offset); + buffer[0] = buffer[1] = 0; + buffer[0] |= 128; + buffer[0] = (buffer[0] & 240) + opcode; + buffer[offset - 4] = this.maskKey[0]; + buffer[offset - 3] = this.maskKey[1]; + buffer[offset - 2] = this.maskKey[2]; + buffer[offset - 1] = this.maskKey[3]; + buffer[1] = payloadLength; + if (payloadLength === 126) { + buffer.writeUInt16BE(bodyLength, 2); + } else if (payloadLength === 127) { + buffer[2] = buffer[3] = 0; + buffer.writeUIntBE(bodyLength, 4, 6); + } + buffer[1] |= 128; + for (let i3 = 0; i3 < bodyLength; i3++) { + buffer[offset + i3] = this.frameData[i3] ^ this.maskKey[i3 % 4]; + } + return buffer; + } + }; + module2.exports = { + WebsocketFrameSend + }; + } +}); + +// node_modules/undici/lib/websocket/receiver.js +var require_receiver = __commonJS({ + "node_modules/undici/lib/websocket/receiver.js"(exports, module2) { + "use strict"; + var { Writable } = require("stream"); + var diagnosticsChannel = require("diagnostics_channel"); + var { parserStates, opcodes, states, emptyBuffer } = require_constants5(); + var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); + var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); + var { WebsocketFrameSend } = require_frame(); + var channels = {}; + channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); + channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + var ByteParser = class extends Writable { + #buffers = []; + #byteOffset = 0; + #state = parserStates.INFO; + #info = {}; + #fragments = []; + constructor(ws) { + super(); + this.ws = ws; + } + _write(chunk, _3, callback) { + this.#buffers.push(chunk); + this.#byteOffset += chunk.length; + this.run(callback); + } + run(callback) { + while (true) { + if (this.#state === parserStates.INFO) { + if (this.#byteOffset < 2) { + return callback(); + } + const buffer = this.consume(2); + this.#info.fin = (buffer[0] & 128) !== 0; + this.#info.opcode = buffer[0] & 15; + this.#info.originalOpcode ??= this.#info.opcode; + this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; + if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { + failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); + return; + } + const payloadLength = buffer[1] & 127; + if (payloadLength <= 125) { + this.#info.payloadLength = payloadLength; + this.#state = parserStates.READ_DATA; + } else if (payloadLength === 126) { + this.#state = parserStates.PAYLOADLENGTH_16; + } else if (payloadLength === 127) { + this.#state = parserStates.PAYLOADLENGTH_64; + } + if (this.#info.fragmented && payloadLength > 125) { + failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); + return; + } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { + failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); + return; + } else if (this.#info.opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + return; + } + const body = this.consume(payloadLength); + this.#info.closeInfo = this.parseCloseBody(false, body); + if (!this.ws[kSentClose]) { + const body2 = Buffer.allocUnsafe(2); + body2.writeUInt16BE(this.#info.closeInfo.code, 0); + const closeFrame = new WebsocketFrameSend(body2); + this.ws[kResponse].socket.write( + closeFrame.createFrame(opcodes.CLOSE), + (err) => { + if (!err) { + this.ws[kSentClose] = true; + } + } + ); + } + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + this.end(); + return; + } else if (this.#info.opcode === opcodes.PING) { + const body = this.consume(payloadLength); + if (!this.ws[kReceivedClose]) { + const frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + this.#state = parserStates.INFO; + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + return; + } + } else if (this.#info.opcode === opcodes.PONG) { + const body = this.consume(payloadLength); + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + return; + } + } + } else if (this.#state === parserStates.PAYLOADLENGTH_16) { + if (this.#byteOffset < 2) { + return callback(); + } + const buffer = this.consume(2); + this.#info.payloadLength = buffer.readUInt16BE(0); + this.#state = parserStates.READ_DATA; + } else if (this.#state === parserStates.PAYLOADLENGTH_64) { + if (this.#byteOffset < 8) { + return callback(); + } + const buffer = this.consume(8); + const upper = buffer.readUInt32BE(0); + if (upper > 2 ** 31 - 1) { + failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); + return; + } + const lower = buffer.readUInt32BE(4); + this.#info.payloadLength = (upper << 8) + lower; + this.#state = parserStates.READ_DATA; + } else if (this.#state === parserStates.READ_DATA) { + if (this.#byteOffset < this.#info.payloadLength) { + return callback(); + } else if (this.#byteOffset >= this.#info.payloadLength) { + const body = this.consume(this.#info.payloadLength); + this.#fragments.push(body); + if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { + const fullMessage = Buffer.concat(this.#fragments); + websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); + this.#info = {}; + this.#fragments.length = 0; + } + this.#state = parserStates.INFO; + } + } + if (this.#byteOffset > 0) { + continue; + } else { + callback(); + break; + } + } + } + consume(n2) { + if (n2 > this.#byteOffset) { + return null; + } else if (n2 === 0) { + return emptyBuffer; + } + if (this.#buffers[0].length === n2) { + this.#byteOffset -= this.#buffers[0].length; + return this.#buffers.shift(); + } + const buffer = Buffer.allocUnsafe(n2); + let offset = 0; + while (offset !== n2) { + const next = this.#buffers[0]; + const { length } = next; + if (length + offset === n2) { + buffer.set(this.#buffers.shift(), offset); + break; + } else if (length + offset > n2) { + buffer.set(next.subarray(0, n2 - offset), offset); + this.#buffers[0] = next.subarray(n2 - offset); + break; + } else { + buffer.set(this.#buffers.shift(), offset); + offset += next.length; + } + } + this.#byteOffset -= n2; + return buffer; + } + parseCloseBody(onlyCode, data) { + let code; + if (data.length >= 2) { + code = data.readUInt16BE(0); + } + if (onlyCode) { + if (!isValidStatusCode(code)) { + return null; + } + return { code }; + } + let reason = data.subarray(2); + if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { + reason = reason.subarray(3); + } + if (code !== void 0 && !isValidStatusCode(code)) { + return null; + } + try { + reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + } catch { + return null; + } + return { code, reason }; + } + get closingInfo() { + return this.#info.closeInfo; + } + }; + module2.exports = { + ByteParser + }; + } +}); + +// node_modules/undici/lib/websocket/websocket.js +var require_websocket = __commonJS({ + "node_modules/undici/lib/websocket/websocket.js"(exports, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { DOMException: DOMException3 } = require_constants2(); + var { URLSerializer } = require_dataURL(); + var { getGlobalOrigin } = require_global(); + var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); + var { + kWebSocketURL, + kReadyState, + kController, + kBinaryType, + kResponse, + kSentClose, + kByteParser + } = require_symbols5(); + var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); + var { establishWebSocketConnection } = require_connection(); + var { WebsocketFrameSend } = require_frame(); + var { ByteParser } = require_receiver(); + var { kEnumerableProperty, isBlobLike: isBlobLike2 } = require_util(); + var { getGlobalDispatcher } = require_global2(); + var { types } = require("util"); + var experimentalWarned = false; + var WebSocket = class extends EventTarget { + #events = { + open: null, + error: null, + close: null, + message: null + }; + #bufferedAmount = 0; + #protocol = ""; + #extensions = ""; + constructor(url2, protocols = []) { + super(); + webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("WebSockets are experimental, expect them to change at any time.", { + code: "UNDICI-WS" + }); + } + const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols); + url2 = webidl.converters.USVString(url2); + protocols = options.protocols; + const baseURL = getGlobalOrigin(); + let urlRecord; + try { + urlRecord = new URL(url2, baseURL); + } catch (e3) { + throw new DOMException3(e3, "SyntaxError"); + } + if (urlRecord.protocol === "http:") { + urlRecord.protocol = "ws:"; + } else if (urlRecord.protocol === "https:") { + urlRecord.protocol = "wss:"; + } + if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { + throw new DOMException3( + `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, + "SyntaxError" + ); + } + if (urlRecord.hash || urlRecord.href.endsWith("#")) { + throw new DOMException3("Got fragment", "SyntaxError"); + } + if (typeof protocols === "string") { + protocols = [protocols]; + } + if (protocols.length !== new Set(protocols.map((p3) => p3.toLowerCase())).size) { + throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + if (protocols.length > 0 && !protocols.every((p3) => isValidSubprotocol(p3))) { + throw new DOMException3("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + this[kWebSocketURL] = new URL(urlRecord.href); + this[kController] = establishWebSocketConnection( + urlRecord, + protocols, + this, + (response) => this.#onConnectionEstablished(response), + options + ); + this[kReadyState] = WebSocket.CONNECTING; + this[kBinaryType] = "blob"; + } + close(code = void 0, reason = void 0) { + webidl.brandCheck(this, WebSocket); + if (code !== void 0) { + code = webidl.converters["unsigned short"](code, { clamp: true }); + } + if (reason !== void 0) { + reason = webidl.converters.USVString(reason); + } + if (code !== void 0) { + if (code !== 1e3 && (code < 3e3 || code > 4999)) { + throw new DOMException3("invalid code", "InvalidAccessError"); + } + } + let reasonByteLength = 0; + if (reason !== void 0) { + reasonByteLength = Buffer.byteLength(reason); + if (reasonByteLength > 123) { + throw new DOMException3( + `Reason must be less than 123 bytes; received ${reasonByteLength}`, + "SyntaxError" + ); + } + } + if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) { + } else if (!isEstablished(this)) { + failWebsocketConnection(this, "Connection was closed before it was established."); + this[kReadyState] = WebSocket.CLOSING; + } else if (!isClosing(this)) { + const frame = new WebsocketFrameSend(); + if (code !== void 0 && reason === void 0) { + frame.frameData = Buffer.allocUnsafe(2); + frame.frameData.writeUInt16BE(code, 0); + } else if (code !== void 0 && reason !== void 0) { + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); + frame.frameData.writeUInt16BE(code, 0); + frame.frameData.write(reason, 2, "utf-8"); + } else { + frame.frameData = emptyBuffer; + } + const socket = this[kResponse].socket; + socket.write(frame.createFrame(opcodes.CLOSE), (err) => { + if (!err) { + this[kSentClose] = true; + } + }); + this[kReadyState] = states.CLOSING; + } else { + this[kReadyState] = WebSocket.CLOSING; + } + } + send(data) { + webidl.brandCheck(this, WebSocket); + webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); + data = webidl.converters.WebSocketSendData(data); + if (this[kReadyState] === WebSocket.CONNECTING) { + throw new DOMException3("Sent before connected.", "InvalidStateError"); + } + if (!isEstablished(this) || isClosing(this)) { + return; + } + const socket = this[kResponse].socket; + if (typeof data === "string") { + const value = Buffer.from(data); + const frame = new WebsocketFrameSend(value); + const buffer = frame.createFrame(opcodes.TEXT); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + } else if (types.isArrayBuffer(data)) { + const value = Buffer.from(data); + const frame = new WebsocketFrameSend(value); + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + } else if (ArrayBuffer.isView(data)) { + const ab = Buffer.from(data, data.byteOffset, data.byteLength); + const frame = new WebsocketFrameSend(ab); + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += ab.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= ab.byteLength; + }); + } else if (isBlobLike2(data)) { + const frame = new WebsocketFrameSend(); + data.arrayBuffer().then((ab) => { + const value = Buffer.from(ab); + frame.frameData = value; + const buffer = frame.createFrame(opcodes.BINARY); + this.#bufferedAmount += value.byteLength; + socket.write(buffer, () => { + this.#bufferedAmount -= value.byteLength; + }); + }); + } + } + get readyState() { + webidl.brandCheck(this, WebSocket); + return this[kReadyState]; + } + get bufferedAmount() { + webidl.brandCheck(this, WebSocket); + return this.#bufferedAmount; + } + get url() { + webidl.brandCheck(this, WebSocket); + return URLSerializer(this[kWebSocketURL]); + } + get extensions() { + webidl.brandCheck(this, WebSocket); + return this.#extensions; + } + get protocol() { + webidl.brandCheck(this, WebSocket); + return this.#protocol; + } + get onopen() { + webidl.brandCheck(this, WebSocket); + return this.#events.open; + } + set onopen(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.open) { + this.removeEventListener("open", this.#events.open); + } + if (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + this.#events.open = null; + } + } + get onerror() { + webidl.brandCheck(this, WebSocket); + return this.#events.error; + } + set onerror(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.error) { + this.removeEventListener("error", this.#events.error); + } + if (typeof fn === "function") { + this.#events.error = fn; + this.addEventListener("error", fn); + } else { + this.#events.error = null; + } + } + get onclose() { + webidl.brandCheck(this, WebSocket); + return this.#events.close; + } + set onclose(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.close) { + this.removeEventListener("close", this.#events.close); + } + if (typeof fn === "function") { + this.#events.close = fn; + this.addEventListener("close", fn); + } else { + this.#events.close = null; + } + } + get onmessage() { + webidl.brandCheck(this, WebSocket); + return this.#events.message; + } + set onmessage(fn) { + webidl.brandCheck(this, WebSocket); + if (this.#events.message) { + this.removeEventListener("message", this.#events.message); + } + if (typeof fn === "function") { + this.#events.message = fn; + this.addEventListener("message", fn); + } else { + this.#events.message = null; + } + } + get binaryType() { + webidl.brandCheck(this, WebSocket); + return this[kBinaryType]; + } + set binaryType(type2) { + webidl.brandCheck(this, WebSocket); + if (type2 !== "blob" && type2 !== "arraybuffer") { + this[kBinaryType] = "blob"; + } else { + this[kBinaryType] = type2; + } + } + #onConnectionEstablished(response) { + this[kResponse] = response; + const parser = new ByteParser(this); + parser.on("drain", function onParserDrain() { + this.ws[kResponse].socket.resume(); + }); + response.socket.ws = this; + this[kByteParser] = parser; + this[kReadyState] = states.OPEN; + const extensions = response.headersList.get("sec-websocket-extensions"); + if (extensions !== null) { + this.#extensions = extensions; + } + const protocol = response.headersList.get("sec-websocket-protocol"); + if (protocol !== null) { + this.#protocol = protocol; + } + fireEvent("open", this); + } + }; + WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; + WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; + WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; + WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; + Object.defineProperties(WebSocket.prototype, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors, + url: kEnumerableProperty, + readyState: kEnumerableProperty, + bufferedAmount: kEnumerableProperty, + onopen: kEnumerableProperty, + onerror: kEnumerableProperty, + onclose: kEnumerableProperty, + close: kEnumerableProperty, + onmessage: kEnumerableProperty, + binaryType: kEnumerableProperty, + send: kEnumerableProperty, + extensions: kEnumerableProperty, + protocol: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "WebSocket", + writable: false, + enumerable: false, + configurable: true + } + }); + Object.defineProperties(WebSocket, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors + }); + webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter( + webidl.converters.DOMString + ); + webidl.converters["DOMString or sequence<DOMString>"] = function(V4) { + if (webidl.util.Type(V4) === "Object" && Symbol.iterator in V4) { + return webidl.converters["sequence<DOMString>"](V4); + } + return webidl.converters.DOMString(V4); + }; + webidl.converters.WebSocketInit = webidl.dictionaryConverter([ + { + key: "protocols", + converter: webidl.converters["DOMString or sequence<DOMString>"], + get defaultValue() { + return []; + } + }, + { + key: "dispatcher", + converter: (V4) => V4, + get defaultValue() { + return getGlobalDispatcher(); + } + }, + { + key: "headers", + converter: webidl.nullableConverter(webidl.converters.HeadersInit) + } + ]); + webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V4) { + if (webidl.util.Type(V4) === "Object" && !(Symbol.iterator in V4)) { + return webidl.converters.WebSocketInit(V4); + } + return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V4) }; + }; + webidl.converters.WebSocketSendData = function(V4) { + if (webidl.util.Type(V4) === "Object") { + if (isBlobLike2(V4)) { + return webidl.converters.Blob(V4, { strict: false }); + } + if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { + return webidl.converters.BufferSource(V4); + } + } + return webidl.converters.USVString(V4); + }; + module2.exports = { + WebSocket + }; + } +}); + +// node_modules/undici/index.js +var require_undici = __commonJS({ + "node_modules/undici/index.js"(exports, module2) { + "use strict"; + var Client = require_client(); + var Dispatcher = require_dispatcher(); + var errors = require_errors(); + var Pool = require_pool(); + var BalancedPool = require_balanced_pool(); + var Agent3 = require_agent(); + var util3 = require_util(); + var { InvalidArgumentError } = errors; + var api2 = require_api(); + var buildConnector = require_connect(); + var MockClient = require_mock_client(); + var MockAgent = require_mock_agent(); + var MockPool = require_mock_pool(); + var mockErrors = require_mock_errors(); + var ProxyAgent = require_proxy_agent(); + var RetryHandler = require_RetryHandler(); + var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); + var DecoratorHandler = require_DecoratorHandler(); + var RedirectHandler = require_RedirectHandler(); + var createRedirectInterceptor = require_redirectInterceptor(); + var hasCrypto; + try { + require("crypto"); + hasCrypto = true; + } catch { + hasCrypto = false; + } + Object.assign(Dispatcher.prototype, api2); + module2.exports.Dispatcher = Dispatcher; + module2.exports.Client = Client; + module2.exports.Pool = Pool; + module2.exports.BalancedPool = BalancedPool; + module2.exports.Agent = Agent3; + module2.exports.ProxyAgent = ProxyAgent; + module2.exports.RetryHandler = RetryHandler; + module2.exports.DecoratorHandler = DecoratorHandler; + module2.exports.RedirectHandler = RedirectHandler; + module2.exports.createRedirectInterceptor = createRedirectInterceptor; + module2.exports.buildConnector = buildConnector; + module2.exports.errors = errors; + function makeDispatcher(fn) { + return (url2, opts, handler) => { + if (typeof opts === "function") { + handler = opts; + opts = null; + } + if (!url2 || typeof url2 !== "string" && typeof url2 !== "object" && !(url2 instanceof URL)) { + throw new InvalidArgumentError("invalid url"); + } + if (opts != null && typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (opts && opts.path != null) { + if (typeof opts.path !== "string") { + throw new InvalidArgumentError("invalid opts.path"); + } + let path2 = opts.path; + if (!opts.path.startsWith("/")) { + path2 = `/${path2}`; + } + url2 = new URL(util3.parseOrigin(url2).origin + path2); + } else { + if (!opts) { + opts = typeof url2 === "object" ? url2 : {}; + } + url2 = util3.parseURL(url2); + } + const { agent, dispatcher = getGlobalDispatcher() } = opts; + if (agent) { + throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); + } + return fn.call(dispatcher, { + ...opts, + origin: url2.origin, + path: url2.search ? `${url2.pathname}${url2.search}` : url2.pathname, + method: opts.method || (opts.body ? "PUT" : "GET") + }, handler); + }; + } + module2.exports.setGlobalDispatcher = setGlobalDispatcher; + module2.exports.getGlobalDispatcher = getGlobalDispatcher; + if (util3.nodeMajor > 16 || util3.nodeMajor === 16 && util3.nodeMinor >= 8) { + let fetchImpl = null; + module2.exports.fetch = async function fetch2(resource) { + if (!fetchImpl) { + fetchImpl = require_fetch().fetch; + } + try { + return await fetchImpl(...arguments); + } catch (err) { + if (typeof err === "object") { + Error.captureStackTrace(err, this); + } + throw err; + } + }; + module2.exports.Headers = require_headers().Headers; + module2.exports.Response = require_response().Response; + module2.exports.Request = require_request2().Request; + module2.exports.FormData = require_formdata().FormData; + module2.exports.File = require_file().File; + module2.exports.FileReader = require_filereader().FileReader; + const { setGlobalOrigin, getGlobalOrigin } = require_global(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + const { CacheStorage } = require_cachestorage(); + const { kConstruct } = require_symbols4(); + module2.exports.caches = new CacheStorage(kConstruct); + } + if (util3.nodeMajor >= 16) { + const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); + module2.exports.deleteCookie = deleteCookie; + module2.exports.getCookies = getCookies; + module2.exports.getSetCookies = getSetCookies; + module2.exports.setCookie = setCookie; + const { parseMIMEType, serializeAMimeType } = require_dataURL(); + module2.exports.parseMIMEType = parseMIMEType; + module2.exports.serializeAMimeType = serializeAMimeType; + } + if (util3.nodeMajor >= 18 && hasCrypto) { + const { WebSocket } = require_websocket(); + module2.exports.WebSocket = WebSocket; + } + module2.exports.request = makeDispatcher(api2.request); + module2.exports.stream = makeDispatcher(api2.stream); + module2.exports.pipeline = makeDispatcher(api2.pipeline); + module2.exports.connect = makeDispatcher(api2.connect); + module2.exports.upgrade = makeDispatcher(api2.upgrade); + module2.exports.MockClient = MockClient; + module2.exports.MockPool = MockPool; + module2.exports.MockAgent = MockAgent; + module2.exports.mockErrors = mockErrors; + } +}); + // node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ "node_modules/@actions/http-client/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; - } }); - } : function(o2, m3, k3, k22) { + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1059,10 +17507,11 @@ var require_lib = __commonJS({ }; Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; - var http2 = __importStar(require("http")); - var https2 = __importStar(require("https")); - var pm = __importStar(require_proxy()); - var tunnel = __importStar(require_tunnel2()); + var http3 = __importStar2(require("http")); + var https3 = __importStar2(require("https")); + var pm = __importStar2(require_proxy()); + var tunnel = __importStar2(require_tunnel2()); + var undici_1 = require_undici(); var HttpCodes; (function(HttpCodes2) { HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; @@ -1092,16 +17541,16 @@ var require_lib = __commonJS({ HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); - var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers = exports.Headers || (exports.Headers = {})); + })(HttpCodes || (exports.HttpCodes = HttpCodes = {})); + var Headers3; + (function(Headers4) { + Headers4["Accept"] = "accept"; + Headers4["ContentType"] = "content-type"; + })(Headers3 || (exports.Headers = Headers3 = {})); var MediaTypes; (function(MediaTypes2) { MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); + })(MediaTypes || (exports.MediaTypes = MediaTypes = {})); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); return proxyUrl ? proxyUrl.href : ""; @@ -1136,8 +17585,8 @@ var require_lib = __commonJS({ this.message = message; } readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter2(this, void 0, void 0, function* () { let output = Buffer.alloc(0); this.message.on("data", (chunk) => { output = Buffer.concat([output, chunk]); @@ -1148,6 +17597,19 @@ var require_lib = __commonJS({ })); }); } + readBodyBuffer() { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter2(this, void 0, void 0, function* () { + const chunks = []; + this.message.on("data", (chunk) => { + chunks.push(chunk); + }); + this.message.on("end", () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } }; exports.HttpClientResponse = HttpClientResponse; function isHttps2(requestUrl) { @@ -1194,81 +17656,81 @@ var require_lib = __commonJS({ } } options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); }); } get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("GET", requestUrl, null, additionalHeaders || {}); }); } del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("DELETE", requestUrl, null, additionalHeaders || {}); }); } post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("POST", requestUrl, data, additionalHeaders || {}); }); } patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("PATCH", requestUrl, data, additionalHeaders || {}); }); } put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("PUT", requestUrl, data, additionalHeaders || {}); }); } head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request("HEAD", requestUrl, null, additionalHeaders || {}); }); } sendStream(verb, requestUrl, stream4, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request(verb, requestUrl, stream4, additionalHeaders); }); } getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + return __awaiter2(this, void 0, void 0, function* () { + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); const res = yield this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); }); } postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.post(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); } putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.put(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); } patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers3.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers3.ContentType, MediaTypes.ApplicationJson); const res = yield this.patch(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); } request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (this._disposed) { throw new Error("Client has already been disposed."); } @@ -1334,7 +17796,7 @@ var require_lib = __commonJS({ this._disposed = true; } requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { function callbackForResult(err, res) { if (err) { @@ -1396,11 +17858,20 @@ var require_lib = __commonJS({ const parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + } _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; const usingSsl = info.parsedUrl.protocol === "https:"; - info.httpModule = usingSsl ? https2 : http2; + info.httpModule = usingSsl ? https3 : http3; const defaultPort = usingSsl ? 443 : 80; info.options = {}; info.options.host = info.parsedUrl.hostname; @@ -1439,7 +17910,7 @@ var require_lib = __commonJS({ if (this._keepAlive && useProxy) { agent = this._proxyAgent; } - if (this._keepAlive && !useProxy) { + if (!useProxy) { agent = this._agent; } if (agent) { @@ -1448,7 +17919,7 @@ var require_lib = __commonJS({ const usingSsl = parsedUrl.protocol === "https:"; let maxSockets = 100; if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http2.globalAgent.maxSockets; + maxSockets = this.requestOptions.maxSockets || http3.globalAgent.maxSockets; } if (proxyUrl && proxyUrl.hostname) { const agentOptions = { @@ -1468,13 +17939,10 @@ var require_lib = __commonJS({ agent = tunnelAgent(agentOptions); this._proxyAgent = agent; } - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https2.Agent(options) : new http2.Agent(options); - this._agent = agent; - } if (!agent) { - agent = usingSsl ? https2.globalAgent : http2.globalAgent; + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https3.Agent(options) : new http3.Agent(options); + this._agent = agent; } if (usingSsl && this._ignoreSslError) { agent.options = Object.assign(agent.options || {}, { @@ -1483,16 +17951,36 @@ var require_lib = __commonJS({ } return agent; } + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; + } + if (proxyAgent) { + return proxyAgent; + } + const usingSsl = parsedUrl.protocol === "https:"; + proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { + token: `${proxyUrl.username}:${proxyUrl.password}` + })); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); return new Promise((resolve) => setTimeout(() => resolve(), ms)); }); } _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () { const statusCode = res.message.statusCode || 0; const response = { statusCode, @@ -1504,9 +17992,9 @@ var require_lib = __commonJS({ } function dateTimeDeserializer(key, value) { if (typeof value === "string") { - const a2 = new Date(value); - if (!isNaN(a2.valueOf())) { - return a2; + const a3 = new Date(value); + if (!isNaN(a3.valueOf())) { + return a3; } } return value; @@ -1546,7 +18034,7 @@ var require_lib = __commonJS({ } }; exports.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k3) => (c[k3.toLowerCase()] = obj[k3], c), {}); + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c2, k4) => (c2[k4.toLowerCase()] = obj[k4], c2), {}); } }); @@ -1554,25 +18042,25 @@ var require_lib = __commonJS({ var require_auth = __commonJS({ "node_modules/@actions/http-client/lib/auth.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1598,7 +18086,7 @@ var require_auth = __commonJS({ return false; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { throw new Error("not implemented"); }); } @@ -1618,7 +18106,7 @@ var require_auth = __commonJS({ return false; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { throw new Error("not implemented"); }); } @@ -1638,7 +18126,7 @@ var require_auth = __commonJS({ return false; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { throw new Error("not implemented"); }); } @@ -1651,25 +18139,25 @@ var require_auth = __commonJS({ var require_oidc_utils = __commonJS({ "node_modules/@actions/core/lib/oidc-utils.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1706,17 +18194,17 @@ var require_oidc_utils = __commonJS({ return runtimeUrl; } static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { + var _a4; + return __awaiter2(this, void 0, void 0, function* () { const httpclient = OidcClient.createHttpClient(); const res = yield httpclient.getJson(id_token_url).catch((error) => { throw new Error(`Failed to get ID Token. Error Code : ${error.statusCode} - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + const id_token = (_a4 = res.result) === null || _a4 === void 0 ? void 0 : _a4.value; if (!id_token) { throw new Error("Response json body do not have ID Token field"); } @@ -1724,7 +18212,7 @@ var require_oidc_utils = __commonJS({ }); } static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { try { let id_token_url = OidcClient.getIDTokenUrl(); if (audience) { @@ -1749,25 +18237,25 @@ var require_oidc_utils = __commonJS({ var require_summary = __commonJS({ "node_modules/@actions/core/lib/summary.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -1788,7 +18276,7 @@ var require_summary = __commonJS({ this._buffer = ""; } filePath() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (this._filePath) { return this._filePath; } @@ -1798,7 +18286,7 @@ var require_summary = __commonJS({ } try { yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a) { + } catch (_a4) { throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); } this._filePath = pathFromEnv; @@ -1813,7 +18301,7 @@ var require_summary = __commonJS({ return `<${tag}${htmlAttrs}>${content}</${tag}>`; } write(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); const filePath = yield this.filePath(); const writeFunc = overwrite ? writeFile : appendFile; @@ -1822,7 +18310,7 @@ var require_summary = __commonJS({ }); } clear() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.emptyBuffer().write({ overwrite: true }); }); } @@ -1914,37 +18402,37 @@ var require_summary = __commonJS({ var require_path_utils = __commonJS({ "node_modules/@actions/core/lib/path-utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; - var path2 = __importStar(require("path")); + var path2 = __importStar2(require("path")); function toPosixPath(pth) { return pth.replace(/[\\]/g, "/"); } @@ -1964,53 +18452,53 @@ var require_path_utils = __commonJS({ var require_core = __commonJS({ "node_modules/@actions/core/lib/core.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2024,8 +18512,8 @@ var require_core = __commonJS({ var command_1 = require_command(); var file_command_1 = require_file_command(); var utils_1 = require_utils(); - var os2 = __importStar(require("os")); - var path2 = __importStar(require("path")); + var os3 = __importStar2(require("os")); + var path2 = __importStar2(require("path")); var oidc_utils_1 = require_oidc_utils(); var ExitCode; (function(ExitCode2) { @@ -2092,12 +18580,12 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); if (filePath) { return file_command_1.issueFileCommand("OUTPUT", file_command_1.prepareKeyValueMessage(name, value)); } - process.stdout.write(os2.EOL); + process.stdout.write(os3.EOL); command_1.issueCommand("set-output", { name }, utils_1.toCommandValue(value)); } exports.setOutput = setOutput; - function setCommandEcho(enabled) { - command_1.issue("echo", enabled ? "on" : "off"); + function setCommandEcho(enabled2) { + command_1.issue("echo", enabled2 ? "on" : "off"); } exports.setCommandEcho = setCommandEcho; function setFailed(message) { @@ -2109,10 +18597,10 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); return process.env["RUNNER_DEBUG"] === "1"; } exports.isDebug = isDebug; - function debug(message) { + function debug2(message) { command_1.issueCommand("debug", {}, message); } - exports.debug = debug; + exports.debug = debug2; function error(message, properties = {}) { command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } @@ -2126,7 +18614,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports.notice = notice; function info(message) { - process.stdout.write(message + os2.EOL); + process.stdout.write(message + os3.EOL); } exports.info = info; function startGroup(name) { @@ -2138,7 +18626,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports.endGroup = endGroup; function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { startGroup(name); let result; try { @@ -2163,7 +18651,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports.getState = getState; function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return yield oidc_utils_1.OidcClient.getIDToken(aud); }); } @@ -2193,53 +18681,53 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); var require_io_util = __commonJS({ "node_modules/@actions/io/lib/io-util.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2248,17 +18736,17 @@ var require_io_util = __commonJS({ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var _a; + var _a4; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; - var fs2 = __importStar(require("fs")); - var path2 = __importStar(require("path")); - _a = fs2.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; + var fs3 = __importStar2(require("fs")); + var path2 = __importStar2(require("path")); + _a4 = fs3.promises, exports.chmod = _a4.chmod, exports.copyFile = _a4.copyFile, exports.lstat = _a4.lstat, exports.mkdir = _a4.mkdir, exports.open = _a4.open, exports.readdir = _a4.readdir, exports.readlink = _a4.readlink, exports.rename = _a4.rename, exports.rm = _a4.rm, exports.rmdir = _a4.rmdir, exports.stat = _a4.stat, exports.symlink = _a4.symlink, exports.unlink = _a4.unlink; exports.IS_WINDOWS = process.platform === "win32"; exports.UV_FS_O_EXLOCK = 268435456; - exports.READONLY = fs2.constants.O_RDONLY; + exports.READONLY = fs3.constants.O_RDONLY; function exists(fsPath) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { try { yield exports.stat(fsPath); } catch (err) { @@ -2272,25 +18760,25 @@ var require_io_util = __commonJS({ } exports.exists = exists; function isDirectory(fsPath, useStat = false) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); return stats.isDirectory(); }); } exports.isDirectory = isDirectory; - function isRooted(p2) { - p2 = normalizeSeparators(p2); - if (!p2) { + function isRooted(p3) { + p3 = normalizeSeparators(p3); + if (!p3) { throw new Error('isRooted() parameter "p" cannot be empty'); } if (exports.IS_WINDOWS) { - return p2.startsWith("\\") || /^[A-Z]:/i.test(p2); + return p3.startsWith("\\") || /^[A-Z]:/i.test(p3); } - return p2.startsWith("/"); + return p3.startsWith("/"); } exports.isRooted = isRooted; function tryGetExecutablePath(filePath, extensions) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { let stats = void 0; try { stats = yield exports.stat(filePath); @@ -2348,20 +18836,20 @@ var require_io_util = __commonJS({ }); } exports.tryGetExecutablePath = tryGetExecutablePath; - function normalizeSeparators(p2) { - p2 = p2 || ""; + function normalizeSeparators(p3) { + p3 = p3 || ""; if (exports.IS_WINDOWS) { - p2 = p2.replace(/\//g, "\\"); - return p2.replace(/\\\\+/g, "\\"); + p3 = p3.replace(/\//g, "\\"); + return p3.replace(/\\\\+/g, "\\"); } - return p2.replace(/\/\/+/g, "/"); + return p3.replace(/\/\/+/g, "/"); } function isUnixExecutable(stats) { return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); } function getCmdPath() { - var _a2; - return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; + var _a5; + return (_a5 = process.env["COMSPEC"]) !== null && _a5 !== void 0 ? _a5 : `cmd.exe`; } exports.getCmdPath = getCmdPath; } @@ -2371,53 +18859,53 @@ var require_io_util = __commonJS({ var require_io = __commonJS({ "node_modules/@actions/io/lib/io.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2429,10 +18917,10 @@ var require_io = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; var assert_1 = require("assert"); - var path2 = __importStar(require("path")); - var ioUtil = __importStar(require_io_util()); + var path2 = __importStar2(require("path")); + var ioUtil = __importStar2(require_io_util()); function cp(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const { force, recursive, copySourceDirectory } = readCopyOptions(options); const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; if (destStat && destStat.isFile() && !force) { @@ -2459,7 +18947,7 @@ var require_io = __commonJS({ } exports.cp = cp; function mv(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (yield ioUtil.exists(dest)) { let destExists = true; if (yield ioUtil.isDirectory(dest)) { @@ -2480,7 +18968,7 @@ var require_io = __commonJS({ } exports.mv = mv; function rmRF(inputPath) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (ioUtil.IS_WINDOWS) { if (/[*"<>|]/.test(inputPath)) { throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); @@ -2500,14 +18988,14 @@ var require_io = __commonJS({ } exports.rmRF = rmRF; function mkdirP(fsPath) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { assert_1.ok(fsPath, "a path argument must be provided"); yield ioUtil.mkdir(fsPath, { recursive: true }); }); } exports.mkdirP = mkdirP; function which(tool, check) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (!tool) { throw new Error("parameter 'tool' is required"); } @@ -2531,7 +19019,7 @@ var require_io = __commonJS({ } exports.which = which; function findInPath(tool) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (!tool) { throw new Error("parameter 'tool' is required"); } @@ -2555,9 +19043,9 @@ var require_io = __commonJS({ } const directories = []; if (process.env.PATH) { - for (const p2 of process.env.PATH.split(path2.delimiter)) { - if (p2) { - directories.push(p2); + for (const p3 of process.env.PATH.split(path2.delimiter)) { + if (p3) { + directories.push(p3); } } } @@ -2579,7 +19067,7 @@ var require_io = __commonJS({ return { force, recursive, copySourceDirectory }; } function cpDirRecursive(sourceDir, destDir, currentDepth, force) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (currentDepth >= 255) return; currentDepth++; @@ -2599,13 +19087,13 @@ var require_io = __commonJS({ }); } function copyFile(srcFile, destFile, force) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { try { yield ioUtil.lstat(destFile); yield ioUtil.unlink(destFile); - } catch (e2) { - if (e2.code === "EPERM") { + } catch (e3) { + if (e3.code === "EPERM") { yield ioUtil.chmod(destFile, "0666"); yield ioUtil.unlink(destFile); } @@ -2624,53 +19112,53 @@ var require_io = __commonJS({ var require_toolrunner = __commonJS({ "node_modules/@actions/exec/lib/toolrunner.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -2681,12 +19169,12 @@ var require_toolrunner = __commonJS({ }; Object.defineProperty(exports, "__esModule", { value: true }); exports.argStringToArray = exports.ToolRunner = void 0; - var os2 = __importStar(require("os")); - var events = __importStar(require("events")); - var child = __importStar(require("child_process")); - var path2 = __importStar(require("path")); - var io = __importStar(require_io()); - var ioUtil = __importStar(require_io_util()); + var os3 = __importStar2(require("os")); + var events = __importStar2(require("events")); + var child = __importStar2(require("child_process")); + var path2 = __importStar2(require("path")); + var io = __importStar2(require_io()); + var ioUtil = __importStar2(require_io_util()); var timers_1 = require("timers"); var IS_WINDOWS = process.platform === "win32"; var ToolRunner = class extends events.EventEmitter { @@ -2711,39 +19199,39 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { cmd += toolPath; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } else if (options.windowsVerbatimArguments) { cmd += `"${toolPath}"`; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } else { cmd += this._windowsQuoteCmdArg(toolPath); - for (const a2 of args) { - cmd += ` ${this._windowsQuoteCmdArg(a2)}`; + for (const a3 of args) { + cmd += ` ${this._windowsQuoteCmdArg(a3)}`; } } } else { cmd += toolPath; - for (const a2 of args) { - cmd += ` ${a2}`; + for (const a3 of args) { + cmd += ` ${a3}`; } } return cmd; } _processLineBuffer(data, strBuffer, onLine) { try { - let s = strBuffer + data.toString(); - let n = s.indexOf(os2.EOL); - while (n > -1) { - const line = s.substring(0, n); + let s2 = strBuffer + data.toString(); + let n2 = s2.indexOf(os3.EOL); + while (n2 > -1) { + const line = s2.substring(0, n2); onLine(line); - s = s.substring(n + os2.EOL.length); - n = s.indexOf(os2.EOL); + s2 = s2.substring(n2 + os3.EOL.length); + n2 = s2.indexOf(os3.EOL); } - return s; + return s2; } catch (err) { this._debug(`error processing line. Failed with error ${err}`); return ""; @@ -2761,9 +19249,9 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a2 of this.args) { + for (const a3 of this.args) { argline += " "; - argline += options.windowsVerbatimArguments ? a2 : this._windowsQuoteCmdArg(a2); + argline += options.windowsVerbatimArguments ? a3 : this._windowsQuoteCmdArg(a3); } argline += '"'; return [argline]; @@ -2821,11 +19309,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i2 = arg.length; i2 > 0; i2--) { - reverse += arg[i2 - 1]; - if (quoteHit && arg[i2 - 1] === "\\") { + for (let i3 = arg.length; i3 > 0; i3--) { + reverse += arg[i3 - 1]; + if (quoteHit && arg[i3 - 1] === "\\") { reverse += "\\"; - } else if (arg[i2 - 1] === '"') { + } else if (arg[i3 - 1] === '"') { quoteHit = true; reverse += '"'; } else { @@ -2847,11 +19335,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i2 = arg.length; i2 > 0; i2--) { - reverse += arg[i2 - 1]; - if (quoteHit && arg[i2 - 1] === "\\") { + for (let i3 = arg.length; i3 > 0; i3--) { + reverse += arg[i3 - 1]; + if (quoteHit && arg[i3 - 1] === "\\") { reverse += "\\"; - } else if (arg[i2 - 1] === '"') { + } else if (arg[i3 - 1] === '"') { quoteHit = true; reverse += "\\"; } else { @@ -2888,12 +19376,12 @@ var require_toolrunner = __commonJS({ return result; } exec() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) { this.toolPath = path2.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); } this.toolPath = yield io.which(this.toolPath, true); - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () { this._debug(`exec tool: ${this.toolPath}`); this._debug("arguments:"); for (const arg of this.args) { @@ -2901,10 +19389,10 @@ var require_toolrunner = __commonJS({ } const optionsNonNull = this._cloneExecOptions(this.options); if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os2.EOL); + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os3.EOL); } - const state = new ExecState(optionsNonNull, this.toolPath); - state.on("debug", (message) => { + const state2 = new ExecState(optionsNonNull, this.toolPath); + state2.on("debug", (message) => { this._debug(message); }); if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { @@ -2931,13 +19419,13 @@ var require_toolrunner = __commonJS({ let errbuffer = ""; if (cp.stderr) { cp.stderr.on("data", (data) => { - state.processStderr = true; + state2.processStderr = true; if (this.options.listeners && this.options.listeners.stderr) { this.options.listeners.stderr(data); } if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); + const s2 = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s2.write(data); } errbuffer = this._processLineBuffer(data, errbuffer, (line) => { if (this.options.listeners && this.options.listeners.errline) { @@ -2947,25 +19435,25 @@ var require_toolrunner = __commonJS({ }); } cp.on("error", (err) => { - state.processError = err.message; - state.processExited = true; - state.processClosed = true; - state.CheckComplete(); + state2.processError = err.message; + state2.processExited = true; + state2.processClosed = true; + state2.CheckComplete(); }); cp.on("exit", (code) => { - state.processExitCode = code; - state.processExited = true; + state2.processExitCode = code; + state2.processExited = true; this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); - state.CheckComplete(); + state2.CheckComplete(); }); cp.on("close", (code) => { - state.processExitCode = code; - state.processExited = true; - state.processClosed = true; + state2.processExitCode = code; + state2.processExited = true; + state2.processClosed = true; this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); - state.CheckComplete(); + state2.CheckComplete(); }); - state.on("done", (error, exitCode) => { + state2.on("done", (error, exitCode) => { if (stdbuffer.length > 0) { this.emit("stdline", stdbuffer); } @@ -2995,39 +19483,39 @@ var require_toolrunner = __commonJS({ let inQuotes = false; let escaped = false; let arg = ""; - function append2(c) { - if (escaped && c !== '"') { + function append2(c2) { + if (escaped && c2 !== '"') { arg += "\\"; } - arg += c; + arg += c2; escaped = false; } - for (let i2 = 0; i2 < argString.length; i2++) { - const c = argString.charAt(i2); - if (c === '"') { + for (let i3 = 0; i3 < argString.length; i3++) { + const c2 = argString.charAt(i3); + if (c2 === '"') { if (!escaped) { inQuotes = !inQuotes; } else { - append2(c); + append2(c2); } continue; } - if (c === "\\" && escaped) { - append2(c); + if (c2 === "\\" && escaped) { + append2(c2); continue; } - if (c === "\\" && inQuotes) { + if (c2 === "\\" && inQuotes) { escaped = true; continue; } - if (c === " " && !inQuotes) { + if (c2 === " " && !inQuotes) { if (arg.length > 0) { args.push(arg); arg = ""; } continue; } - append2(c); + append2(c2); } if (arg.length > 0) { args.push(arg.trim()); @@ -3086,15 +19574,15 @@ var require_toolrunner = __commonJS({ this.done = true; this.emit("done", error, this.processExitCode); } - static HandleTimeout(state) { - if (state.done) { + static HandleTimeout(state2) { + if (state2.done) { return; } - if (!state.processClosed && state.processExited) { - const message = `The STDIO streams did not close within ${state.delay / 1e3} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; - state._debug(message); + if (!state2.processClosed && state2.processExited) { + const message = `The STDIO streams did not close within ${state2.delay / 1e3} seconds of the exit event from process '${state2.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + state2._debug(message); } - state._setResult(); + state2._setResult(); } }; } @@ -3104,53 +19592,53 @@ var require_toolrunner = __commonJS({ var require_exec = __commonJS({ "node_modules/@actions/exec/lib/exec.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -3162,31 +19650,31 @@ var require_exec = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.getExecOutput = exports.exec = void 0; var string_decoder_1 = require("string_decoder"); - var tr = __importStar(require_toolrunner()); + var tr2 = __importStar2(require_toolrunner()); function exec2(commandLine, args, options) { - return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr.argStringToArray(commandLine); + return __awaiter2(this, void 0, void 0, function* () { + const commandArgs = tr2.argStringToArray(commandLine); if (commandArgs.length === 0) { throw new Error(`Parameter 'commandLine' cannot be null or empty.`); } const toolPath = commandArgs[0]; args = commandArgs.slice(1).concat(args || []); - const runner = new tr.ToolRunner(toolPath, args, options); + const runner = new tr2.ToolRunner(toolPath, args, options); return runner.exec(); }); } exports.exec = exec2; function getExecOutput(commandLine, args, options) { - var _a, _b; - return __awaiter(this, void 0, void 0, function* () { + var _a4, _b2; + return __awaiter2(this, void 0, void 0, function* () { let stdout = ""; - let stderr = ""; + let stderr2 = ""; const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; - const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + const originalStdoutListener = (_a4 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a4 === void 0 ? void 0 : _a4.stdout; + const originalStdErrListener = (_b2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _b2 === void 0 ? void 0 : _b2.stderr; const stdErrListener = (data) => { - stderr += stderrDecoder.write(data); + stderr2 += stderrDecoder.write(data); if (originalStdErrListener) { originalStdErrListener(data); } @@ -3200,11 +19688,11 @@ var require_exec = __commonJS({ const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); const exitCode = yield exec2(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); stdout += stdoutDecoder.end(); - stderr += stderrDecoder.end(); + stderr2 += stderrDecoder.end(); return { exitCode, stdout, - stderr + stderr: stderr2 }; }); } @@ -3222,7 +19710,7 @@ var require_context = __commonJS({ var os_1 = require("os"); var Context = class { constructor() { - var _a, _b, _c; + var _a4, _b2, _c2; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { @@ -3241,9 +19729,9 @@ var require_context = __commonJS({ this.job = process.env.GITHUB_JOB; this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; - this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + this.apiUrl = (_a4 = process.env.GITHUB_API_URL) !== null && _a4 !== void 0 ? _a4 : `https://api.github.com`; + this.serverUrl = (_b2 = process.env.GITHUB_SERVER_URL) !== null && _b2 !== void 0 ? _b2 : `https://github.com`; + this.graphqlUrl = (_c2 = process.env.GITHUB_GRAPHQL_URL) !== null && _c2 !== void 0 ? _c2 : `https://api.github.com/graphql`; } get issue() { const payload = this.payload; @@ -3268,40 +19756,40 @@ var require_context = __commonJS({ }); // node_modules/@actions/github/lib/internal/utils.js -var require_utils2 = __commonJS({ +var require_utils3 = __commonJS({ "node_modules/@actions/github/lib/internal/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; - var httpClient = __importStar(require_lib()); + var httpClient = __importStar2(require_lib()); function getAuthString(token, options) { if (!token && !options.auth) { throw new Error("Parameter token or opts.auth is required"); @@ -3332,7 +19820,7 @@ var require_dist_node = __commonJS({ if (typeof navigator === "object" && "userAgent" in navigator) { return navigator.userAgent; } - if (typeof process === "object" && "version" in process) { + if (typeof process === "object" && process.version !== void 0) { return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } return "<environment undetectable>"; @@ -3345,7 +19833,7 @@ var require_dist_node = __commonJS({ var require_register = __commonJS({ "node_modules/before-after-hook/lib/register.js"(exports, module2) { module2.exports = register; - function register(state, name, method, options) { + function register(state2, name, method, options) { if (typeof method !== "function") { throw new Error("method for before hook must be a function"); } @@ -3354,14 +19842,14 @@ var require_register = __commonJS({ } if (Array.isArray(name)) { return name.reverse().reduce(function(callback, name2) { - return register.bind(null, state, name2, callback, options); + return register.bind(null, state2, name2, callback, options); }, method)(); } return Promise.resolve().then(function() { - if (!state.registry[name]) { + if (!state2.registry[name]) { return method(options); } - return state.registry[name].reduce(function(method2, registered) { + return state2.registry[name].reduce(function(method2, registered) { return registered.hook.bind(null, method2, options); }, method)(); }); @@ -3373,17 +19861,17 @@ var require_register = __commonJS({ var require_add = __commonJS({ "node_modules/before-after-hook/lib/add.js"(exports, module2) { module2.exports = addHook; - function addHook(state, kind, name, hook) { + function addHook(state2, kind2, name, hook) { var orig = hook; - if (!state.registry[name]) { - state.registry[name] = []; + if (!state2.registry[name]) { + state2.registry[name] = []; } - if (kind === "before") { + if (kind2 === "before") { hook = function(method, options) { return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); }; } - if (kind === "after") { + if (kind2 === "after") { hook = function(method, options) { var result; return Promise.resolve().then(method.bind(null, options)).then(function(result_) { @@ -3394,14 +19882,14 @@ var require_add = __commonJS({ }); }; } - if (kind === "error") { + if (kind2 === "error") { hook = function(method, options) { return Promise.resolve().then(method.bind(null, options)).catch(function(error) { return orig(error, options); }); }; } - state.registry[name].push({ + state2.registry[name].push({ hook, orig }); @@ -3413,17 +19901,17 @@ var require_add = __commonJS({ var require_remove = __commonJS({ "node_modules/before-after-hook/lib/remove.js"(exports, module2) { module2.exports = removeHook; - function removeHook(state, name, method) { - if (!state.registry[name]) { + function removeHook(state2, name, method) { + if (!state2.registry[name]) { return; } - var index = state.registry[name].map(function(registered) { + var index = state2.registry[name].map(function(registered) { return registered.orig; }).indexOf(method); if (index === -1) { return; } - state.registry[name].splice(index, 1); + state2.registry[name].splice(index, 1); } } }); @@ -3436,16 +19924,16 @@ var require_before_after_hook = __commonJS({ var removeHook = require_remove(); var bind2 = Function.bind; var bindable = bind2.bind(bind2); - function bindApi(hook, state, name) { + function bindApi(hook, state2, name) { var removeHookRef = bindable(removeHook, null).apply( null, - name ? [state, name] : [state] + name ? [state2, name] : [state2] ); hook.api = { remove: removeHookRef }; hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function(kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + ["before", "error", "after", "wrap"].forEach(function(kind2) { + var args = name ? [state2, kind2, name] : [state2, kind2]; + hook[kind2] = hook.api[kind2] = bindable(addHook, null).apply(null, args); }); } function HookSingular() { @@ -3458,11 +19946,11 @@ var require_before_after_hook = __commonJS({ return singularHook; } function HookCollection() { - var state = { + var state2 = { registry: {} }; - var hook = register.bind(null, state); - bindApi(hook, state); + var hook = register.bind(null, state2); + bindApi(hook, state2); return hook; } var collectionHookDeprecationMessageDisplayed = false; @@ -3489,34 +19977,34 @@ var require_is_plain_object = __commonJS({ "node_modules/is-plain-object/dist/is-plain-object.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - function isObject2(o2) { - return Object.prototype.toString.call(o2) === "[object Object]"; + function isObject3(o3) { + return Object.prototype.toString.call(o3) === "[object Object]"; } - function isPlainObject2(o2) { + function isPlainObject4(o3) { var ctor, prot; - if (isObject2(o2) === false) + if (isObject3(o3) === false) return false; - ctor = o2.constructor; + ctor = o3.constructor; if (ctor === void 0) return true; prot = ctor.prototype; - if (isObject2(prot) === false) + if (isObject3(prot) === false) return false; if (prot.hasOwnProperty("isPrototypeOf") === false) { return false; } return true; } - exports.isPlainObject = isPlainObject2; + exports.isPlainObject = isPlainObject4; } }); -// node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js +// node_modules/@octokit/endpoint/dist-node/index.js var require_dist_node2 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/endpoint/dist-node/index.js"(exports) { + "node_modules/@octokit/endpoint/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var isPlainObject2 = require_is_plain_object(); + var isPlainObject4 = require_is_plain_object(); var universalUserAgent = require_dist_node(); function lowercaseKeys(object) { if (!object) { @@ -3530,7 +20018,7 @@ var require_dist_node2 = __commonJS({ function mergeDeep(defaults2, options) { const result = Object.assign({}, defaults2); Object.keys(options).forEach((key) => { - if (isPlainObject2.isPlainObject(options[key])) { + if (isPlainObject4.isPlainObject(options[key])) { if (!(key in defaults2)) Object.assign(result, { [key]: options[key] @@ -3597,7 +20085,7 @@ var require_dist_node2 = __commonJS({ if (!matches) { return []; } - return matches.map(removeNonChars).reduce((a2, b2) => a2.concat(b2), []); + return matches.map(removeNonChars).reduce((a3, b3) => a3.concat(b3), []); } function omit(object, keysToOmit) { return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { @@ -3614,8 +20102,8 @@ var require_dist_node2 = __commonJS({ }).join(""); } function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + return encodeURIComponent(str).replace(/[!'()*]/g, function(c2) { + return "%" + c2.charCodeAt(0).toString(16).toUpperCase(); }); } function encodeValue(operator, value, key) { @@ -3626,7 +20114,7 @@ var require_dist_node2 = __commonJS({ return value; } } - function isDefined(value) { + function isDefined2(value) { return value !== void 0 && value !== null; } function isKeyOperator(operator) { @@ -3634,7 +20122,7 @@ var require_dist_node2 = __commonJS({ } function getValues(context2, operator, key, modifier) { var value = context2[key], result = []; - if (isDefined(value) && value !== "") { + if (isDefined2(value) && value !== "") { if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { value = value.toString(); if (modifier && modifier !== "*") { @@ -3644,27 +20132,27 @@ var require_dist_node2 = __commonJS({ } else { if (modifier === "*") { if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { + value.filter(isDefined2).forEach(function(value2) { result.push(encodeValue(operator, value2, isKeyOperator(operator) ? key : "")); }); } else { - Object.keys(value).forEach(function(k3) { - if (isDefined(value[k3])) { - result.push(encodeValue(operator, value[k3], k3)); + Object.keys(value).forEach(function(k4) { + if (isDefined2(value[k4])) { + result.push(encodeValue(operator, value[k4], k4)); } }); } } else { const tmp = []; if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { + value.filter(isDefined2).forEach(function(value2) { tmp.push(encodeValue(operator, value2)); }); } else { - Object.keys(value).forEach(function(k3) { - if (isDefined(value[k3])) { - tmp.push(encodeUnreserved(k3)); - tmp.push(encodeValue(operator, value[k3].toString())); + Object.keys(value).forEach(function(k4) { + if (isDefined2(value[k4])) { + tmp.push(encodeUnreserved(k4)); + tmp.push(encodeValue(operator, value[k4].toString())); } }); } @@ -3677,7 +20165,7 @@ var require_dist_node2 = __commonJS({ } } else { if (operator === ";") { - if (isDefined(value)) { + if (isDefined2(value)) { result.push(encodeUnreserved(key)); } } else if (value === "" && (operator === "&" || operator === "?")) { @@ -3695,7 +20183,7 @@ var require_dist_node2 = __commonJS({ } function expand(template, context2) { var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_2, expression, literal) { + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_3, expression, literal) { if (expression) { let operator = ""; const values = []; @@ -3791,8 +20279,8 @@ var require_dist_node2 = __commonJS({ parse }); } - var VERSION3 = "6.0.12"; - var userAgent = `octokit-endpoint.js/${VERSION3} ${universalUserAgent.getUserAgent()}`; + var VERSION4 = "6.0.12"; + var userAgent = `octokit-endpoint.js/${VERSION4} ${universalUserAgent.getUserAgent()}`; var DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -3834,10 +20322,10 @@ var require_lib2 = __commonJS({ const upperBound = Math.pow(2, bitLength) - 1; const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function(V2, opts) { + return function(V4, opts) { if (!opts) opts = {}; - let x2 = +V2; + let x2 = +V4; if (opts.enforceRange) { if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite number"); @@ -3887,15 +20375,15 @@ var require_lib2 = __commonJS({ conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions["double"] = function(V2) { - const x2 = +V2; + conversions["double"] = function(V4) { + const x2 = +V4; if (!Number.isFinite(x2)) { throw new TypeError("Argument is not a finite floating-point value"); } return x2; }; - conversions["unrestricted double"] = function(V2) { - const x2 = +V2; + conversions["unrestricted double"] = function(V4) { + const x2 = +V4; if (isNaN(x2)) { throw new TypeError("Argument is NaN"); } @@ -3903,44 +20391,44 @@ var require_lib2 = __commonJS({ }; conversions["float"] = conversions["double"]; conversions["unrestricted float"] = conversions["unrestricted double"]; - conversions["DOMString"] = function(V2, opts) { + conversions["DOMString"] = function(V4, opts) { if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V2 === null) { + if (opts.treatNullAsEmptyString && V4 === null) { return ""; } - return String(V2); + return String(V4); }; - conversions["ByteString"] = function(V2, opts) { - const x2 = String(V2); - let c = void 0; - for (let i2 = 0; (c = x2.codePointAt(i2)) !== void 0; ++i2) { - if (c > 255) { + conversions["ByteString"] = function(V4, opts) { + const x2 = String(V4); + let c2 = void 0; + for (let i3 = 0; (c2 = x2.codePointAt(i3)) !== void 0; ++i3) { + if (c2 > 255) { throw new TypeError("Argument is not a valid bytestring"); } } return x2; }; - conversions["USVString"] = function(V2) { - const S2 = String(V2); - const n = S2.length; + conversions["USVString"] = function(V4) { + const S3 = String(V4); + const n2 = S3.length; const U5 = []; - for (let i2 = 0; i2 < n; ++i2) { - const c = S2.charCodeAt(i2); - if (c < 55296 || c > 57343) { - U5.push(String.fromCodePoint(c)); - } else if (56320 <= c && c <= 57343) { + for (let i3 = 0; i3 < n2; ++i3) { + const c2 = S3.charCodeAt(i3); + if (c2 < 55296 || c2 > 57343) { + U5.push(String.fromCodePoint(c2)); + } else if (56320 <= c2 && c2 <= 57343) { U5.push(String.fromCodePoint(65533)); } else { - if (i2 === n - 1) { + if (i3 === n2 - 1) { U5.push(String.fromCodePoint(65533)); } else { - const d4 = S2.charCodeAt(i2 + 1); - if (56320 <= d4 && d4 <= 57343) { - const a2 = c & 1023; - const b2 = d4 & 1023; - U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a2 + b2)); - ++i2; + const d5 = S3.charCodeAt(i3 + 1); + if (56320 <= d5 && d5 <= 57343) { + const a3 = c2 & 1023; + const b3 = d5 & 1023; + U5.push(String.fromCodePoint((2 << 15) + (2 << 9) * a3 + b3)); + ++i3; } else { U5.push(String.fromCodePoint(65533)); } @@ -3949,32 +20437,32 @@ var require_lib2 = __commonJS({ } return U5.join(""); }; - conversions["Date"] = function(V2, opts) { - if (!(V2 instanceof Date)) { + conversions["Date"] = function(V4, opts) { + if (!(V4 instanceof Date)) { throw new TypeError("Argument is not a Date object"); } - if (isNaN(V2)) { + if (isNaN(V4)) { return void 0; } - return V2; + return V4; }; - conversions["RegExp"] = function(V2, opts) { - if (!(V2 instanceof RegExp)) { - V2 = new RegExp(V2); + conversions["RegExp"] = function(V4, opts) { + if (!(V4 instanceof RegExp)) { + V4 = new RegExp(V4); } - return V2; + return V4; }; } }); // node_modules/whatwg-url/lib/utils.js -var require_utils3 = __commonJS({ +var require_utils4 = __commonJS({ "node_modules/whatwg-url/lib/utils.js"(exports, module2) { "use strict"; module2.exports.mixin = function mixin(target, source) { const keys = Object.getOwnPropertyNames(source); - for (let i2 = 0; i2 < keys.length; ++i2) { - Object.defineProperty(target, keys[i2], Object.getOwnPropertyDescriptor(source, keys[i2])); + for (let i3 = 0; i3 < keys.length; ++i3) { + Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3])); } }; module2.exports.wrapperSymbol = Symbol("wrapper"); @@ -4006,8 +20494,8 @@ var require_tr46 = __commonJS({ NONTRANSITIONAL: 1 }; function normalize(str) { - return str.split("\0").map(function(s) { - return s.normalize("NFC"); + return str.split("\0").map(function(s2) { + return s2.normalize("NFC"); }).join("\0"); } function findStatus(val) { @@ -4034,8 +20522,8 @@ var require_tr46 = __commonJS({ var hasError = false; var processed = ""; var len = countSymbols(domain_name); - for (var i2 = 0; i2 < len; ++i2) { - var codePoint = domain_name.codePointAt(i2); + for (var i3 = 0; i3 < len; ++i3) { + var codePoint = domain_name.codePointAt(i3); var status = findStatus(codePoint); switch (status[1]) { case "disallowed": @@ -4089,8 +20577,8 @@ var require_tr46 = __commonJS({ error = true; } var len = countSymbols(label); - for (var i2 = 0; i2 < len; ++i2) { - var status = findStatus(label.codePointAt(i2)); + for (var i3 = 0; i3 < len; ++i3) { + var status = findStatus(label.codePointAt(i3)); if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { error = true; break; @@ -4105,12 +20593,12 @@ var require_tr46 = __commonJS({ var result = mapChars(domain_name, useSTD3, processing_option); result.string = normalize(result.string); var labels = result.string.split("."); - for (var i2 = 0; i2 < labels.length; ++i2) { + for (var i3 = 0; i3 < labels.length; ++i3) { try { - var validation = validateLabel(labels[i2]); - labels[i2] = validation.label; + var validation = validateLabel(labels[i3]); + labels[i3] = validation.label; result.error = result.error || validation.error; - } catch (e2) { + } catch (e3) { result.error = true; } } @@ -4122,12 +20610,12 @@ var require_tr46 = __commonJS({ module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { var result = processing(domain_name, useSTD3, processing_option); var labels = result.string.split("."); - labels = labels.map(function(l) { + labels = labels.map(function(l3) { try { - return punycode.toASCII(l); - } catch (e2) { + return punycode.toASCII(l3); + } catch (e3) { result.error = true; - return l; + return l3; } }); if (verifyDnsLength) { @@ -4135,7 +20623,7 @@ var require_tr46 = __commonJS({ if (total.length > 253 || total.length === 0) { result.error = true; } - for (var i2 = 0; i2 < labels.length; ++i2) { + for (var i3 = 0; i3 < labels.length; ++i3) { if (labels.length > 63 || labels.length === 0) { result.error = true; break; @@ -4176,21 +20664,21 @@ var require_url_state_machine = __commonJS({ function countSymbols(str) { return punycode.ucs2.decode(str).length; } - function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? void 0 : String.fromCodePoint(c); + function at2(input, idx) { + const c2 = input[idx]; + return isNaN(c2) ? void 0 : String.fromCodePoint(c2); } - function isASCIIDigit(c) { - return c >= 48 && c <= 57; + function isASCIIDigit(c2) { + return c2 >= 48 && c2 <= 57; } - function isASCIIAlpha(c) { - return c >= 65 && c <= 90 || c >= 97 && c <= 122; + function isASCIIAlpha(c2) { + return c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122; } - function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); + function isASCIIAlphanumeric(c2) { + return isASCIIAlpha(c2) || isASCIIDigit(c2); } - function isASCIIHex(c) { - return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; + function isASCIIHex(c2) { + return isASCIIDigit(c2) || c2 >= 65 && c2 <= 70 || c2 >= 97 && c2 <= 102; } function isSingleDot(buffer) { return buffer === "." || buffer.toLowerCase() === "%2e"; @@ -4223,50 +20711,50 @@ var require_url_state_machine = __commonJS({ function defaultPort(scheme) { return specialSchemes[scheme]; } - function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); + function percentEncode(c2) { + let hex = c2.toString(16).toUpperCase(); if (hex.length === 1) { hex = "0" + hex; } return "%" + hex; } - function utf8PercentEncode(c) { - const buf = new Buffer(c); + function utf8PercentEncode(c2) { + const buf = new Buffer(c2); let str = ""; - for (let i2 = 0; i2 < buf.length; ++i2) { - str += percentEncode(buf[i2]); + for (let i3 = 0; i3 < buf.length; ++i3) { + str += percentEncode(buf[i3]); } return str; } function utf8PercentDecode(str) { const input = new Buffer(str); const output = []; - for (let i2 = 0; i2 < input.length; ++i2) { - if (input[i2] !== 37) { - output.push(input[i2]); - } else if (input[i2] === 37 && isASCIIHex(input[i2 + 1]) && isASCIIHex(input[i2 + 2])) { - output.push(parseInt(input.slice(i2 + 1, i2 + 3).toString(), 16)); - i2 += 2; + for (let i3 = 0; i3 < input.length; ++i3) { + if (input[i3] !== 37) { + output.push(input[i3]); + } else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) { + output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16)); + i3 += 2; } else { - output.push(input[i2]); + output.push(input[i3]); } } return new Buffer(output).toString(); } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; + function isC0ControlPercentEncode(c2) { + return c2 <= 31 || c2 > 126; } var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + function isPathPercentEncode(c2) { + return isC0ControlPercentEncode(c2) || extraPathPercentEncodeSet.has(c2); } var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); + function isUserinfoPercentEncode(c2) { + return isPathPercentEncode(c2) || extraUserinfoPercentEncodeSet.has(c2); } - function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - if (encodeSetPredicate(c)) { + function percentEncodeChar(c2, encodeSetPredicate) { + const cStr = String.fromCodePoint(c2); + if (encodeSetPredicate(c2)) { return utf8PercentEncode(cStr); } return cStr; @@ -4304,14 +20792,14 @@ var require_url_state_machine = __commonJS({ if (part === "") { return input; } - const n = parseIPv4Number(part); - if (n === failure) { + const n2 = parseIPv4Number(part); + if (n2 === failure) { return input; } - numbers.push(n); + numbers.push(n2); } - for (let i2 = 0; i2 < numbers.length - 1; ++i2) { - if (numbers[i2] > 255) { + for (let i3 = 0; i3 < numbers.length - 1; ++i3) { + if (numbers[i3] > 255) { return failure; } } @@ -4320,21 +20808,21 @@ var require_url_state_machine = __commonJS({ } let ipv4 = numbers.pop(); let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); + for (const n2 of numbers) { + ipv4 += n2 * Math.pow(256, 3 - counter); ++counter; } return ipv4; } function serializeIPv4(address) { let output = ""; - let n = address; - for (let i2 = 1; i2 <= 4; ++i2) { - output = String(n % 256) + output; - if (i2 !== 4) { + let n2 = address; + for (let i3 = 1; i3 <= 4; ++i3) { + output = String(n2 % 256) + output; + if (i3 !== 4) { output = "." + output; } - n = Math.floor(n / 256); + n2 = Math.floor(n2 / 256); } return output; } @@ -4368,7 +20856,7 @@ var require_url_state_machine = __commonJS({ let value = 0; let length = 0; while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at(input, pointer), 16); + value = value * 16 + parseInt(at2(input, pointer), 16); ++pointer; ++length; } @@ -4394,7 +20882,7 @@ var require_url_state_machine = __commonJS({ return failure; } while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); + const number = parseInt(at2(input, pointer)); if (ipv4Piece === null) { ipv4Piece = number; } else if (ipv4Piece === 0) { @@ -4497,8 +20985,8 @@ var require_url_state_machine = __commonJS({ } let output = ""; const decoded = punycode.ucs2.decode(input); - for (let i2 = 0; i2 < decoded.length; ++i2) { - output += percentEncodeChar(decoded[i2], isC0ControlPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode); } return output; } @@ -4507,8 +20995,8 @@ var require_url_state_machine = __commonJS({ let maxLen = 1; let currStart = null; let currLen = 0; - for (let i2 = 0; i2 < arr.length; ++i2) { - if (arr[i2] !== 0) { + for (let i3 = 0; i3 < arr.length; ++i3) { + if (arr[i3] !== 0) { if (currLen > maxLen) { maxIdx = currStart; maxLen = currLen; @@ -4517,7 +21005,7 @@ var require_url_state_machine = __commonJS({ currLen = 0; } else { if (currStart === null) { - currStart = i2; + currStart = i3; } ++currLen; } @@ -4604,9 +21092,9 @@ var require_url_state_machine = __commonJS({ this.passwordTokenSeenFlag = false; this.input = punycode.ucs2.decode(this.input); for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); - const ret = this["parse " + this.state](c, cStr); + const c2 = this.input[this.pointer]; + const cStr = isNaN(c2) ? void 0 : String.fromCodePoint(c2); + const ret = this["parse " + this.state](c2, cStr); if (!ret) { break; } else if (ret === failure) { @@ -4615,8 +21103,8 @@ var require_url_state_machine = __commonJS({ } } } - URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c2, cStr) { + if (isASCIIAlpha(c2)) { this.buffer += cStr.toLowerCase(); this.state = "scheme"; } else if (!this.stateOverride) { @@ -4628,10 +21116,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + URLStateMachine.prototype["parse scheme"] = function parseScheme(c2, cStr) { + if (isASCIIAlphanumeric(c2) || c2 === 43 || c2 === 45 || c2 === 46) { this.buffer += cStr.toLowerCase(); - } else if (c === 58) { + } else if (c2 === 58) { if (this.stateOverride) { if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { return false; @@ -4678,10 +21166,10 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { - if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c2) { + if (this.base === null || this.base.cannotBeABaseURL && c2 !== 35) { return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { + } else if (this.base.cannotBeABaseURL && c2 === 35) { this.url.scheme = this.base.scheme; this.url.path = this.base.path.slice(); this.url.query = this.base.query; @@ -4697,8 +21185,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c2) { + if (c2 === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -4708,8 +21196,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { - if (c === 47) { + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c2) { + if (c2 === 47) { this.state = "authority"; } else { this.state = "path"; @@ -4717,18 +21205,18 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + URLStateMachine.prototype["parse relative"] = function parseRelative(c2) { this.url.scheme = this.base.scheme; - if (isNaN(c)) { + if (isNaN(c2)) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; this.url.port = this.base.port; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c === 47) { + } else if (c2 === 47) { this.state = "relative slash"; - } else if (c === 63) { + } else if (c2 === 63) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -4736,7 +21224,7 @@ var require_url_state_machine = __commonJS({ this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; @@ -4745,7 +21233,7 @@ var require_url_state_machine = __commonJS({ this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; - } else if (isSpecial(this.url) && c === 92) { + } else if (isSpecial(this.url) && c2 === 92) { this.parseError = true; this.state = "relative slash"; } else { @@ -4759,13 +21247,13 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c2) { + if (isSpecial(this.url) && (c2 === 47 || c2 === 92)) { + if (c2 === 92) { this.parseError = true; } this.state = "special authority ignore slashes"; - } else if (c === 47) { + } else if (c2 === 47) { this.state = "authority"; } else { this.url.username = this.base.username; @@ -4777,8 +21265,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c2) { + if (c2 === 47 && this.input[this.pointer + 1] === 47) { this.state = "special authority ignore slashes"; ++this.pointer; } else { @@ -4788,8 +21276,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c2) { + if (c2 !== 47 && c2 !== 92) { this.state = "authority"; --this.pointer; } else { @@ -4797,8 +21285,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { - if (c === 64) { + URLStateMachine.prototype["parse authority"] = function parseAuthority(c2, cStr) { + if (c2 === 64) { this.parseError = true; if (this.atFlag) { this.buffer = "%40" + this.buffer; @@ -4819,7 +21307,7 @@ var require_url_state_machine = __commonJS({ } } this.buffer = ""; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { if (this.atFlag && this.buffer === "") { this.parseError = true; return failure; @@ -4832,11 +21320,11 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c2, cStr) { if (this.stateOverride && this.url.scheme === "file") { --this.pointer; this.state = "file host"; - } else if (c === 58 && !this.arrFlag) { + } else if (c2 === 58 && !this.arrFlag) { if (this.buffer === "") { this.parseError = true; return failure; @@ -4851,7 +21339,7 @@ var require_url_state_machine = __commonJS({ if (this.stateOverride === "hostname") { return false; } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92) { --this.pointer; if (isSpecial(this.url) && this.buffer === "") { this.parseError = true; @@ -4871,19 +21359,19 @@ var require_url_state_machine = __commonJS({ return false; } } else { - if (c === 91) { + if (c2 === 91) { this.arrFlag = true; - } else if (c === 93) { + } else if (c2 === 93) { this.arrFlag = false; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { + URLStateMachine.prototype["parse port"] = function parsePort(c2, cStr) { + if (isASCIIDigit(c2)) { this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { + } else if (isNaN(c2) || c2 === 47 || c2 === 63 || c2 === 35 || isSpecial(this.url) && c2 === 92 || this.stateOverride) { if (this.buffer !== "") { const port = parseInt(this.buffer); if (port > Math.pow(2, 16) - 1) { @@ -4905,31 +21393,31 @@ var require_url_state_machine = __commonJS({ return true; }; var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype["parse file"] = function parseFile(c) { + URLStateMachine.prototype["parse file"] = function parseFile(c2) { this.url.scheme = "file"; - if (c === 47 || c === 92) { - if (c === 92) { + if (c2 === 47 || c2 === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "file slash"; } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c)) { + if (isNaN(c2)) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; - } else if (c === 63) { + } else if (c2 === 63) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; } else { - if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + if (this.input.length - this.pointer - 1 === 0 || !isWindowsDriveLetterCodePoints(c2, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { this.url.host = this.base.host; this.url.path = this.base.path.slice(); shortenPath(this.url); @@ -4945,9 +21433,9 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c2) { + if (c2 === 47 || c2 === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "file host"; @@ -4964,8 +21452,8 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + URLStateMachine.prototype["parse file host"] = function parseFileHost(c2, cStr) { + if (isNaN(c2) || c2 === 47 || c2 === 92 || c2 === 63 || c2 === 35) { --this.pointer; if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { this.parseError = true; @@ -4996,40 +21484,40 @@ var require_url_state_machine = __commonJS({ } return true; }; - URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + URLStateMachine.prototype["parse path start"] = function parsePathStart(c2) { if (isSpecial(this.url)) { - if (c === 92) { + if (c2 === 92) { this.parseError = true; } this.state = "path"; - if (c !== 47 && c !== 92) { + if (c2 !== 47 && c2 !== 92) { --this.pointer; } - } else if (!this.stateOverride && c === 63) { + } else if (!this.stateOverride && c2 === 63) { this.url.query = ""; this.state = "query"; - } else if (!this.stateOverride && c === 35) { + } else if (!this.stateOverride && c2 === 35) { this.url.fragment = ""; this.state = "fragment"; - } else if (c !== void 0) { + } else if (c2 !== void 0) { this.state = "path"; - if (c !== 47) { + if (c2 !== 47) { --this.pointer; } } return true; }; - URLStateMachine.prototype["parse path"] = function parsePath(c) { - if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { - if (isSpecial(this.url) && c === 92) { + URLStateMachine.prototype["parse path"] = function parsePath(c2) { + if (isNaN(c2) || c2 === 47 || isSpecial(this.url) && c2 === 92 || !this.stateOverride && (c2 === 63 || c2 === 35)) { + if (isSpecial(this.url) && c2 === 92) { this.parseError = true; } if (isDoubleDot(this.buffer)) { shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + if (c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { this.url.path.push(""); } - } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { + } else if (isSingleDot(this.buffer) && c2 !== 47 && !(isSpecial(this.url) && c2 === 92)) { this.url.path.push(""); } else if (!isSingleDot(this.buffer)) { if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { @@ -5042,83 +21530,83 @@ var require_url_state_machine = __commonJS({ this.url.path.push(this.buffer); } this.buffer = ""; - if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { + if (this.url.scheme === "file" && (c2 === void 0 || c2 === 63 || c2 === 35)) { while (this.url.path.length > 1 && this.url.path[0] === "") { this.parseError = true; this.url.path.shift(); } } - if (c === 63) { + if (c2 === 63) { this.url.query = ""; this.state = "query"; } - if (c === 35) { + if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.buffer += percentEncodeChar(c, isPathPercentEncode); + this.buffer += percentEncodeChar(c2, isPathPercentEncode); } return true; }; - URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c2) { + if (c2 === 63) { this.url.query = ""; this.state = "query"; - } else if (c === 35) { + } else if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } else { - if (!isNaN(c) && c !== 37) { + if (!isNaN(c2) && c2 !== 37) { this.parseError = true; } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + if (!isNaN(c2)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c2, isC0ControlPercentEncode); } } return true; }; - URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { - if (isNaN(c) || !this.stateOverride && c === 35) { + URLStateMachine.prototype["parse query"] = function parseQuery(c2, cStr) { + if (isNaN(c2) || !this.stateOverride && c2 === 35) { if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { this.encodingOverride = "utf-8"; } const buffer = new Buffer(this.buffer); - for (let i2 = 0; i2 < buffer.length; ++i2) { - if (buffer[i2] < 33 || buffer[i2] > 126 || buffer[i2] === 34 || buffer[i2] === 35 || buffer[i2] === 60 || buffer[i2] === 62) { - this.url.query += percentEncode(buffer[i2]); + for (let i3 = 0; i3 < buffer.length; ++i3) { + if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) { + this.url.query += percentEncode(buffer[i3]); } else { - this.url.query += String.fromCodePoint(buffer[i2]); + this.url.query += String.fromCodePoint(buffer[i3]); } } this.buffer = ""; - if (c === 35) { + if (c2 === 35) { this.url.fragment = ""; this.state = "fragment"; } } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.buffer += cStr; } return true; }; - URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { - if (isNaN(c)) { - } else if (c === 0) { + URLStateMachine.prototype["parse fragment"] = function parseFragment(c2) { + if (isNaN(c2)) { + } else if (c2 === 0) { this.parseError = true; } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + if (c2 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + this.url.fragment += percentEncodeChar(c2, isC0ControlPercentEncode); } return true; }; @@ -5169,7 +21657,7 @@ var require_url_state_machine = __commonJS({ case "blob": try { return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); - } catch (e2) { + } catch (e3) { return "null"; } case "ftp": @@ -5202,15 +21690,15 @@ var require_url_state_machine = __commonJS({ module2.exports.setTheUsername = function(url2, username) { url2.username = ""; const decoded = punycode.ucs2.decode(username); - for (let i2 = 0; i2 < decoded.length; ++i2) { - url2.username += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); } }; module2.exports.setThePassword = function(url2, password) { url2.password = ""; const decoded = punycode.ucs2.decode(password); - for (let i2 = 0; i2 < decoded.length; ++i2) { - url2.password += percentEncodeChar(decoded[i2], isUserinfoPercentEncode); + for (let i3 = 0; i3 < decoded.length; ++i3) { + url2.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode); } }; module2.exports.serializeHost = serializeHost; @@ -5389,7 +21877,7 @@ var require_URL = __commonJS({ "node_modules/whatwg-url/lib/URL.js"(exports, module2) { "use strict"; var conversions = require_lib2(); - var utils = require_utils3(); + var utils = require_utils4(); var Impl = require_URL_impl(); var impl = utils.implSymbol; function URL2(url2) { @@ -5400,8 +21888,8 @@ var require_URL = __commonJS({ throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); } const args = []; - for (let i2 = 0; i2 < arguments.length && i2 < 2; ++i2) { - args[i2] = arguments[i2]; + for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) { + args[i3] = arguments[i3]; } args[0] = conversions["USVString"](args[0]); if (args[1] !== void 0) { @@ -5414,8 +21902,8 @@ var require_URL = __commonJS({ throw new TypeError("Illegal invocation"); } const args = []; - for (let i2 = 0; i2 < arguments.length && i2 < 0; ++i2) { - args[i2] = arguments[i2]; + for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) { + args[i3] = arguments[i3]; } return this[impl].toJSON.apply(this[impl], args); }; @@ -5423,9 +21911,9 @@ var require_URL = __commonJS({ get() { return this[impl].href; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].href = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].href = V4; }, enumerable: true, configurable: true @@ -5447,9 +21935,9 @@ var require_URL = __commonJS({ get() { return this[impl].protocol; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].protocol = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].protocol = V4; }, enumerable: true, configurable: true @@ -5458,9 +21946,9 @@ var require_URL = __commonJS({ get() { return this[impl].username; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].username = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].username = V4; }, enumerable: true, configurable: true @@ -5469,9 +21957,9 @@ var require_URL = __commonJS({ get() { return this[impl].password; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].password = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].password = V4; }, enumerable: true, configurable: true @@ -5480,9 +21968,9 @@ var require_URL = __commonJS({ get() { return this[impl].host; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].host = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].host = V4; }, enumerable: true, configurable: true @@ -5491,9 +21979,9 @@ var require_URL = __commonJS({ get() { return this[impl].hostname; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].hostname = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].hostname = V4; }, enumerable: true, configurable: true @@ -5502,9 +21990,9 @@ var require_URL = __commonJS({ get() { return this[impl].port; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].port = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].port = V4; }, enumerable: true, configurable: true @@ -5513,9 +22001,9 @@ var require_URL = __commonJS({ get() { return this[impl].pathname; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].pathname = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].pathname = V4; }, enumerable: true, configurable: true @@ -5524,9 +22012,9 @@ var require_URL = __commonJS({ get() { return this[impl].search; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].search = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].search = V4; }, enumerable: true, configurable: true @@ -5535,9 +22023,9 @@ var require_URL = __commonJS({ get() { return this[impl].hash; }, - set(V2) { - V2 = conversions["USVString"](V2); - this[impl].hash = V2; + set(V4) { + V4 = conversions["USVString"](V4); + this[impl].hash = V4; }, enumerable: true, configurable: true @@ -5591,16 +22079,16 @@ var require_lib3 = __commonJS({ function _interopDefault(ex) { return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; } - var Stream = _interopDefault(require("stream")); - var http2 = _interopDefault(require("http")); + var Stream2 = _interopDefault(require("stream")); + var http3 = _interopDefault(require("http")); var Url = _interopDefault(require("url")); var whatwgUrl = _interopDefault(require_public_api()); - var https2 = _interopDefault(require("https")); - var zlib2 = _interopDefault(require("zlib")); - var Readable2 = Stream.Readable; + var https3 = _interopDefault(require("https")); + var zlib3 = _interopDefault(require("zlib")); + var Readable4 = Stream2.Readable; var BUFFER = Symbol("buffer"); var TYPE = Symbol("type"); - var Blob2 = class { + var Blob4 = class { constructor() { this[TYPE] = ""; const blobParts = arguments[0]; @@ -5608,10 +22096,10 @@ var require_lib3 = __commonJS({ const buffers = []; let size = 0; if (blobParts) { - const a2 = blobParts; - const length = Number(a2.length); - for (let i2 = 0; i2 < length; i2++) { - const element = a2[i2]; + const a3 = blobParts; + const length = Number(a3.length); + for (let i3 = 0; i3 < length; i3++) { + const element = a3[i3]; let buffer; if (element instanceof Buffer) { buffer = element; @@ -5619,7 +22107,7 @@ var require_lib3 = __commonJS({ buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); } else if (element instanceof ArrayBuffer) { buffer = Buffer.from(element); - } else if (element instanceof Blob2) { + } else if (element instanceof Blob4) { buffer = element[BUFFER]; } else { buffer = Buffer.from(typeof element === "string" ? element : String(element)); @@ -5629,9 +22117,9 @@ var require_lib3 = __commonJS({ } } this[BUFFER] = Buffer.concat(buffers); - let type = options && options.type !== void 0 && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; + let type2 = options && options.type !== void 0 && String(options.type).toLowerCase(); + if (type2 && !/[^\u0020-\u007E]/.test(type2)) { + this[TYPE] = type2; } } get size() { @@ -5649,7 +22137,7 @@ var require_lib3 = __commonJS({ return Promise.resolve(ab); } stream() { - const readable = new Readable2(); + const readable = new Readable4(); readable._read = function() { }; readable.push(this[BUFFER]); @@ -5681,26 +22169,26 @@ var require_lib3 = __commonJS({ const span = Math.max(relativeEnd - relativeStart, 0); const buffer = this[BUFFER]; const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob2([], { type: arguments[2] }); + const blob = new Blob4([], { type: arguments[2] }); blob[BUFFER] = slicedBuffer; return blob; } }; - Object.defineProperties(Blob2.prototype, { + Object.defineProperties(Blob4.prototype, { size: { enumerable: true }, type: { enumerable: true }, slice: { enumerable: true } }); - Object.defineProperty(Blob2.prototype, Symbol.toStringTag, { + Object.defineProperty(Blob4.prototype, Symbol.toStringTag, { value: "Blob", writable: false, enumerable: false, configurable: true }); - function FetchError(message, type, systemError) { + function FetchError(message, type2, systemError) { Error.call(this, message); this.message = message; - this.type = type; + this.type = type2; if (systemError) { this.code = this.errno = systemError.code; } @@ -5712,10 +22200,10 @@ var require_lib3 = __commonJS({ var convert; try { convert = require("encoding").convert; - } catch (e2) { + } catch (e3) { } var INTERNALS = Symbol("Body internals"); - var PassThrough = Stream.PassThrough; + var PassThrough = Stream2.PassThrough; function Body(body) { var _this = this; var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; @@ -5726,7 +22214,7 @@ var require_lib3 = __commonJS({ body = null; } else if (isURLSearchParams2(body)) { body = Buffer.from(body.toString()); - } else if (isBlob2(body)) + } else if (isBlob4(body)) ; else if (Buffer.isBuffer(body)) ; @@ -5734,7 +22222,7 @@ var require_lib3 = __commonJS({ body = Buffer.from(body); } else if (ArrayBuffer.isView(body)) { body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) + } else if (body instanceof Stream2) ; else { body = Buffer.from(String(body)); @@ -5746,7 +22234,7 @@ var require_lib3 = __commonJS({ }; this.size = size; this.timeout = timeout; - if (body instanceof Stream) { + if (body instanceof Stream2) { body.on("error", function(err) { const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); _this[INTERNALS].error = error; @@ -5766,11 +22254,11 @@ var require_lib3 = __commonJS({ }); }, blob() { - let ct = this.headers && this.headers.get("content-type") || ""; + let ct2 = this.headers && this.headers.get("content-type") || ""; return consumeBody.call(this).then(function(buf) { return Object.assign( - new Blob2([], { - type: ct.toLowerCase() + new Blob4([], { + type: ct2.toLowerCase() }), { [BUFFER]: buf @@ -5832,13 +22320,13 @@ var require_lib3 = __commonJS({ if (body === null) { return Body.Promise.resolve(Buffer.alloc(0)); } - if (isBlob2(body)) { + if (isBlob4(body)) { body = body.stream(); } if (Buffer.isBuffer(body)) { return Body.Promise.resolve(body); } - if (!(body instanceof Stream)) { + if (!(body instanceof Stream2)) { return Body.Promise.resolve(Buffer.alloc(0)); } let accum = []; @@ -5889,11 +22377,11 @@ var require_lib3 = __commonJS({ if (typeof convert !== "function") { throw new Error("The package `encoding` must be installed to use the textConverted() function"); } - const ct = headers.get("content-type"); + const ct2 = headers.get("content-type"); let charset = "utf-8"; let res, str; - if (ct) { - res = /charset=([^;]*)/i.exec(ct); + if (ct2) { + res = /charset=([^;]*)/i.exec(ct2); } str = buffer.slice(0, 1024).toString(); if (!res && str) { @@ -5928,22 +22416,22 @@ var require_lib3 = __commonJS({ } return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function"; } - function isBlob2(obj) { + function isBlob4(obj) { return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); } function clone(instance) { - let p1, p2; + let p1, p22; let body = instance.body; if (instance.bodyUsed) { throw new Error("cannot clone body after it is used"); } - if (body instanceof Stream && typeof body.getBoundary !== "function") { + if (body instanceof Stream2 && typeof body.getBoundary !== "function") { p1 = new PassThrough(); - p2 = new PassThrough(); + p22 = new PassThrough(); body.pipe(p1); - body.pipe(p2); + body.pipe(p22); instance[INTERNALS].body = p1; - body = p2; + body = p22; } return body; } @@ -5954,7 +22442,7 @@ var require_lib3 = __commonJS({ return "text/plain;charset=UTF-8"; } else if (isURLSearchParams2(body)) { return "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isBlob2(body)) { + } else if (isBlob4(body)) { return body.type || null; } else if (Buffer.isBuffer(body)) { return null; @@ -5964,7 +22452,7 @@ var require_lib3 = __commonJS({ return null; } else if (typeof body.getBoundary === "function") { return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream) { + } else if (body instanceof Stream2) { return null; } else { return "text/plain;charset=UTF-8"; @@ -5974,7 +22462,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { return 0; - } else if (isBlob2(body)) { + } else if (isBlob4(body)) { return body.size; } else if (Buffer.isBuffer(body)) { return body.length; @@ -5991,7 +22479,7 @@ var require_lib3 = __commonJS({ const body = instance.body; if (body === null) { dest.end(); - } else if (isBlob2(body)) { + } else if (isBlob4(body)) { body.stream().pipe(dest); } else if (Buffer.isBuffer(body)) { dest.write(body); @@ -6025,11 +22513,11 @@ var require_lib3 = __commonJS({ return void 0; } var MAP = Symbol("map"); - var Headers = class { + var Headers3 = class { constructor() { let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof Headers) { + if (init instanceof Headers3) { const rawHeaders = init.raw(); const headerNames = Object.keys(rawHeaders); for (const headerName of headerNames) { @@ -6082,13 +22570,13 @@ var require_lib3 = __commonJS({ forEach(callback) { let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; let pairs = getHeaders(this); - let i2 = 0; - while (i2 < pairs.length) { - var _pairs$i = pairs[i2]; + let i3 = 0; + while (i3 < pairs.length) { + var _pairs$i = pairs[i3]; const name = _pairs$i[0], value = _pairs$i[1]; callback.call(thisArg, value, name, this); pairs = getHeaders(this); - i2++; + i3++; } } set(name, value) { @@ -6137,14 +22625,14 @@ var require_lib3 = __commonJS({ return createHeadersIterator(this, "key+value"); } }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + Headers3.prototype.entries = Headers3.prototype[Symbol.iterator]; + Object.defineProperty(Headers3.prototype, Symbol.toStringTag, { value: "Headers", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Headers.prototype, { + Object.defineProperties(Headers3.prototype, { get: { enumerable: true }, forEach: { enumerable: true }, set: { enumerable: true }, @@ -6156,22 +22644,22 @@ var require_lib3 = __commonJS({ entries: { enumerable: true } }); function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + let kind2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === "key" ? function(k3) { - return k3.toLowerCase(); - } : kind === "value" ? function(k3) { - return headers[MAP][k3].join(", "); - } : function(k3) { - return [k3.toLowerCase(), headers[MAP][k3].join(", ")]; + return keys.map(kind2 === "key" ? function(k4) { + return k4.toLowerCase(); + } : kind2 === "value" ? function(k4) { + return headers[MAP][k4].join(", "); + } : function(k4) { + return [k4.toLowerCase(), headers[MAP][k4].join(", ")]; }); } var INTERNAL = Symbol("internal"); - function createHeadersIterator(target, kind) { + function createHeadersIterator(target, kind2) { const iterator = Object.create(HeadersIteratorPrototype); iterator[INTERNAL] = { target, - kind, + kind: kind2, index: 0 }; return iterator; @@ -6182,8 +22670,8 @@ var require_lib3 = __commonJS({ throw new TypeError("Value of `this` is not a HeadersIterator"); } var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; - const values = getHeaders(target, kind); + const target = _INTERNAL.target, kind2 = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind2); const len = values.length; if (index >= len) { return { @@ -6213,7 +22701,7 @@ var require_lib3 = __commonJS({ return obj; } function createHeadersLenient(obj) { - const headers = new Headers(); + const headers = new Headers3(); for (const name of Object.keys(obj)) { if (invalidTokenRegex.test(name)) { continue; @@ -6236,14 +22724,14 @@ var require_lib3 = __commonJS({ return headers; } var INTERNALS$1 = Symbol("Response internals"); - var STATUS_CODES = http2.STATUS_CODES; - var Response = class { + var STATUS_CODES = http3.STATUS_CODES; + var Response3 = class { constructor() { let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; Body.call(this, body, opts); const status = opts.status || 200; - const headers = new Headers(opts.headers); + const headers = new Headers3(opts.headers); if (body != null && !headers.has("Content-Type")) { const contentType = extractContentType(body); if (contentType) { @@ -6277,7 +22765,7 @@ var require_lib3 = __commonJS({ return this[INTERNALS$1].headers; } clone() { - return new Response(clone(this), { + return new Response3(clone(this), { url: this.url, status: this.status, statusText: this.statusText, @@ -6287,8 +22775,8 @@ var require_lib3 = __commonJS({ }); } }; - Body.mixIn(Response.prototype); - Object.defineProperties(Response.prototype, { + Body.mixIn(Response3.prototype); + Object.defineProperties(Response3.prototype, { url: { enumerable: true }, status: { enumerable: true }, ok: { enumerable: true }, @@ -6297,7 +22785,7 @@ var require_lib3 = __commonJS({ headers: { enumerable: true }, clone: { enumerable: true } }); - Object.defineProperty(Response.prototype, Symbol.toStringTag, { + Object.defineProperty(Response3.prototype, Symbol.toStringTag, { value: "Response", writable: false, enumerable: false, @@ -6313,7 +22801,7 @@ var require_lib3 = __commonJS({ } return parse_url(urlStr); } - var streamDestructionSupported = "destroy" in Stream.Readable.prototype; + var streamDestructionSupported = "destroy" in Stream2.Readable.prototype; function isRequest(input) { return typeof input === "object" && typeof input[INTERNALS$2] === "object"; } @@ -6321,7 +22809,7 @@ var require_lib3 = __commonJS({ const proto2 = signal && typeof signal === "object" && Object.getPrototypeOf(signal); return !!(proto2 && proto2.constructor.name === "AbortSignal"); } - var Request = class { + var Request3 = class { constructor(input) { let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; let parsedURL; @@ -6345,7 +22833,7 @@ var require_lib3 = __commonJS({ timeout: init.timeout || input.timeout || 0, size: init.size || input.size || 0 }); - const headers = new Headers(init.headers || input.headers || {}); + const headers = new Headers3(init.headers || input.headers || {}); if (inputBody != null && !headers.has("Content-Type")) { const contentType = extractContentType(inputBody); if (contentType) { @@ -6386,17 +22874,17 @@ var require_lib3 = __commonJS({ return this[INTERNALS$2].signal; } clone() { - return new Request(this); + return new Request3(this); } }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { + Body.mixIn(Request3.prototype); + Object.defineProperty(Request3.prototype, Symbol.toStringTag, { value: "Request", writable: false, enumerable: false, configurable: true }); - Object.defineProperties(Request.prototype, { + Object.defineProperties(Request3.prototype, { method: { enumerable: true }, url: { enumerable: true }, headers: { enumerable: true }, @@ -6404,9 +22892,9 @@ var require_lib3 = __commonJS({ clone: { enumerable: true }, signal: { enumerable: true } }); - function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); + function getNodeRequestOptions(request3) { + const parsedURL = request3[INTERNALS$2].parsedURL; + const headers = new Headers3(request3[INTERNALS$2].headers); if (!headers.has("Accept")) { headers.set("Accept", "*/*"); } @@ -6416,15 +22904,15 @@ var require_lib3 = __commonJS({ if (!/^https?:$/.test(parsedURL.protocol)) { throw new TypeError("Only HTTP(S) protocols are supported"); } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + if (request3.signal && request3.body instanceof Stream2.Readable && !streamDestructionSupported) { throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); } let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + if (request3.body == null && /^(POST|PUT)$/i.test(request3.method)) { contentLengthValue = "0"; } - if (request.body != null) { - const totalBytes = getTotalBytes(request); + if (request3.body != null) { + const totalBytes = getTotalBytes(request3); if (typeof totalBytes === "number") { contentLengthValue = String(totalBytes); } @@ -6435,33 +22923,30 @@ var require_lib3 = __commonJS({ if (!headers.has("User-Agent")) { headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); } - if (request.compress && !headers.has("Accept-Encoding")) { + if (request3.compress && !headers.has("Accept-Encoding")) { headers.set("Accept-Encoding", "gzip,deflate"); } - let agent = request.agent; + let agent = request3.agent; if (typeof agent === "function") { agent = agent(parsedURL); } - if (!headers.has("Connection") && !agent) { - headers.set("Connection", "close"); - } return Object.assign({}, parsedURL, { - method: request.method, + method: request3.method, headers: exportNodeCompatibleHeaders(headers), agent }); } - function AbortError(message) { + function AbortError2(message) { Error.call(this, message); this.type = "aborted"; this.message = message; Error.captureStackTrace(this, this.constructor); } - AbortError.prototype = Object.create(Error.prototype); - AbortError.prototype.constructor = AbortError; - AbortError.prototype.name = "AbortError"; + AbortError2.prototype = Object.create(Error.prototype); + AbortError2.prototype.constructor = AbortError2; + AbortError2.prototype.name = "AbortError"; var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream.PassThrough; + var PassThrough$1 = Stream2.PassThrough; var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { const orig = new URL$1(original).hostname; const dest = new URL$1(destination).hostname; @@ -6472,22 +22957,22 @@ var require_lib3 = __commonJS({ const dest = new URL$1(destination).protocol; return orig === dest; }; - function fetch(url2, opts) { - if (!fetch.Promise) { + function fetch2(url2, opts) { + if (!fetch2.Promise) { throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); } - Body.Promise = fetch.Promise; - return new fetch.Promise(function(resolve, reject) { - const request = new Request(url2, opts); - const options = getNodeRequestOptions(request); - const send = (options.protocol === "https:" ? https2 : http2).request; - const signal = request.signal; + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request3 = new Request3(url2, opts); + const options = getNodeRequestOptions(request3); + const send = (options.protocol === "https:" ? https3 : http3).request; + const signal = request3.signal; let response = null; const abort = function abort2() { - let error = new AbortError("The user aborted a request."); + let error = new AbortError2("The user aborted a request."); reject(error); - if (request.body && request.body instanceof Stream.Readable) { - destroyStream(request.body, error); + if (request3.body && request3.body instanceof Stream2.Readable) { + destroyStream(request3.body, error); } if (!response || !response.body) return; @@ -6512,16 +22997,16 @@ var require_lib3 = __commonJS({ signal.removeEventListener("abort", abortAndFinalize); clearTimeout(reqTimeout); } - if (request.timeout) { + if (request3.timeout) { req.once("socket", function(socket) { reqTimeout = setTimeout(function() { - reject(new FetchError(`network timeout at: ${request.url}`, "request-timeout")); + reject(new FetchError(`network timeout at: ${request3.url}`, "request-timeout")); finalize(); - }, request.timeout); + }, request3.timeout); }); } req.on("error", function(err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, "system", err)); + reject(new FetchError(`request to ${request3.url} failed, reason: ${err.message}`, "system", err)); if (response && response.body) { destroyStream(response.body, err); } @@ -6536,9 +23021,9 @@ var require_lib3 = __commonJS({ } }); if (parseInt(process.version.substring(1)) < 14) { - req.on("socket", function(s) { - s.addListener("close", function(hadError) { - const hasDataListener = s.listenerCount("data") > 0; + req.on("socket", function(s2) { + s2.addListener("close", function(hadError) { + const hasDataListener = s2.listenerCount("data") > 0; if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -6550,21 +23035,21 @@ var require_lib3 = __commonJS({ req.on("response", function(res) { clearTimeout(reqTimeout); const headers = createHeadersLenient(res.headers); - if (fetch.isRedirect(res.statusCode)) { + if (fetch2.isRedirect(res.statusCode)) { const location = headers.get("Location"); let locationURL = null; try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); + locationURL = location === null ? null : new URL$1(location, request3.url).toString(); } catch (err) { - if (request.redirect !== "manual") { + if (request3.redirect !== "manual") { reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); finalize(); return; } } - switch (request.redirect) { + switch (request3.redirect) { case "error": - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect")); + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request3.url}`, "no-redirect")); finalize(); return; case "manual": @@ -6580,39 +23065,39 @@ var require_lib3 = __commonJS({ if (locationURL === null) { break; } - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect")); + if (request3.counter >= request3.follow) { + reject(new FetchError(`maximum redirect reached at: ${request3.url}`, "max-redirect")); finalize(); return; } const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size + headers: new Headers3(request3.headers), + follow: request3.follow, + counter: request3.counter + 1, + agent: request3.agent, + compress: request3.compress, + method: request3.method, + body: request3.body, + signal: request3.signal, + timeout: request3.timeout, + size: request3.size }; - if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + if (!isDomainOrSubdomain(request3.url, locationURL) || !isSameProtocol(request3.url, locationURL)) { for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { requestOpts.headers.delete(name); } } - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + if (res.statusCode !== 303 && request3.body && getTotalBytes(request3) === null) { reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); finalize(); return; } - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === "POST") { + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request3.method === "POST") { requestOpts.method = "GET"; requestOpts.body = void 0; requestOpts.headers.delete("content-length"); } - resolve(fetch(new Request(locationURL, requestOpts))); + resolve(fetch2(new Request3(locationURL, requestOpts))); finalize(); return; } @@ -6623,27 +23108,27 @@ var require_lib3 = __commonJS({ }); let body = res.pipe(new PassThrough$1()); const response_options = { - url: request.url, + url: request3.url, status: res.statusCode, statusText: res.statusMessage, headers, - size: request.size, - timeout: request.timeout, - counter: request.counter + size: request3.size, + timeout: request3.timeout, + counter: request3.counter }; const codings = headers.get("Content-Encoding"); - if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); + if (!request3.compress || request3.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response3(body, response_options); resolve(response); return; } const zlibOptions2 = { - flush: zlib2.Z_SYNC_FLUSH, - finishFlush: zlib2.Z_SYNC_FLUSH + flush: zlib3.Z_SYNC_FLUSH, + finishFlush: zlib3.Z_SYNC_FLUSH }; if (codings == "gzip" || codings == "x-gzip") { - body = body.pipe(zlib2.createGunzip(zlibOptions2)); - response = new Response(body, response_options); + body = body.pipe(zlib3.createGunzip(zlibOptions2)); + response = new Response3(body, response_options); resolve(response); return; } @@ -6651,43 +23136,43 @@ var require_lib3 = __commonJS({ const raw = res.pipe(new PassThrough$1()); raw.once("data", function(chunk) { if ((chunk[0] & 15) === 8) { - body = body.pipe(zlib2.createInflate()); + body = body.pipe(zlib3.createInflate()); } else { - body = body.pipe(zlib2.createInflateRaw()); + body = body.pipe(zlib3.createInflateRaw()); } - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); }); raw.on("end", function() { if (!response) { - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); } }); return; } - if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") { - body = body.pipe(zlib2.createBrotliDecompress()); - response = new Response(body, response_options); + if (codings == "br" && typeof zlib3.createBrotliDecompress === "function") { + body = body.pipe(zlib3.createBrotliDecompress()); + response = new Response3(body, response_options); resolve(response); return; } - response = new Response(body, response_options); + response = new Response3(body, response_options); resolve(response); }); - writeToStream(req, request); + writeToStream(req, request3); }); } - function fixResponseChunkedTransferBadEnding(request, errorCallback) { + function fixResponseChunkedTransferBadEnding(request3, errorCallback) { let socket; - request.on("socket", function(s) { - socket = s; + request3.on("socket", function(s2) { + socket = s2; }); - request.on("response", function(response) { + request3.on("response", function(response) { const headers = response.headers; if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { response.once("close", function(hadError) { - const hasDataListener = socket.listenerCount("data") > 0; + const hasDataListener = socket && socket.listenerCount("data") > 0; if (hasDataListener && !hadError) { const err = new Error("Premature close"); err.code = "ERR_STREAM_PREMATURE_CLOSE"; @@ -6705,17 +23190,18 @@ var require_lib3 = __commonJS({ stream4.end(); } } - fetch.isRedirect = function(code) { + fetch2.isRedirect = function(code) { return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; }; - fetch.Promise = global.Promise; - module2.exports = exports = fetch; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports; - exports.Headers = Headers; - exports.Request = Request; - exports.Response = Response; + exports.Headers = Headers3; + exports.Request = Request3; + exports.Response = Response3; exports.FetchError = FetchError; + exports.AbortError = AbortError2; } }); @@ -6746,20 +23232,20 @@ var require_wrappy = __commonJS({ return wrappy(fn)(cb); if (typeof fn !== "function") throw new TypeError("need wrapper function"); - Object.keys(fn).forEach(function(k3) { - wrapper[k3] = fn[k3]; + Object.keys(fn).forEach(function(k4) { + wrapper[k4] = fn[k4]; }); return wrapper; function wrapper() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } var ret = fn.apply(this, args); var cb2 = args[args.length - 1]; if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k3) { - ret[k3] = cb2[k3]; + Object.keys(cb2).forEach(function(k4) { + ret[k4] = cb2[k4]; }); } return ret; @@ -6789,33 +23275,33 @@ var require_once = __commonJS({ }); }); function once(fn) { - var f3 = function() { - if (f3.called) - return f3.value; - f3.called = true; - return f3.value = fn.apply(this, arguments); + var f4 = function() { + if (f4.called) + return f4.value; + f4.called = true; + return f4.value = fn.apply(this, arguments); }; - f3.called = false; - return f3; + f4.called = false; + return f4; } function onceStrict(fn) { - var f3 = function() { - if (f3.called) - throw new Error(f3.onceError); - f3.called = true; - return f3.value = fn.apply(this, arguments); + var f4 = function() { + if (f4.called) + throw new Error(f4.onceError); + f4.called = true; + return f4.value = fn.apply(this, arguments); }; var name = fn.name || "Function wrapped with `once`"; - f3.onceError = name + " shouldn't be called more than once"; - f3.called = false; - return f3; + f4.onceError = name + " shouldn't be called more than once"; + f4.called = false; + return f4; } } }); -// node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js +// node_modules/@octokit/request-error/dist-node/index.js var require_dist_node4 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/request-error/dist-node/index.js"(exports) { + "node_modules/@octokit/request-error/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -6867,9 +23353,9 @@ var require_dist_node4 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js +// node_modules/@octokit/request/dist-node/index.js var require_dist_node5 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/request/dist-node/index.js"(exports) { + "node_modules/@octokit/request/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _interopDefault(ex) { @@ -6877,23 +23363,23 @@ var require_dist_node5 = __commonJS({ } var endpoint = require_dist_node2(); var universalUserAgent = require_dist_node(); - var isPlainObject2 = require_is_plain_object(); + var isPlainObject4 = require_is_plain_object(); var nodeFetch = _interopDefault(require_lib3()); var requestError = require_dist_node4(); - var VERSION3 = "5.6.3"; + var VERSION4 = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject2.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + const log2 = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if (isPlainObject4.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } let headers = {}; let status; let url2; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign( + const fetch2 = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch2(requestOptions.url, Object.assign( { method: requestOptions.method, body: requestOptions.body, @@ -6910,7 +23396,7 @@ var require_dist_node5 = __commonJS({ if ("deprecation" in headers) { const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + log2.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); } if (status === 204 || status === 205) { return; @@ -6997,45 +23483,45 @@ var require_dist_node5 = __commonJS({ if (!endpointOptions.request || !endpointOptions.request.hook) { return fetchWrapper(endpoint2.parse(endpointOptions)); } - const request2 = (route2, parameters2) => { + const request4 = (route2, parameters2) => { return fetchWrapper(endpoint2.parse(endpoint2.merge(route2, parameters2))); }; - Object.assign(request2, { + Object.assign(request4, { endpoint: endpoint2, defaults: withDefaults.bind(null, endpoint2) }); - return endpointOptions.request.hook(request2, endpointOptions); + return endpointOptions.request.hook(request4, endpointOptions); }; return Object.assign(newApi, { endpoint: endpoint2, defaults: withDefaults.bind(null, endpoint2) }); } - var request = withDefaults(endpoint.endpoint, { + var request3 = withDefaults(endpoint.endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION3} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION4} ${universalUserAgent.getUserAgent()}` } }); - exports.request = request; + exports.request = request3; } }); -// node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js +// node_modules/@octokit/graphql/dist-node/index.js var require_dist_node6 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/graphql/dist-node/index.js"(exports) { + "node_modules/@octokit/graphql/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var request = require_dist_node5(); + var request3 = require_dist_node5(); var universalUserAgent = require_dist_node(); - var VERSION3 = "4.8.0"; + var VERSION4 = "4.8.0"; function _buildMessageForResponseErrors(data) { return `Request failed due to following response errors: -` + data.errors.map((e2) => ` - ${e2.message}`).join("\n"); +` + data.errors.map((e3) => ` - ${e3.message}`).join("\n"); } var GraphqlResponseError = class extends Error { - constructor(request2, headers, response) { + constructor(request4, headers, response) { super(_buildMessageForResponseErrors(response)); - this.request = request2; + this.request = request4; this.headers = headers; this.response = response; this.name = "GraphqlResponseError"; @@ -7049,7 +23535,7 @@ var require_dist_node6 = __commonJS({ var NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; - function graphql(request2, query, options) { + function graphql(request4, query, options) { if (options) { if (typeof query === "string" && "query" in options) { return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); @@ -7074,11 +23560,11 @@ var require_dist_node6 = __commonJS({ result.variables[key] = parsedOptions[key]; return result; }, {}); - const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + const baseUrl = parsedOptions.baseUrl || request4.endpoint.DEFAULTS.baseUrl; if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); } - return request2(requestOptions).then((response) => { + return request4(requestOptions).then((response) => { if (response.data.errors) { const headers = {}; for (const key of Object.keys(response.headers)) { @@ -7096,12 +23582,12 @@ var require_dist_node6 = __commonJS({ }; return Object.assign(newApi, { defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint + endpoint: request3.request.endpoint }); } - var graphql$1 = withDefaults(request.request, { + var graphql$1 = withDefaults(request3.request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION3} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION4} ${universalUserAgent.getUserAgent()}` }, method: "POST", url: "/graphql" @@ -7118,9 +23604,9 @@ var require_dist_node6 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js +// node_modules/@octokit/auth-token/dist-node/index.js var require_dist_node7 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/auth-token/dist-node/index.js"(exports) { + "node_modules/@octokit/auth-token/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; @@ -7143,10 +23629,10 @@ var require_dist_node7 = __commonJS({ } return `token ${token}`; } - async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); + async function hook(token, request3, route, parameters) { + const endpoint = request3.endpoint.merge(route, parameters); endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); + return request3(endpoint); } var createTokenAuth = function createTokenAuth2(token) { if (!token) { @@ -7164,14 +23650,14 @@ var require_dist_node7 = __commonJS({ } }); -// node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js +// node_modules/@octokit/core/dist-node/index.js var require_dist_node8 = __commonJS({ - "node_modules/@actions/github/node_modules/@octokit/core/dist-node/index.js"(exports) { + "node_modules/@octokit/core/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var universalUserAgent = require_dist_node(); var beforeAfterHook = require_before_after_hook(); - var request = require_dist_node5(); + var request3 = require_dist_node5(); var graphql = require_dist_node6(); var authToken = require_dist_node7(); function _objectWithoutPropertiesLoose(source, excluded) { @@ -7179,9 +23665,9 @@ var require_dist_node8 = __commonJS({ return {}; var target = {}; var sourceKeys = Object.keys(source); - var key, i2; - for (i2 = 0; i2 < sourceKeys.length; i2++) { - key = sourceKeys[i2]; + var key, i3; + for (i3 = 0; i3 < sourceKeys.length; i3++) { + key = sourceKeys[i3]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; @@ -7192,11 +23678,11 @@ var require_dist_node8 = __commonJS({ if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i2; + var key, i3; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) { - key = sourceSymbolKeys[i2]; + for (i3 = 0; i3 < sourceSymbolKeys.length; i3++) { + key = sourceSymbolKeys[i3]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) @@ -7206,13 +23692,13 @@ var require_dist_node8 = __commonJS({ } return target; } - var VERSION3 = "3.6.0"; + var VERSION4 = "3.6.0"; var _excluded = ["authStrategy"]; var Octokit = class { constructor(options = {}) { const hook = new beforeAfterHook.Collection(); const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + baseUrl: request3.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { hook: hook.bind(null, "request") @@ -7222,7 +23708,7 @@ var require_dist_node8 = __commonJS({ format: "" } }; - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION3} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION4} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -7232,7 +23718,7 @@ var require_dist_node8 = __commonJS({ if (options.timeZone) { requestDefaults.headers["time-zone"] = options.timeZone; } - this.request = request.request.defaults(requestDefaults); + this.request = request3.request.defaults(requestDefaults); this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); this.log = Object.assign({ debug: () => { @@ -7287,14 +23773,14 @@ var require_dist_node8 = __commonJS({ return OctokitWithDefaults; } static plugin(...newPlugins) { - var _a; + var _a4; const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this { - }, _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a); + const NewOctokit = (_a4 = class extends this { + }, _a4.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))), _a4); return NewOctokit; } }; - Octokit.VERSION = VERSION3; + Octokit.VERSION = VERSION4; Octokit.plugins = []; exports.Octokit = Octokit; } @@ -7319,9 +23805,9 @@ var require_dist_node9 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i2 = 1; i2 < arguments.length; i2++) { - var source = arguments[i2] != null ? arguments[i2] : {}; - if (i2 % 2) { + for (var i3 = 1; i3 < arguments.length; i3++) { + var source = arguments[i3] != null ? arguments[i3] : {}; + if (i3 % 2) { ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }); @@ -8296,7 +24782,7 @@ var require_dist_node9 = __commonJS({ updateAuthenticated: ["PATCH /user"] } }; - var VERSION3 = "5.16.2"; + var VERSION4 = "5.16.2"; function endpointsToMethods(octokit2, endpointsMap) { const newMethods = {}; for (const [scope, endpoints] of Object.entries(endpointsMap)) { @@ -8361,14 +24847,14 @@ var require_dist_node9 = __commonJS({ rest: api2 }; } - restEndpointMethods.VERSION = VERSION3; + restEndpointMethods.VERSION = VERSION4; function legacyRestEndpointMethods(octokit2) { const api2 = endpointsToMethods(octokit2, Endpoints); return _objectSpread2(_objectSpread2({}, api2), {}, { rest: api2 }); } - legacyRestEndpointMethods.VERSION = VERSION3; + legacyRestEndpointMethods.VERSION = VERSION4; exports.legacyRestEndpointMethods = legacyRestEndpointMethods; exports.restEndpointMethods = restEndpointMethods; } @@ -8379,7 +24865,7 @@ var require_dist_node10 = __commonJS({ "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var VERSION3 = "2.21.3"; + var VERSION4 = "2.21.3"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -8391,9 +24877,9 @@ var require_dist_node10 = __commonJS({ return keys; } function _objectSpread2(target) { - for (var i2 = 1; i2 < arguments.length; i2++) { - var source = null != arguments[i2] ? arguments[i2] : {}; - i2 % 2 ? ownKeys(Object(source), true).forEach(function(key) { + for (var i3 = 1; i3 < arguments.length; i3++) { + var source = null != arguments[i3] ? arguments[i3] : {}; + i3 % 2 ? ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); @@ -8522,7 +25008,7 @@ var require_dist_node10 = __commonJS({ }) }; } - paginateRest.VERSION = VERSION3; + paginateRest.VERSION = VERSION4; exports.composePaginateRest = composePaginateRest; exports.isPaginatingEndpoint = isPaginatingEndpoint; exports.paginateRest = paginateRest; @@ -8531,41 +25017,41 @@ var require_dist_node10 = __commonJS({ }); // node_modules/@actions/github/lib/utils.js -var require_utils4 = __commonJS({ +var require_utils5 = __commonJS({ "node_modules/@actions/github/lib/utils.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; - var Context = __importStar(require_context()); - var Utils = __importStar(require_utils2()); + var Context = __importStar2(require_context()); + var Utils = __importStar2(require_utils3()); var core_1 = require_dist_node8(); var plugin_rest_endpoint_methods_1 = require_dist_node9(); var plugin_paginate_rest_1 = require_dist_node10(); @@ -8594,38 +25080,38 @@ var require_utils4 = __commonJS({ var require_github = __commonJS({ "node_modules/@actions/github/lib/github.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) { - Object.defineProperty(o2, "default", { enumerable: true, value: v2 }); - } : function(o2, v2) { - o2["default"] = v2; + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; }); - var __importStar = exports && exports.__importStar || function(mod) { + var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k3 in mod) - if (k3 !== "default" && Object.hasOwnProperty.call(mod, k3)) - __createBinding(result, mod, k3); + for (var k4 in mod) + if (k4 !== "default" && Object.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOctokit = exports.context = void 0; - var Context = __importStar(require_context()); - var utils_1 = require_utils4(); + var Context = __importStar2(require_context()); + var utils_1 = require_utils5(); exports.context = new Context.Context(); function getOctokit(token, options, ...additionalPlugins) { const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); @@ -8685,8 +25171,8 @@ var require_src = __commonJS({ lineStart: `${CSI}1K`, lines(count) { let clear = ""; - for (let i2 = 0; i2 < count; i2++) - clear += this.line + (i2 < count - 1 ? cursor.up() : ""); + for (let i3 = 0; i3 < count; i3++) + clear += this.line + (i3 < count - 1 ? cursor.up() : ""); if (count) clear += cursor.left; return clear; @@ -8712,33 +25198,33 @@ var require_picocolors = __commonJS({ let nextIndex = end.indexOf(close); return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end; }; - var createColors = (enabled = isColorSupported) => ({ - isColorSupported: enabled, - reset: enabled ? (s) => `\x1B[0m${s}\x1B[0m` : String, - bold: enabled ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, - dim: enabled ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, - italic: enabled ? formatter("\x1B[3m", "\x1B[23m") : String, - underline: enabled ? formatter("\x1B[4m", "\x1B[24m") : String, - inverse: enabled ? formatter("\x1B[7m", "\x1B[27m") : String, - hidden: enabled ? formatter("\x1B[8m", "\x1B[28m") : String, - strikethrough: enabled ? formatter("\x1B[9m", "\x1B[29m") : String, - black: enabled ? formatter("\x1B[30m", "\x1B[39m") : String, - red: enabled ? formatter("\x1B[31m", "\x1B[39m") : String, - green: enabled ? formatter("\x1B[32m", "\x1B[39m") : String, - yellow: enabled ? formatter("\x1B[33m", "\x1B[39m") : String, - blue: enabled ? formatter("\x1B[34m", "\x1B[39m") : String, - magenta: enabled ? formatter("\x1B[35m", "\x1B[39m") : String, - cyan: enabled ? formatter("\x1B[36m", "\x1B[39m") : String, - white: enabled ? formatter("\x1B[37m", "\x1B[39m") : String, - gray: enabled ? formatter("\x1B[90m", "\x1B[39m") : String, - bgBlack: enabled ? formatter("\x1B[40m", "\x1B[49m") : String, - bgRed: enabled ? formatter("\x1B[41m", "\x1B[49m") : String, - bgGreen: enabled ? formatter("\x1B[42m", "\x1B[49m") : String, - bgYellow: enabled ? formatter("\x1B[43m", "\x1B[49m") : String, - bgBlue: enabled ? formatter("\x1B[44m", "\x1B[49m") : String, - bgMagenta: enabled ? formatter("\x1B[45m", "\x1B[49m") : String, - bgCyan: enabled ? formatter("\x1B[46m", "\x1B[49m") : String, - bgWhite: enabled ? formatter("\x1B[47m", "\x1B[49m") : String + var createColors = (enabled2 = isColorSupported) => ({ + isColorSupported: enabled2, + reset: enabled2 ? (s2) => `\x1B[0m${s2}\x1B[0m` : String, + bold: enabled2 ? formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m") : String, + dim: enabled2 ? formatter("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m") : String, + italic: enabled2 ? formatter("\x1B[3m", "\x1B[23m") : String, + underline: enabled2 ? formatter("\x1B[4m", "\x1B[24m") : String, + inverse: enabled2 ? formatter("\x1B[7m", "\x1B[27m") : String, + hidden: enabled2 ? formatter("\x1B[8m", "\x1B[28m") : String, + strikethrough: enabled2 ? formatter("\x1B[9m", "\x1B[29m") : String, + black: enabled2 ? formatter("\x1B[30m", "\x1B[39m") : String, + red: enabled2 ? formatter("\x1B[31m", "\x1B[39m") : String, + green: enabled2 ? formatter("\x1B[32m", "\x1B[39m") : String, + yellow: enabled2 ? formatter("\x1B[33m", "\x1B[39m") : String, + blue: enabled2 ? formatter("\x1B[34m", "\x1B[39m") : String, + magenta: enabled2 ? formatter("\x1B[35m", "\x1B[39m") : String, + cyan: enabled2 ? formatter("\x1B[36m", "\x1B[39m") : String, + white: enabled2 ? formatter("\x1B[37m", "\x1B[39m") : String, + gray: enabled2 ? formatter("\x1B[90m", "\x1B[39m") : String, + bgBlack: enabled2 ? formatter("\x1B[40m", "\x1B[49m") : String, + bgRed: enabled2 ? formatter("\x1B[41m", "\x1B[49m") : String, + bgGreen: enabled2 ? formatter("\x1B[42m", "\x1B[49m") : String, + bgYellow: enabled2 ? formatter("\x1B[43m", "\x1B[49m") : String, + bgBlue: enabled2 ? formatter("\x1B[44m", "\x1B[49m") : String, + bgMagenta: enabled2 ? formatter("\x1B[45m", "\x1B[49m") : String, + bgCyan: enabled2 ? formatter("\x1B[46m", "\x1B[49m") : String, + bgWhite: enabled2 ? formatter("\x1B[47m", "\x1B[49m") : String }); module2.exports = createColors(); module2.exports.createColors = createColors; @@ -8752,8 +25238,8 @@ var require_bind = __commonJS({ module2.exports = function bind2(fn, thisArg) { return function wrap() { var args = new Array(arguments.length); - for (var i2 = 0; i2 < args.length; i2++) { - args[i2] = arguments[i2]; + for (var i3 = 0; i3 < args.length; i3++) { + args[i3] = arguments[i3]; } return fn.apply(thisArg, args); }; @@ -8762,7 +25248,7 @@ var require_bind = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/utils.js -var require_utils5 = __commonJS({ +var require_utils6 = __commonJS({ "node_modules/openai/node_modules/axios/lib/utils.js"(exports, module2) { "use strict"; var bind2 = require_bind(); @@ -8776,10 +25262,10 @@ var require_utils5 = __commonJS({ function isBuffer2(val) { return val !== null && !isUndefined2(val) && val.constructor !== null && !isUndefined2(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val); } - function isArrayBuffer2(val) { + function isArrayBuffer3(val) { return toString3.call(val) === "[object ArrayBuffer]"; } - function isFormData2(val) { + function isFormData3(val) { return toString3.call(val) === "[object FormData]"; } function isArrayBufferView2(val) { @@ -8787,7 +25273,7 @@ var require_utils5 = __commonJS({ if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { - result = val && val.buffer && isArrayBuffer2(val.buffer); + result = val && val.buffer && isArrayBuffer3(val.buffer); } return result; } @@ -8797,10 +25283,10 @@ var require_utils5 = __commonJS({ function isNumber2(val) { return typeof val === "number"; } - function isObject2(val) { + function isObject3(val) { return val !== null && typeof val === "object"; } - function isPlainObject2(val) { + function isPlainObject4(val) { if (toString3.call(val) !== "[object Object]") { return false; } @@ -8810,17 +25296,17 @@ var require_utils5 = __commonJS({ function isDate2(val) { return toString3.call(val) === "[object Date]"; } - function isFile2(val) { + function isFile3(val) { return toString3.call(val) === "[object File]"; } - function isBlob2(val) { + function isBlob4(val) { return toString3.call(val) === "[object Blob]"; } - function isFunction2(val) { + function isFunction4(val) { return toString3.call(val) === "[object Function]"; } function isStream2(val) { - return isObject2(val) && isFunction2(val.pipe); + return isObject3(val) && isFunction4(val.pipe); } function isURLSearchParams2(val) { return toString3.call(val) === "[object URLSearchParams]"; @@ -8842,8 +25328,8 @@ var require_utils5 = __commonJS({ obj = [obj]; } if (isArray2(obj)) { - for (var i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (var i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { for (var key in obj) { @@ -8856,9 +25342,9 @@ var require_utils5 = __commonJS({ function merge2() { var result = {}; function assignValue(val, key) { - if (isPlainObject2(result[key]) && isPlainObject2(val)) { + if (isPlainObject4(result[key]) && isPlainObject4(val)) { result[key] = merge2(result[key], val); - } else if (isPlainObject2(val)) { + } else if (isPlainObject4(val)) { result[key] = merge2({}, val); } else if (isArray2(val)) { result[key] = val.slice(); @@ -8866,20 +25352,20 @@ var require_utils5 = __commonJS({ result[key] = val; } } - for (var i2 = 0, l = arguments.length; i2 < l; i2++) { - forEach2(arguments[i2], assignValue); + for (var i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + forEach2(arguments[i3], assignValue); } return result; } - function extend2(a2, b2, thisArg) { - forEach2(b2, function assignValue(val, key) { + function extend3(a3, b3, thisArg) { + forEach2(b3, function assignValue(val, key) { if (thisArg && typeof val === "function") { - a2[key] = bind2(val, thisArg); + a3[key] = bind2(val, thisArg); } else { - a2[key] = val; + a3[key] = val; } }); - return a2; + return a3; } function stripBOM2(content) { if (content.charCodeAt(0) === 65279) { @@ -8889,25 +25375,25 @@ var require_utils5 = __commonJS({ } module2.exports = { isArray: isArray2, - isArrayBuffer: isArrayBuffer2, + isArrayBuffer: isArrayBuffer3, isBuffer: isBuffer2, - isFormData: isFormData2, + isFormData: isFormData3, isArrayBufferView: isArrayBufferView2, isString: isString2, isNumber: isNumber2, - isObject: isObject2, - isPlainObject: isPlainObject2, + isObject: isObject3, + isPlainObject: isPlainObject4, isUndefined: isUndefined2, isDate: isDate2, - isFile: isFile2, - isBlob: isBlob2, - isFunction: isFunction2, + isFile: isFile3, + isBlob: isBlob4, + isFunction: isFunction4, isStream: isStream2, isURLSearchParams: isURLSearchParams2, isStandardBrowserEnv, forEach: forEach2, merge: merge2, - extend: extend2, + extend: extend3, trim: trim2, stripBOM: stripBOM2 }; @@ -8918,7 +25404,7 @@ var require_utils5 = __commonJS({ var require_buildURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/buildURL.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); function encode3(val) { return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); } @@ -8969,7 +25455,7 @@ var require_buildURL = __commonJS({ var require_InterceptorManager = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/InterceptorManager.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); function InterceptorManager2() { this.handlers = []; } @@ -8988,9 +25474,9 @@ var require_InterceptorManager = __commonJS({ } }; InterceptorManager2.prototype.forEach = function forEach2(fn) { - utils.forEach(this.handlers, function forEachHandler(h2) { - if (h2 !== null) { - fn(h2); + utils.forEach(this.handlers, function forEachHandler(h3) { + if (h3 !== null) { + fn(h3); } }); }; @@ -9002,7 +25488,7 @@ var require_InterceptorManager = __commonJS({ var require_normalizeHeaderName = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/normalizeHeaderName.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { @@ -9018,12 +25504,12 @@ var require_normalizeHeaderName = __commonJS({ var require_enhanceError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/enhanceError.js"(exports, module2) { "use strict"; - module2.exports = function enhanceError(error, config7, code, request, response) { - error.config = config7; + module2.exports = function enhanceError(error, config9, code, request3, response) { + error.config = config9; if (code) { error.code = code; } - error.request = request; + error.request = request3; error.response = response; error.isAxiosError = true; error.toJSON = function toJSON2() { @@ -9063,9 +25549,9 @@ var require_createError = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/createError.js"(exports, module2) { "use strict"; var enhanceError = require_enhanceError(); - module2.exports = function createError(message, config7, code, request, response) { + module2.exports = function createError(message, config9, code, request3, response) { var error = new Error(message); - return enhanceError(error, config7, code, request, response); + return enhanceError(error, config9, code, request3, response); }; } }); @@ -9093,11 +25579,11 @@ var require_settle = __commonJS({ }); // node_modules/openai/node_modules/axios/lib/helpers/cookies.js -var require_cookies = __commonJS({ +var require_cookies2 = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/cookies.js"(exports, module2) { "use strict"; - var utils = require_utils5(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + var utils = require_utils6(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { return { write: function write(name, value, expires, path2, domain, secure) { var cookie = []; @@ -9124,7 +25610,7 @@ var require_cookies = __commonJS({ this.write(name, "", Date.now() - 864e5); } }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return { write: function write() { }, @@ -9142,7 +25628,7 @@ var require_cookies = __commonJS({ var require_isAbsoluteURL = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module2) { "use strict"; - module2.exports = function isAbsoluteURL2(url2) { + module2.exports = function isAbsoluteURL3(url2) { return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); }; } @@ -9162,10 +25648,10 @@ var require_combineURLs = __commonJS({ var require_buildFullPath = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/buildFullPath.js"(exports, module2) { "use strict"; - var isAbsoluteURL2 = require_isAbsoluteURL(); + var isAbsoluteURL3 = require_isAbsoluteURL(); var combineURLs2 = require_combineURLs(); module2.exports = function buildFullPath2(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL2(requestedURL)) { + if (baseURL && !isAbsoluteURL3(requestedURL)) { return combineURLs2(baseURL, requestedURL); } return requestedURL; @@ -9177,7 +25663,7 @@ var require_buildFullPath = __commonJS({ var require_parseHeaders = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/parseHeaders.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var ignoreDuplicateOf2 = [ "age", "authorization", @@ -9201,14 +25687,14 @@ var require_parseHeaders = __commonJS({ var parsed = {}; var key; var val; - var i2; + var i3; if (!headers) { return parsed; } utils.forEach(headers.split("\n"), function parser(line) { - i2 = line.indexOf(":"); - key = utils.trim(line.substr(0, i2)).toLowerCase(); - val = utils.trim(line.substr(i2 + 1)); + i3 = line.indexOf(":"); + key = utils.trim(line.substr(0, i3)).toLowerCase(); + val = utils.trim(line.substr(i3 + 1)); if (key) { if (parsed[key] && ignoreDuplicateOf2.indexOf(key) >= 0) { return; @@ -9229,8 +25715,8 @@ var require_parseHeaders = __commonJS({ var require_isURLSameOrigin = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module2) { "use strict"; - var utils = require_utils5(); - module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv3() { + var utils = require_utils6(); + module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv2() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement("a"); var originURL; @@ -9257,7 +25743,7 @@ var require_isURLSameOrigin = __commonJS({ var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; - }() : function nonStandardBrowserEnv3() { + }() : function nonStandardBrowserEnv2() { return function isURLSameOrigin() { return true; }; @@ -9284,9 +25770,9 @@ var require_Cancel = __commonJS({ var require_xhr = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/xhr.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var settle2 = require_settle(); - var cookies = require_cookies(); + var cookies = require_cookies2(); var buildURL2 = require_buildURL(); var buildFullPath2 = require_buildFullPath(); var parseHeaders = require_parseHeaders(); @@ -9294,45 +25780,45 @@ var require_xhr = __commonJS({ var createError = require_createError(); var transitionalDefaults = require_transitional(); var Cancel2 = require_Cancel(); - module2.exports = function xhrAdapter(config7) { + module2.exports = function xhrAdapter(config9) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config7.data; - var requestHeaders = config7.headers; - var responseType = config7.responseType; + var requestData = config9.data; + var requestHeaders = config9.headers; + var responseType = config9.responseType; var onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } if (utils.isFormData(requestData)) { delete requestHeaders["Content-Type"]; } - var request = new XMLHttpRequest(); - if (config7.auth) { - var username = config7.auth.username || ""; - var password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; + var request3 = new XMLHttpRequest(); + if (config9.auth) { + var username = config9.auth.username || ""; + var password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); } - var fullPath = buildFullPath2(config7.baseURL, config7.url); - request.open(config7.method.toUpperCase(), buildURL2(fullPath, config7.params, config7.paramsSerializer), true); - request.timeout = config7.timeout; + var fullPath = buildFullPath2(config9.baseURL, config9.url); + request3.open(config9.method.toUpperCase(), buildURL2(fullPath, config9.params, config9.paramsSerializer), true); + request3.timeout = config9.timeout; function onloadend() { - if (!request) { + if (!request3) { return; } - var responseHeaders = "getAllResponseHeaders" in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; + var responseHeaders = "getAllResponseHeaders" in request3 ? parseHeaders(request3.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === "text" || responseType === "json" ? request3.responseText : request3.response; var response = { data: responseData, - status: request.status, - statusText: request.statusText, + status: request3.status, + statusText: request3.statusText, headers: responseHeaders, - config: config7, - request + config: config9, + request: request3 }; settle2(function _resolve(value) { resolve(value); @@ -9341,91 +25827,91 @@ var require_xhr = __commonJS({ reject(err); done(); }, response); - request = null; + request3 = null; } - if ("onloadend" in request) { - request.onloadend = onloadend; + if ("onloadend" in request3) { + request3.onloadend = onloadend; } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + request3.onreadystatechange = function handleLoad() { + if (!request3 || request3.readyState !== 4) { return; } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { + if (request3.status === 0 && !(request3.responseURL && request3.responseURL.indexOf("file:") === 0)) { return; } setTimeout(onloadend); }; } - request.onabort = function handleAbort() { - if (!request) { + request3.onabort = function handleAbort() { + if (!request3) { return; } - reject(createError("Request aborted", config7, "ECONNABORTED", request)); - request = null; + reject(createError("Request aborted", config9, "ECONNABORTED", request3)); + request3 = null; }; - request.onerror = function handleError() { - reject(createError("Network Error", config7, null, request)); - request = null; + request3.onerror = function handleError() { + reject(createError("Network Error", config9, null, request3)); + request3 = null; }; - request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - var transitional2 = config7.transitional || transitionalDefaults; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + request3.ontimeout = function handleTimeout() { + var timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config9.transitional || transitionalDefaults; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(createError( timeoutErrorMessage, - config7, + config9, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", - request + request3 )); - request = null; + request3 = null; }; if (utils.isStandardBrowserEnv()) { - var xsrfValue = (config7.withCredentials || isURLSameOrigin(fullPath)) && config7.xsrfCookieName ? cookies.read(config7.xsrfCookieName) : void 0; + var xsrfValue = (config9.withCredentials || isURLSameOrigin(fullPath)) && config9.xsrfCookieName ? cookies.read(config9.xsrfCookieName) : void 0; if (xsrfValue) { - requestHeaders[config7.xsrfHeaderName] = xsrfValue; + requestHeaders[config9.xsrfHeaderName] = xsrfValue; } } - if ("setRequestHeader" in request) { + if ("setRequestHeader" in request3) { utils.forEach(requestHeaders, function setRequestHeader(val, key) { if (typeof requestData === "undefined" && key.toLowerCase() === "content-type") { delete requestHeaders[key]; } else { - request.setRequestHeader(key, val); + request3.setRequestHeader(key, val); } }); } - if (!utils.isUndefined(config7.withCredentials)) { - request.withCredentials = !!config7.withCredentials; + if (!utils.isUndefined(config9.withCredentials)) { + request3.withCredentials = !!config9.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config7.responseType; + request3.responseType = config9.responseType; } - if (typeof config7.onDownloadProgress === "function") { - request.addEventListener("progress", config7.onDownloadProgress); + if (typeof config9.onDownloadProgress === "function") { + request3.addEventListener("progress", config9.onDownloadProgress); } - if (typeof config7.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", config7.onUploadProgress); + if (typeof config9.onUploadProgress === "function" && request3.upload) { + request3.upload.addEventListener("progress", config9.onUploadProgress); } - if (config7.cancelToken || config7.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = function(cancel) { - if (!request) { + if (!request3) { return; } reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); - request.abort(); - request = null; + request3.abort(); + request3 = null; }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } if (!requestData) { requestData = null; } - request.send(requestData); + request3.send(requestData); }); }; } @@ -9434,18 +25920,18 @@ var require_xhr = __commonJS({ // node_modules/ms/index.js var require_ms = __commonJS({ "node_modules/ms/index.js"(exports, module2) { - var s = 1e3; - var m3 = s * 60; - var h2 = m3 * 60; - var d4 = h2 * 24; - var w3 = d4 * 7; - var y4 = d4 * 365.25; + var s2 = 1e3; + var m4 = s2 * 60; + var h3 = m4 * 60; + var d5 = h3 * 24; + var w4 = d5 * 7; + var y4 = d5 * 365.25; module2.exports = function(val, options) { options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { + var type2 = typeof val; + if (type2 === "string" && val.length > 0) { return parse(val); - } else if (type === "number" && isFinite(val)) { + } else if (type2 === "number" && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( @@ -9463,86 +25949,86 @@ var require_ms = __commonJS({ if (!match) { return; } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { + var n2 = parseFloat(match[1]); + var type2 = (match[2] || "ms").toLowerCase(); + switch (type2) { case "years": case "year": case "yrs": case "yr": case "y": - return n * y4; + return n2 * y4; case "weeks": case "week": case "w": - return n * w3; + return n2 * w4; case "days": case "day": case "d": - return n * d4; + return n2 * d5; case "hours": case "hour": case "hrs": case "hr": case "h": - return n * h2; + return n2 * h3; case "minutes": case "minute": case "mins": case "min": case "m": - return n * m3; + return n2 * m4; case "seconds": case "second": case "secs": case "sec": case "s": - return n * s; + return n2 * s2; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": - return n; + return n2; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d4) { - return Math.round(ms / d4) + "d"; + if (msAbs >= d5) { + return Math.round(ms / d5) + "d"; } - if (msAbs >= h2) { - return Math.round(ms / h2) + "h"; + if (msAbs >= h3) { + return Math.round(ms / h3) + "h"; } - if (msAbs >= m3) { - return Math.round(ms / m3) + "m"; + if (msAbs >= m4) { + return Math.round(ms / m4) + "m"; } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; + if (msAbs >= s2) { + return Math.round(ms / s2) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); - if (msAbs >= d4) { - return plural(ms, msAbs, d4, "day"); + if (msAbs >= d5) { + return plural(ms, msAbs, d5, "day"); } - if (msAbs >= h2) { - return plural(ms, msAbs, h2, "hour"); + if (msAbs >= h3) { + return plural(ms, msAbs, h3, "hour"); } - if (msAbs >= m3) { - return plural(ms, msAbs, m3, "minute"); + if (msAbs >= m4) { + return plural(ms, msAbs, m4, "minute"); } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); + if (msAbs >= s2) { + return plural(ms, msAbs, s2, "second"); } return ms + " ms"; } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + function plural(ms, msAbs, n2, name) { + var isPlural = msAbs >= n2 * 1.5; + return Math.round(ms / n2) + " " + name + (isPlural ? "s" : ""); } } }); @@ -9554,11 +26040,11 @@ var require_common = __commonJS({ createDebug.debug = createDebug; createDebug.default = createDebug; createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; + createDebug.disable = disable2; + createDebug.enable = enable2; + createDebug.enabled = enabled2; createDebug.humanize = require_ms(); - createDebug.destroy = destroy; + createDebug.destroy = destroy2; Object.keys(env2).forEach((key) => { createDebug[key] = env2[key]; }); @@ -9567,8 +26053,8 @@ var require_common = __commonJS({ createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; - for (let i2 = 0; i2 < namespace.length; i2++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i2); + for (let i3 = 0; i3 < namespace.length; i3++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i3); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; @@ -9579,11 +26065,11 @@ var require_common = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug(...args) { - if (!debug.enabled) { + function debug2(...args) { + if (!debug2.enabled) { return; } - const self2 = debug; + const self2 = debug2; const curr = Number(new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; @@ -9613,12 +26099,12 @@ var require_common = __commonJS({ const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend3; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { enumerable: true, configurable: false, get: () => { @@ -9636,28 +26122,28 @@ var require_common = __commonJS({ } }); if (typeof createDebug.init === "function") { - createDebug.init(debug); + createDebug.init(debug2); } - return debug; + return debug2; } - function extend2(namespace, delimiter) { + function extend3(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); newDebug.log = this.log; return newDebug; } - function enable(namespaces) { + function enable2(namespaces) { createDebug.save(namespaces); createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - let i2; + let i3; const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); const len = split.length; - for (i2 = 0; i2 < len; i2++) { - if (!split[i2]) { + for (i3 = 0; i3 < len; i3++) { + if (!split[i3]) { continue; } - namespaces = split[i2].replace(/\*/g, ".*?"); + namespaces = split[i3].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); } else { @@ -9665,7 +26151,7 @@ var require_common = __commonJS({ } } } - function disable() { + function disable2() { const namespaces = [ ...createDebug.names.map(toNamespace), ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) @@ -9673,19 +26159,19 @@ var require_common = __commonJS({ createDebug.enable(""); return namespaces; } - function enabled(name) { + function enabled2(name) { if (name[name.length - 1] === "*") { return true; } - let i2; + let i3; let len; - for (i2 = 0, len = createDebug.skips.length; i2 < len; i2++) { - if (createDebug.skips[i2].test(name)) { + for (i3 = 0, len = createDebug.skips.length; i3 < len; i3++) { + if (createDebug.skips[i3].test(name)) { return false; } } - for (i2 = 0, len = createDebug.names.length; i2 < len; i2++) { - if (createDebug.names[i2].test(name)) { + for (i3 = 0, len = createDebug.names.length; i3 < len; i3++) { + if (createDebug.names[i3].test(name)) { return true; } } @@ -9700,7 +26186,7 @@ var require_common = __commonJS({ } return val; } - function destroy() { + function destroy2() { console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); } createDebug.enable(createDebug.load()); @@ -9819,8 +26305,8 @@ var require_browser = __commonJS({ if (!this.useColors) { return; } - const c = "color: " + this.color; - args.splice(1, 0, c, "color: inherit"); + const c2 = "color: " + this.color; + args.splice(1, 0, c2, "color: inherit"); let index = 0; let lastC = 0; args[0].replace(/%[a-zA-Z%]/g, (match) => { @@ -9832,7 +26318,7 @@ var require_browser = __commonJS({ lastC = index; } }); - args.splice(lastC, 0, c); + args.splice(lastC, 0, c2); } exports.log = console.debug || console.log || (() => { }); @@ -9847,15 +26333,15 @@ var require_browser = __commonJS({ } } function load() { - let r2; + let r3; try { - r2 = exports.storage.getItem("debug"); + r3 = exports.storage.getItem("debug"); } catch (error) { } - if (!r2 && typeof process !== "undefined" && "env" in process) { - r2 = process.env.DEBUG; + if (!r3 && typeof process !== "undefined" && "env" in process) { + r3 = process.env.DEBUG; } - return r2; + return r3; } function localstorage() { try { @@ -9892,7 +26378,7 @@ var require_has_flag = __commonJS({ var require_supports_color = __commonJS({ "node_modules/supports-color/index.js"(exports, module2) { "use strict"; - var os2 = require("os"); + var os3 = require("os"); var tty2 = require("tty"); var hasFlag2 = require_has_flag(); var { env: env2 } = process; @@ -9940,7 +26426,7 @@ var require_supports_color = __commonJS({ return min; } if (process.platform === "win32") { - const osRelease = os2.release().split("."); + const osRelease = os3.release().split("."); if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { return Number(osRelease[2]) >= 14931 ? 3 : 2; } @@ -9994,14 +26480,14 @@ var require_supports_color = __commonJS({ var require_node = __commonJS({ "node_modules/debug/src/node.js"(exports, module2) { var tty2 = require("tty"); - var util2 = require("util"); + var util3 = require("util"); exports.init = init; - exports.log = log; + exports.log = log2; exports.formatArgs = formatArgs; exports.save = save; exports.load = load; exports.useColors = useColors; - exports.destroy = util2.deprecate( + exports.destroy = util3.deprecate( () => { }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." @@ -10094,8 +26580,8 @@ var require_node = __commonJS({ exports.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k3) => { - return k3.toUpperCase(); + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_3, k4) => { + return k4.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { @@ -10116,8 +26602,8 @@ var require_node = __commonJS({ function formatArgs(args) { const { namespace: name, useColors: useColors2 } = this; if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const c2 = this.color; + const colorCode = "\x1B[3" + (c2 < 8 ? c2 : "8;5;" + c2); const prefix = ` ${colorCode};1m${name} \x1B[0m`; args[0] = prefix + args[0].split("\n").join("\n" + prefix); args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); @@ -10131,8 +26617,8 @@ var require_node = __commonJS({ } return new Date().toISOString() + " "; } - function log(...args) { - return process.stderr.write(util2.format(...args) + "\n"); + function log2(...args) { + return process.stderr.write(util3.format(...args) + "\n"); } function save(namespaces) { if (namespaces) { @@ -10144,22 +26630,22 @@ var require_node = __commonJS({ function load() { return process.env.DEBUG; } - function init(debug) { - debug.inspectOpts = {}; + function init(debug2) { + debug2.inspectOpts = {}; const keys = Object.keys(exports.inspectOpts); - for (let i2 = 0; i2 < keys.length; i2++) { - debug.inspectOpts[keys[i2]] = exports.inspectOpts[keys[i2]]; + for (let i3 = 0; i3 < keys.length; i3++) { + debug2.inspectOpts[keys[i3]] = exports.inspectOpts[keys[i3]]; } } module2.exports = require_common()(exports); var { formatters } = module2.exports; formatters.o = function(v2) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v2, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util3.inspect(v2, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; formatters.O = function(v2) { this.inspectOpts.colors = this.useColors; - return util2.inspect(v2, this.inspectOpts); + return util3.inspect(v2, this.inspectOpts); }; } }); @@ -10178,19 +26664,19 @@ var require_src2 = __commonJS({ // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports, module2) { - var debug; + var debug2; module2.exports = function() { - if (!debug) { + if (!debug2) { try { - debug = require_src2()("follow-redirects"); + debug2 = require_src2()("follow-redirects"); } catch (error) { } - if (typeof debug !== "function") { - debug = function() { + if (typeof debug2 !== "function") { + debug2 = function() { }; } } - debug.apply(null, arguments); + debug2.apply(null, arguments); }; } }); @@ -10200,11 +26686,30 @@ var require_follow_redirects = __commonJS({ "node_modules/follow-redirects/index.js"(exports, module2) { var url2 = require("url"); var URL2 = url2.URL; - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var Writable = require("stream").Writable; var assert = require("assert"); - var debug = require_debug(); + var debug2 = require_debug(); + var useNativeURL = false; + try { + assert(new URL2()); + } catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = /* @__PURE__ */ Object.create(null); events.forEach(function(event) { @@ -10223,7 +26728,8 @@ var require_follow_redirects = __commonJS({ ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded" + "Maximum number of redirects exceeded", + RedirectionError ); var MaxBodyLengthExceededError = createErrorType( "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", @@ -10233,6 +26739,7 @@ var require_follow_redirects = __commonJS({ "ERR_STREAM_WRITE_AFTER_END", "write after end" ); + var destroy2 = Writable.prototype.destroy || noop2; function RedirectableRequest(options, responseCallback) { Writable.call(this); this._sanitizeOptions(options); @@ -10248,15 +26755,25 @@ var require_follow_redirects = __commonJS({ } var self2 = this; this._onNativeResponse = function(response) { - self2._processResponse(response); + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); + } }; this._performRequest(); } RedirectableRequest.prototype = Object.create(Writable.prototype); RedirectableRequest.prototype.abort = function() { - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); + this._currentRequest.abort(); this.emit("abort"); }; + RedirectableRequest.prototype.destroy = function(error) { + destroyRequest(this._currentRequest, error); + destroy2.call(this, error); + return this; + }; RedirectableRequest.prototype.write = function(data, encoding, callback) { if (this._ending) { throw new WriteAfterEndError(); @@ -10264,7 +26781,7 @@ var require_follow_redirects = __commonJS({ if (!isString2(data) && !isBuffer2(data)) { throw new TypeError("data should be a string, Buffer or Uint8Array"); } - if (isFunction2(encoding)) { + if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -10284,10 +26801,10 @@ var require_follow_redirects = __commonJS({ } }; RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { + if (isFunction4(data)) { callback = data; data = encoding = null; - } else if (isFunction2(encoding)) { + } else if (isFunction4(encoding)) { callback = encoding; encoding = null; } @@ -10337,6 +26854,7 @@ var require_follow_redirects = __commonJS({ self2.removeListener("abort", clearTimer); self2.removeListener("error", clearTimer); self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); if (callback) { self2.removeListener("timeout", callback); } @@ -10356,6 +26874,7 @@ var require_follow_redirects = __commonJS({ this.on("abort", clearTimer); this.on("error", clearTimer); this.on("response", clearTimer); + this.on("close", clearTimer); return this; }; [ @@ -10364,8 +26883,8 @@ var require_follow_redirects = __commonJS({ "setNoDelay", "setSocketKeepAlive" ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a2, b2) { - return this._currentRequest[method](a2, b2); + RedirectableRequest.prototype[method] = function(a3, b3) { + return this._currentRequest[method](a3, b3); }; }); ["aborted", "connection", "socket"].forEach(function(property) { @@ -10399,34 +26918,33 @@ var require_follow_redirects = __commonJS({ var protocol = this._options.protocol; var nativeProtocol = this._options.nativeProtocols[protocol]; if (!nativeProtocol) { - this.emit("error", new TypeError("Unsupported protocol " + protocol)); - return; + throw new TypeError("Unsupported protocol " + protocol); } if (this._options.agents) { var scheme = protocol.slice(0, -1); this._options.agent = this._options.agents[scheme]; } - var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request._redirectable = this; + var request3 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); + request3._redirectable = this; for (var event of events) { - request.on(event, eventHandlers[event]); + request3.on(event, eventHandlers[event]); } this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; if (this._isRedirect) { - var i2 = 0; + var i3 = 0; var self2 = this; var buffers = this._requestBodyBuffers; (function writeNext(error) { - if (request === self2._currentRequest) { + if (request3 === self2._currentRequest) { if (error) { self2.emit("error", error); - } else if (i2 < buffers.length) { - var buffer = buffers[i2++]; - if (!request.finished) { - request.write(buffer.data, buffer.encoding, writeNext); + } else if (i3 < buffers.length) { + var buffer = buffers[i3++]; + if (!request3.finished) { + request3.write(buffer.data, buffer.encoding, writeNext); } } else if (self2._ended) { - request.end(); + request3.end(); } } })(); @@ -10449,11 +26967,10 @@ var require_follow_redirects = __commonJS({ this._requestBodyBuffers = []; return; } - abortRequest(this._currentRequest); + destroyRequest(this._currentRequest); response.destroy(); if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; + throw new TooManyRedirectsError(); } var requestHeaders; var beforeRedirect = this._options.beforeRedirect; @@ -10469,24 +26986,17 @@ var require_follow_redirects = __commonJS({ removeMatchingHeaders(/^content-/i, this._options.headers); } var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = url2.parse(this._currentUrl); + var currentUrlParts = parseUrl(this._currentUrl); var currentHost = currentHostHeader || currentUrlParts.host; var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl; - try { - redirectUrl = url2.resolve(currentUrl, location); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - return; - } - debug("redirecting to", redirectUrl); + var redirectUrl = resolveUrl(location, currentUrl); + debug2("redirecting to", redirectUrl.href); this._isRedirect = true; - var redirectUrlParts = url2.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { - removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); } - if (isFunction2(beforeRedirect)) { + if (isFunction4(beforeRedirect)) { var responseDetails = { headers: response.headers, statusCode @@ -10496,19 +27006,10 @@ var require_follow_redirects = __commonJS({ method, headers: requestHeaders }; - try { - beforeRedirect(this._options, responseDetails, requestDetails); - } catch (err) { - this.emit("error", err); - return; - } + beforeRedirect(this._options, responseDetails, requestDetails); this._sanitizeOptions(this._options); } - try { - this._performRequest(); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - } + this._performRequest(); }; function wrap(protocols) { var exports2 = { @@ -10520,26 +27021,17 @@ var require_follow_redirects = __commonJS({ var protocol = scheme + ":"; var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol); - function request(input, options, callback) { - if (isString2(input)) { - var parsed; - try { - parsed = urlToOptions(new URL2(input)); - } catch (err) { - parsed = url2.parse(input); - } - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - input = parsed; - } else if (URL2 && input instanceof URL2) { - input = urlToOptions(input); + function request3(input, options, callback) { + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString2(input)) { + input = spreadUrlObject(parseUrl(input)); } else { callback = options; - options = input; + options = validateUrl(input); input = { protocol }; } - if (isFunction2(options)) { + if (isFunction4(options)) { callback = options; options = null; } @@ -10552,7 +27044,7 @@ var require_follow_redirects = __commonJS({ options.hostname = "::1"; } assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); + debug2("options", options); return new RedirectableRequest(options, callback); } function get(input, options, callback) { @@ -10561,7 +27053,7 @@ var require_follow_redirects = __commonJS({ return wrappedRequest; } Object.defineProperties(wrappedProtocol, { - request: { value: request, configurable: true, enumerable: true, writable: true }, + request: { value: request3, configurable: true, enumerable: true, writable: true }, get: { value: get, configurable: true, enumerable: true, writable: true } }); }); @@ -10569,20 +27061,43 @@ var require_follow_redirects = __commonJS({ } function noop2() { } - function urlToOptions(urlObject) { - var options = { - protocol: urlObject.protocol, - hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, - hash: urlObject.hash, - search: urlObject.search, - pathname: urlObject.pathname, - path: urlObject.pathname + urlObject.search, - href: urlObject.href - }; - if (urlObject.port !== "") { - options.port = Number(urlObject.port); + function parseUrl(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url2.parse(input)); + if (!isString2(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } } - return options; + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; + } + function spreadUrlObject(urlObject, target) { + var spread3 = target || {}; + for (var key of preservedUrlFields) { + spread3[key] = urlObject[key]; + } + if (spread3.hostname.startsWith("[")) { + spread3.hostname = spread3.hostname.slice(1, -1); + } + if (spread3.port !== "") { + spread3.port = Number(spread3.port); + } + spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; + return spread3; } function removeMatchingHeaders(regex, headers) { var lastValue; @@ -10602,16 +27117,24 @@ var require_follow_redirects = __commonJS({ this.message = this.cause ? message + ": " + this.cause.message : message; } CustomError.prototype = new (baseClass || Error)(); - CustomError.prototype.constructor = CustomError; - CustomError.prototype.name = "Error [" + code + "]"; + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false + } + }); return CustomError; } - function abortRequest(request) { + function destroyRequest(request3, error) { for (var event of events) { - request.removeListener(event, eventHandlers[event]); + request3.removeListener(event, eventHandlers[event]); } - request.on("error", noop2); - request.abort(); + request3.on("error", noop2); + request3.destroy(error); } function isSubdomain(subdomain, domain) { assert(isString2(subdomain) && isString2(domain)); @@ -10621,13 +27144,16 @@ var require_follow_redirects = __commonJS({ function isString2(value) { return typeof value === "string" || value instanceof String; } - function isFunction2(value) { + function isFunction4(value) { return typeof value === "function"; } function isBuffer2(value) { return typeof value === "object" && "length" in value; } - module2.exports = wrap({ http: http2, https: https2 }); + function isURL(value) { + return URL2 && value instanceof URL2; + } + module2.exports = wrap({ http: http3, https: https3 }); module2.exports.wrap = wrap; } }); @@ -10645,17 +27171,17 @@ var require_data = __commonJS({ var require_http = __commonJS({ "node_modules/openai/node_modules/axios/lib/adapters/http.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var settle2 = require_settle(); var buildFullPath2 = require_buildFullPath(); var buildURL2 = require_buildURL(); - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var httpFollow2 = require_follow_redirects().http; var httpsFollow2 = require_follow_redirects().https; var url2 = require("url"); - var zlib2 = require("zlib"); - var VERSION3 = require_data().version; + var zlib3 = require("zlib"); + var VERSION4 = require_data().version; var createError = require_createError(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); @@ -10675,15 +27201,15 @@ var require_http = __commonJS({ setProxy2(redirection, proxy, redirection.href); }; } - module2.exports = function httpAdapter2(config7) { + module2.exports = function httpAdapter2(config9) { return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { var onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } var resolve = function resolve2(value) { @@ -10696,8 +27222,8 @@ var require_http = __commonJS({ rejected = true; rejectPromise(value); }; - var data = config7.data; - var headers = config7.headers; + var data = config9.data; + var headers = config9.headers; var headerNames = {}; Object.keys(headers).forEach(function storeLowerName(name) { headerNames[name.toLowerCase()] = name; @@ -10707,7 +27233,7 @@ var require_http = __commonJS({ delete headers[headerNames["user-agent"]]; } } else { - headers["User-Agent"] = "axios/" + VERSION3; + headers["User-Agent"] = "axios/" + VERSION4; } if (data && !utils.isStream(data)) { if (Buffer.isBuffer(data)) { @@ -10718,23 +27244,23 @@ var require_http = __commonJS({ } else { return reject(createError( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - config7 + config9 )); } - if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { - return reject(createError("Request body larger than maxBodyLength limit", config7)); + if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { + return reject(createError("Request body larger than maxBodyLength limit", config9)); } if (!headerNames["content-length"]) { headers["Content-Length"] = data.length; } } var auth = void 0; - if (config7.auth) { - var username = config7.auth.username || ""; - var password = config7.auth.password || ""; + if (config9.auth) { + var username = config9.auth.username || ""; + var password = config9.auth.password || ""; auth = username + ":" + password; } - var fullPath = buildFullPath2(config7.baseURL, config7.url); + var fullPath = buildFullPath2(config9.baseURL, config9.url); var parsed = url2.parse(fullPath); var protocol = parsed.protocol || "http:"; if (!auth && parsed.auth) { @@ -10747,31 +27273,31 @@ var require_http = __commonJS({ delete headers[headerNames.authorization]; } var isHttpsRequest = isHttps2.test(protocol); - var agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; + var agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; try { - buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""); + buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""); } catch (err) { var customErr = new Error(err.message); - customErr.config = config7; - customErr.url = config7.url; + customErr.config = config9; + customErr.url = config9.url; customErr.exists = true; reject(customErr); } var options = { - path: buildURL2(parsed.path, config7.params, config7.paramsSerializer).replace(/^\?/, ""), - method: config7.method.toUpperCase(), + path: buildURL2(parsed.path, config9.params, config9.paramsSerializer).replace(/^\?/, ""), + method: config9.method.toUpperCase(), headers, agent, - agents: { http: config7.httpAgent, https: config7.httpsAgent }, + agents: { http: config9.httpAgent, https: config9.httpsAgent }, auth }; - if (config7.socketPath) { - options.socketPath = config7.socketPath; + if (config9.socketPath) { + options.socketPath = config9.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; } - var proxy = config7.proxy; + var proxy = config9.proxy; if (!proxy && proxy !== false) { var proxyEnv = protocol.slice(0, -1) + "_proxy"; var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; @@ -10780,8 +27306,8 @@ var require_http = __commonJS({ var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; var shouldProxy = true; if (noProxyEnv) { - var noProxy = noProxyEnv.split(",").map(function trim2(s) { - return s.trim(); + var noProxy = noProxyEnv.split(",").map(function trim2(s2) { + return s2.trim(); }); shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { if (!proxyElement) { @@ -10818,33 +27344,33 @@ var require_http = __commonJS({ } var transport; var isHttpsProxy = isHttpsRequest && (proxy ? isHttps2.test(proxy.protocol) : true); - if (config7.transport) { - transport = config7.transport; - } else if (config7.maxRedirects === 0) { - transport = isHttpsProxy ? https2 : http2; + if (config9.transport) { + transport = config9.transport; + } else if (config9.maxRedirects === 0) { + transport = isHttpsProxy ? https3 : http3; } else { - if (config7.maxRedirects) { - options.maxRedirects = config7.maxRedirects; + if (config9.maxRedirects) { + options.maxRedirects = config9.maxRedirects; } transport = isHttpsProxy ? httpsFollow2 : httpFollow2; } - if (config7.maxBodyLength > -1) { - options.maxBodyLength = config7.maxBodyLength; + if (config9.maxBodyLength > -1) { + options.maxBodyLength = config9.maxBodyLength; } - if (config7.insecureHTTPParser) { - options.insecureHTTPParser = config7.insecureHTTPParser; + if (config9.insecureHTTPParser) { + options.insecureHTTPParser = config9.insecureHTTPParser; } var req = transport.request(options, function handleResponse(res) { if (req.aborted) return; var stream4 = res; var lastRequest = res.req || req; - if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config7.decompress !== false) { + if (res.statusCode !== 204 && lastRequest.method !== "HEAD" && config9.decompress !== false) { switch (res.headers["content-encoding"]) { case "gzip": case "compress": case "deflate": - stream4 = stream4.pipe(zlib2.createUnzip()); + stream4 = stream4.pipe(zlib3.createUnzip()); delete res.headers["content-encoding"]; break; } @@ -10853,10 +27379,10 @@ var require_http = __commonJS({ status: res.statusCode, statusText: res.statusMessage, headers: res.headers, - config: config7, + config: config9, request: lastRequest }; - if (config7.responseType === "stream") { + if (config9.responseType === "stream") { response.data = stream4; settle2(resolve, reject, response); } else { @@ -10865,12 +27391,12 @@ var require_http = __commonJS({ stream4.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { + if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { rejected = true; stream4.destroy(); reject(createError( - "maxContentLength size of " + config7.maxContentLength + " exceeded", - config7, + "maxContentLength size of " + config9.maxContentLength + " exceeded", + config9, null, lastRequest )); @@ -10881,25 +27407,25 @@ var require_http = __commonJS({ return; } stream4.destroy(); - reject(createError("error request aborted", config7, "ERR_REQUEST_ABORTED", lastRequest)); + reject(createError("error request aborted", config9, "ERR_REQUEST_ABORTED", lastRequest)); }); stream4.on("error", function handleStreamError(err) { if (req.aborted) return; - reject(enhanceError(err, config7, null, lastRequest)); + reject(enhanceError(err, config9, null, lastRequest)); }); stream4.on("end", function handleStreamEnd() { try { var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (config7.responseType !== "arraybuffer") { - responseData = responseData.toString(config7.responseEncoding); - if (!config7.responseEncoding || config7.responseEncoding === "utf8") { + if (config9.responseType !== "arraybuffer") { + responseData = responseData.toString(config9.responseEncoding); + if (!config9.responseEncoding || config9.responseEncoding === "utf8") { responseData = utils.stripBOM(responseData); } } response.data = responseData; } catch (err) { - reject(enhanceError(err, config7, err.code, response.request, response)); + reject(enhanceError(err, config9, err.code, response.request, response)); } settle2(resolve, reject, response); }); @@ -10908,17 +27434,17 @@ var require_http = __commonJS({ req.on("error", function handleRequestError(err) { if (req.aborted && err.code !== "ERR_FR_TOO_MANY_REDIRECTS") return; - reject(enhanceError(err, config7, null, req)); + reject(enhanceError(err, config9, null, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config7.timeout) { - var timeout = parseInt(config7.timeout, 10); + if (config9.timeout) { + var timeout = parseInt(config9.timeout, 10); if (isNaN(timeout)) { reject(createError( "error trying to parse `config.timeout` to int", - config7, + config9, "ERR_PARSE_TIMEOUT", req )); @@ -10927,35 +27453,35 @@ var require_http = __commonJS({ req.setTimeout(timeout, function handleRequestTimeout() { req.abort(); var timeoutErrorMessage = ""; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } else { - timeoutErrorMessage = "timeout of " + config7.timeout + "ms exceeded"; + timeoutErrorMessage = "timeout of " + config9.timeout + "ms exceeded"; } - var transitional2 = config7.transitional || transitionalDefaults; + var transitional2 = config9.transitional || transitionalDefaults; reject(createError( timeoutErrorMessage, - config7, + config9, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", req )); }); } - if (config7.cancelToken || config7.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = function(cancel) { if (req.aborted) return; req.abort(); reject(!cancel || cancel && cancel.type ? new Cancel2("canceled") : cancel); }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } if (utils.isStream(data)) { data.on("error", function handleStreamError(err) { - reject(enhanceError(err, config7, null, req)); + reject(enhanceError(err, config9, null, req)); }).pipe(req); } else { req.end(data); @@ -10969,11 +27495,11 @@ var require_http = __commonJS({ var require_defaults = __commonJS({ "node_modules/openai/node_modules/axios/lib/defaults/index.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var normalizeHeaderName = require_normalizeHeaderName(); var enhanceError = require_enhanceError(); var transitionalDefaults = require_transitional(); - var DEFAULT_CONTENT_TYPE2 = { + var DEFAULT_CONTENT_TYPE = { "Content-Type": "application/x-www-form-urlencoded" }; function setContentTypeIfUnset(headers, value) { @@ -10995,9 +27521,9 @@ var require_defaults = __commonJS({ try { (parser || JSON.parse)(rawValue); return utils.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -11033,12 +27559,12 @@ var require_defaults = __commonJS({ if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw enhanceError(e2, this, "E_JSON_PARSE"); + if (e3.name === "SyntaxError") { + throw enhanceError(e3, this, "E_JSON_PARSE"); } - throw e2; + throw e3; } } } @@ -11058,11 +27584,11 @@ var require_defaults = __commonJS({ } } }; - utils.forEach(["delete", "get", "head"], function forEachMethodNoData3(method) { + utils.forEach(["delete", "get", "head"], function forEachMethodNoData2(method) { defaults2.headers[method] = {}; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE2); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + defaults2.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); module2.exports = defaults2; } @@ -11072,7 +27598,7 @@ var require_defaults = __commonJS({ var require_transformData = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/transformData.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var defaults2 = require_defaults(); module2.exports = function transformData2(data, headers, fns) { var context2 = this || defaults2; @@ -11098,58 +27624,58 @@ var require_isCancel = __commonJS({ var require_dispatchRequest = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/dispatchRequest.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var transformData2 = require_transformData(); var isCancel3 = require_isCancel(); var defaults2 = require_defaults(); var Cancel2 = require_Cancel(); - function throwIfCancellationRequested2(config7) { - if (config7.cancelToken) { - config7.cancelToken.throwIfRequested(); + function throwIfCancellationRequested2(config9) { + if (config9.cancelToken) { + config9.cancelToken.throwIfRequested(); } - if (config7.signal && config7.signal.aborted) { + if (config9.signal && config9.signal.aborted) { throw new Cancel2("canceled"); } } - module2.exports = function dispatchRequest2(config7) { - throwIfCancellationRequested2(config7); - config7.headers = config7.headers || {}; - config7.data = transformData2.call( - config7, - config7.data, - config7.headers, - config7.transformRequest + module2.exports = function dispatchRequest2(config9) { + throwIfCancellationRequested2(config9); + config9.headers = config9.headers || {}; + config9.data = transformData2.call( + config9, + config9.data, + config9.headers, + config9.transformRequest ); - config7.headers = utils.merge( - config7.headers.common || {}, - config7.headers[config7.method] || {}, - config7.headers + config9.headers = utils.merge( + config9.headers.common || {}, + config9.headers[config9.method] || {}, + config9.headers ); utils.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { - delete config7.headers[method]; + delete config9.headers[method]; } ); - var adapter = config7.adapter || defaults2.adapter; - return adapter(config7).then(function onAdapterResolution(response) { - throwIfCancellationRequested2(config7); + var adapter = config9.adapter || defaults2.adapter; + return adapter(config9).then(function onAdapterResolution(response) { + throwIfCancellationRequested2(config9); response.data = transformData2.call( - config7, + config9, response.data, response.headers, - config7.transformResponse + config9.transformResponse ); return response; }, function onAdapterRejection(reason) { if (!isCancel3(reason)) { - throwIfCancellationRequested2(config7); + throwIfCancellationRequested2(config9); if (reason && reason.response) { reason.response.data = transformData2.call( - config7, + config9, reason.response.data, reason.response.headers, - config7.transformResponse + config9.transformResponse ); } } @@ -11163,10 +27689,10 @@ var require_dispatchRequest = __commonJS({ var require_mergeConfig = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/mergeConfig.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function mergeConfig3(config1, config22) { config22 = config22 || {}; - var config7 = {}; + var config9 = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge(target, source); @@ -11234,9 +27760,9 @@ var require_mergeConfig = __commonJS({ utils.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { var merge2 = mergeMap[prop] || mergeDeepProperties; var configValue = merge2(prop); - utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); + utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); }); - return config7; + return config9; }; } }); @@ -11245,17 +27771,17 @@ var require_mergeConfig = __commonJS({ var require_validator = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/validator.js"(exports, module2) { "use strict"; - var VERSION3 = require_data().version; + var VERSION4 = require_data().version; var validators3 = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) { - validators3[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type2, i3) { + validators3[type2] = function validator(thing) { + return typeof thing === type2 || "a" + (i3 < 1 ? "n " : " ") + type2; }; }); var deprecatedWarnings2 = {}; validators3.transitional = function transitional2(validator, version, message) { function formatMessage(opt, desc) { - return "[Axios v" + VERSION3 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + return "[Axios v" + VERSION4 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return function(value, opt, opts) { if (validator === false) { @@ -11278,9 +27804,9 @@ var require_validator = __commonJS({ throw new TypeError("options must be an object"); } var keys = Object.keys(options); - var i2 = keys.length; - while (i2-- > 0) { - var opt = keys[i2]; + var i3 = keys.length; + while (i3-- > 0) { + var opt = keys[i3]; var validator = schema[opt]; if (validator) { var value = options[opt]; @@ -11306,7 +27832,7 @@ var require_validator = __commonJS({ var require_Axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/core/Axios.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var buildURL2 = require_buildURL(); var InterceptorManager2 = require_InterceptorManager(); var dispatchRequest2 = require_dispatchRequest(); @@ -11320,22 +27846,22 @@ var require_Axios = __commonJS({ response: new InterceptorManager2() }; } - Axios3.prototype.request = function request(configOrUrl, config7) { + Axios3.prototype.request = function request3(configOrUrl, config9) { if (typeof configOrUrl === "string") { - config7 = config7 || {}; - config7.url = configOrUrl; + config9 = config9 || {}; + config9.url = configOrUrl; } else { - config7 = configOrUrl || {}; + config9 = configOrUrl || {}; } - config7 = mergeConfig3(this.defaults, config7); - if (config7.method) { - config7.method = config7.method.toLowerCase(); + config9 = mergeConfig3(this.defaults, config9); + if (config9.method) { + config9.method = config9.method.toLowerCase(); } else if (this.defaults.method) { - config7.method = this.defaults.method.toLowerCase(); + config9.method = this.defaults.method.toLowerCase(); } else { - config7.method = "get"; + config9.method = "get"; } - var transitional2 = config7.transitional; + var transitional2 = config9.transitional; if (transitional2 !== void 0) { validator.assertOptions(transitional2, { silentJSONParsing: validators3.transitional(validators3.boolean), @@ -11346,7 +27872,7 @@ var require_Axios = __commonJS({ var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -11361,13 +27887,13 @@ var require_Axios = __commonJS({ var chain = [dispatchRequest2, void 0]; Array.prototype.unshift.apply(chain, requestInterceptorChain); chain = chain.concat(responseInterceptorChain); - promise = Promise.resolve(config7); + promise = Promise.resolve(config9); while (chain.length) { promise = promise.then(chain.shift(), chain.shift()); } return promise; } - var newConfig = config7; + var newConfig = config9; while (requestInterceptorChain.length) { var onFulfilled = requestInterceptorChain.shift(); var onRejected = requestInterceptorChain.shift(); @@ -11388,22 +27914,22 @@ var require_Axios = __commonJS({ } return promise; }; - Axios3.prototype.getUri = function getUri(config7) { - config7 = mergeConfig3(this.defaults, config7); - return buildURL2(config7.url, config7.params, config7.paramsSerializer).replace(/^\?/, ""); + Axios3.prototype.getUri = function getUri(config9) { + config9 = mergeConfig3(this.defaults, config9); + return buildURL2(config9.url, config9.params, config9.paramsSerializer).replace(/^\?/, ""); }; - utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) { - Axios3.prototype[method] = function(url2, config7) { - return this.request(mergeConfig3(config7 || {}, { + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios3.prototype[method] = function(url2, config9) { + return this.request(mergeConfig3(config9 || {}, { method, url: url2, - data: (config7 || {}).data + data: (config9 || {}).data })); }; }); - utils.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) { - Axios3.prototype[method] = function(url2, data, config7) { - return this.request(mergeConfig3(config7 || {}, { + utils.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + Axios3.prototype[method] = function(url2, data, config9) { + return this.request(mergeConfig3(config9 || {}, { method, url: url2, data @@ -11431,10 +27957,10 @@ var require_CancelToken = __commonJS({ this.promise.then(function(cancel) { if (!token._listeners) return; - var i2; - var l = token._listeners.length; - for (i2 = 0; i2 < l; i2++) { - token._listeners[i2](cancel); + var i3; + var l3 = token._listeners.length; + for (i3 = 0; i3 < l3; i3++) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -11484,8 +28010,8 @@ var require_CancelToken = __commonJS({ }; CancelToken3.source = function source() { var cancel; - var token = new CancelToken3(function executor(c) { - cancel = c; + var token = new CancelToken3(function executor(c2) { + cancel = c2; }); return { token, @@ -11512,7 +28038,7 @@ var require_spread = __commonJS({ var require_isAxiosError = __commonJS({ "node_modules/openai/node_modules/axios/lib/helpers/isAxiosError.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); module2.exports = function isAxiosError3(payload) { return utils.isObject(payload) && payload.isAxiosError === true; }; @@ -11523,7 +28049,7 @@ var require_isAxiosError = __commonJS({ var require_axios = __commonJS({ "node_modules/openai/node_modules/axios/lib/axios.js"(exports, module2) { "use strict"; - var utils = require_utils5(); + var utils = require_utils6(); var bind2 = require_bind(); var Axios3 = require_Axios(); var mergeConfig3 = require_mergeConfig(); @@ -11576,8 +28102,8 @@ var require_base = __commonJS({ pipes: "|" }; var BaseAPI = class { - constructor(configuration, basePath2 = exports.BASE_PATH, axios2 = axios_1.default) { - this.basePath = basePath2; + constructor(configuration, basePath3 = exports.BASE_PATH, axios2 = axios_1.default) { + this.basePath = basePath3; this.axios = axios2; if (configuration) { this.configuration = configuration; @@ -11601,25 +28127,25 @@ var require_base = __commonJS({ var require_common2 = __commonJS({ "node_modules/openai/dist/common.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -11638,7 +28164,7 @@ var require_common2 = __commonJS({ } }; exports.setApiKeyToObject = function(object, keyParamName, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === "function" ? yield configuration.apiKey(keyParamName) : yield configuration.apiKey; object[keyParamName] = localVarApiKeyValue; @@ -11651,7 +28177,7 @@ var require_common2 = __commonJS({ } }; exports.setBearerAuthToObject = function(object, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.accessToken) { const accessToken = typeof configuration.accessToken === "function" ? yield configuration.accessToken() : yield configuration.accessToken; object["Authorization"] = "Bearer " + accessToken; @@ -11659,7 +28185,7 @@ var require_common2 = __commonJS({ }); }; exports.setOAuthToObject = function(object, name, scopes, configuration) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (configuration && configuration.accessToken) { const localVarAccessTokenValue = typeof configuration.accessToken === "function" ? yield configuration.accessToken(name, scopes) : yield configuration.accessToken; object["Authorization"] = "Bearer " + localVarAccessTokenValue; @@ -11697,8 +28223,8 @@ var require_common2 = __commonJS({ return url2.pathname + url2.search + url2.hash; }; exports.createRequestFunction = function(axiosArgs, globalAxios, BASE_PATH, configuration) { - return (axios2 = globalAxios, basePath2 = BASE_PATH) => { - const axiosRequestArgs = Object.assign(Object.assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath2) + axiosArgs.url }); + return (axios2 = globalAxios, basePath3 = BASE_PATH) => { + const axiosRequestArgs = Object.assign(Object.assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath3) + axiosArgs.url }); return axios2.request(axiosRequestArgs); }; }; @@ -11706,28 +28232,28 @@ var require_common2 = __commonJS({ }); // node_modules/openai/dist/api.js -var require_api = __commonJS({ +var require_api2 = __commonJS({ "node_modules/openai/dist/api.js"(exports) { "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P3, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { + return value instanceof P3 ? value : new P3(function(resolve) { resolve(value); }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P3 || (P3 = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e2) { - reject(e2); + } catch (e3) { + reject(e3); } } function step(result) { @@ -11744,12 +28270,14 @@ var require_api = __commonJS({ exports.ChatCompletionRequestMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.ChatCompletionResponseMessageRoleEnum = { System: "system", User: "user", - Assistant: "assistant" + Assistant: "assistant", + Function: "function" }; exports.CreateImageRequestSizeEnum = { _256x256: "256x256", @@ -11762,7 +28290,7 @@ var require_api = __commonJS({ }; exports.OpenAIApiAxiosParamCreator = function(configuration) { return { - cancelFineTune: (fineTuneId, options = {}) => __awaiter(this, void 0, void 0, function* () { + cancelFineTune: (fineTuneId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("cancelFineTune", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}/cancel`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11781,7 +28309,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createAnswer: (createAnswerRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createAnswer: (createAnswerRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createAnswer", "createAnswerRequest", createAnswerRequest); const localVarPath = `/answers`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11802,7 +28330,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createChatCompletion: (createChatCompletionRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createChatCompletion: (createChatCompletionRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createChatCompletion", "createChatCompletionRequest", createChatCompletionRequest); const localVarPath = `/chat/completions`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11823,7 +28351,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createClassification: (createClassificationRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createClassification: (createClassificationRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createClassification", "createClassificationRequest", createClassificationRequest); const localVarPath = `/classifications`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11844,7 +28372,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createCompletion: (createCompletionRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createCompletion: (createCompletionRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createCompletion", "createCompletionRequest", createCompletionRequest); const localVarPath = `/completions`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11865,7 +28393,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createEdit: (createEditRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createEdit: (createEditRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createEdit", "createEditRequest", createEditRequest); const localVarPath = `/edits`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11886,7 +28414,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createEmbedding: (createEmbeddingRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createEmbedding: (createEmbeddingRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createEmbedding", "createEmbeddingRequest", createEmbeddingRequest); const localVarPath = `/embeddings`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11907,7 +28435,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createFile: (file, purpose, options = {}) => __awaiter(this, void 0, void 0, function* () { + createFile: (file, purpose, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createFile", "file", file); common_1.assertParamExists("createFile", "purpose", purpose); const localVarPath = `/files`; @@ -11936,7 +28464,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createFineTune: (createFineTuneRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createFineTune: (createFineTuneRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createFineTune", "createFineTuneRequest", createFineTuneRequest); const localVarPath = `/fine-tunes`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11957,7 +28485,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImage: (createImageRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImage: (createImageRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImage", "createImageRequest", createImageRequest); const localVarPath = `/images/generations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -11978,7 +28506,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageEdit: (image, prompt, mask, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageEdit: (image, prompt, mask, n2, size, responseFormat, user, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImageEdit", "image", image); common_1.assertParamExists("createImageEdit", "prompt", prompt); const localVarPath = `/images/edits`; @@ -12000,8 +28528,8 @@ var require_api = __commonJS({ if (prompt !== void 0) { localVarFormParams.append("prompt", prompt); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -12022,7 +28550,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createImageVariation: (image, n, size, responseFormat, user, options = {}) => __awaiter(this, void 0, void 0, function* () { + createImageVariation: (image, n2, size, responseFormat, user, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createImageVariation", "image", image); const localVarPath = `/images/variations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12037,8 +28565,8 @@ var require_api = __commonJS({ if (image !== void 0) { localVarFormParams.append("image", image); } - if (n !== void 0) { - localVarFormParams.append("n", n); + if (n2 !== void 0) { + localVarFormParams.append("n", n2); } if (size !== void 0) { localVarFormParams.append("size", size); @@ -12059,7 +28587,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createModeration: (createModerationRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createModeration: (createModerationRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createModeration", "createModerationRequest", createModerationRequest); const localVarPath = `/moderations`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12080,7 +28608,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createSearch: (engineId, createSearchRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { + createSearch: (engineId, createSearchRequest, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createSearch", "engineId", engineId); common_1.assertParamExists("createSearch", "createSearchRequest", createSearchRequest); const localVarPath = `/engines/{engine_id}/search`.replace(`{${"engine_id"}}`, encodeURIComponent(String(engineId))); @@ -12102,7 +28630,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createTranscription: (file, model, prompt, responseFormat, temperature, language, options = {}) => __awaiter(this, void 0, void 0, function* () { + createTranscription: (file, model, prompt, responseFormat, temperature, language, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createTranscription", "file", file); common_1.assertParamExists("createTranscription", "model", model); const localVarPath = `/audio/transcriptions`; @@ -12143,7 +28671,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - createTranslation: (file, model, prompt, responseFormat, temperature, options = {}) => __awaiter(this, void 0, void 0, function* () { + createTranslation: (file, model, prompt, responseFormat, temperature, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("createTranslation", "file", file); common_1.assertParamExists("createTranslation", "model", model); const localVarPath = `/audio/translations`; @@ -12181,7 +28709,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - deleteFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + deleteFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("deleteFile", "fileId", fileId); const localVarPath = `/files/{file_id}`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12200,7 +28728,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - deleteModel: (model, options = {}) => __awaiter(this, void 0, void 0, function* () { + deleteModel: (model, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("deleteModel", "model", model); const localVarPath = `/models/{model}`.replace(`{${"model"}}`, encodeURIComponent(String(model))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12219,7 +28747,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - downloadFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + downloadFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("downloadFile", "fileId", fileId); const localVarPath = `/files/{file_id}/content`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12238,7 +28766,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listEngines: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listEngines: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/engines`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -12256,7 +28784,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFiles: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listFiles: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/files`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -12274,7 +28802,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFineTuneEvents: (fineTuneId, stream4, options = {}) => __awaiter(this, void 0, void 0, function* () { + listFineTuneEvents: (fineTuneId, stream4, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("listFineTuneEvents", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}/events`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12296,7 +28824,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listFineTunes: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listFineTunes: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/fine-tunes`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -12314,7 +28842,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - listModels: (options = {}) => __awaiter(this, void 0, void 0, function* () { + listModels: (options = {}) => __awaiter2(this, void 0, void 0, function* () { const localVarPath = `/models`; const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; @@ -12332,7 +28860,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveEngine: (engineId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveEngine: (engineId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveEngine", "engineId", engineId); const localVarPath = `/engines/{engine_id}`.replace(`{${"engine_id"}}`, encodeURIComponent(String(engineId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12351,7 +28879,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveFile: (fileId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveFile: (fileId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveFile", "fileId", fileId); const localVarPath = `/files/{file_id}`.replace(`{${"file_id"}}`, encodeURIComponent(String(fileId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12370,7 +28898,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveFineTune: (fineTuneId, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveFineTune: (fineTuneId, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveFineTune", "fineTuneId", fineTuneId); const localVarPath = `/fine-tunes/{fine_tune_id}`.replace(`{${"fine_tune_id"}}`, encodeURIComponent(String(fineTuneId))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12389,7 +28917,7 @@ var require_api = __commonJS({ options: localVarRequestOptions }; }), - retrieveModel: (model, options = {}) => __awaiter(this, void 0, void 0, function* () { + retrieveModel: (model, options = {}) => __awaiter2(this, void 0, void 0, function* () { common_1.assertParamExists("retrieveModel", "model", model); const localVarPath = `/models/{model}`.replace(`{${"model"}}`, encodeURIComponent(String(model))); const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); @@ -12414,348 +28942,348 @@ var require_api = __commonJS({ const localVarAxiosParamCreator = exports.OpenAIApiAxiosParamCreator(configuration); return { cancelFineTune(fineTuneId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.cancelFineTune(fineTuneId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createAnswer(createAnswerRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createAnswer(createAnswerRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createChatCompletion(createChatCompletionRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createChatCompletion(createChatCompletionRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createClassification(createClassificationRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createClassification(createClassificationRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createCompletion(createCompletionRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createCompletion(createCompletionRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createEdit(createEditRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createEdit(createEditRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createEmbedding(createEmbeddingRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createEmbedding(createEmbeddingRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createFile(file, purpose, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createFile(file, purpose, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createFineTune(createFineTuneRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createFineTune(createFineTuneRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createImage(createImageRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createImage(createImageRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return __awaiter2(this, void 0, void 0, function* () { + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return __awaiter(this, void 0, void 0, function* () { - const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n, size, responseFormat, user, options); + createImageVariation(image, n2, size, responseFormat, user, options) { + return __awaiter2(this, void 0, void 0, function* () { + const localVarAxiosArgs = yield localVarAxiosParamCreator.createImageVariation(image, n2, size, responseFormat, user, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createModeration(createModerationRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createModeration(createModerationRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createSearch(engineId, createSearchRequest, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createSearch(engineId, createSearchRequest, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createTranscription(file, model, prompt, responseFormat, temperature, language, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, createTranslation(file, model, prompt, responseFormat, temperature, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.createTranslation(file, model, prompt, responseFormat, temperature, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, deleteFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.deleteFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, deleteModel(model, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.deleteModel(model, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, downloadFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.downloadFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listEngines(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listEngines(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFiles(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFiles(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFineTuneEvents(fineTuneId, stream4, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFineTuneEvents(fineTuneId, stream4, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listFineTunes(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listFineTunes(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, listModels(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.listModels(options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveEngine(engineId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveEngine(engineId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveFile(fileId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveFile(fileId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveFineTune(fineTuneId, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveFineTune(fineTuneId, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); }, retrieveModel(model, options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.retrieveModel(model, options); return common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); } }; }; - exports.OpenAIApiFactory = function(configuration, basePath2, axios2) { + exports.OpenAIApiFactory = function(configuration, basePath3, axios2) { const localVarFp = exports.OpenAIApiFp(configuration); return { cancelFineTune(fineTuneId, options) { - return localVarFp.cancelFineTune(fineTuneId, options).then((request) => request(axios2, basePath2)); + return localVarFp.cancelFineTune(fineTuneId, options).then((request3) => request3(axios2, basePath3)); }, createAnswer(createAnswerRequest, options) { - return localVarFp.createAnswer(createAnswerRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createAnswer(createAnswerRequest, options).then((request3) => request3(axios2, basePath3)); }, createChatCompletion(createChatCompletionRequest, options) { - return localVarFp.createChatCompletion(createChatCompletionRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createChatCompletion(createChatCompletionRequest, options).then((request3) => request3(axios2, basePath3)); }, createClassification(createClassificationRequest, options) { - return localVarFp.createClassification(createClassificationRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createClassification(createClassificationRequest, options).then((request3) => request3(axios2, basePath3)); }, createCompletion(createCompletionRequest, options) { - return localVarFp.createCompletion(createCompletionRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createCompletion(createCompletionRequest, options).then((request3) => request3(axios2, basePath3)); }, createEdit(createEditRequest, options) { - return localVarFp.createEdit(createEditRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createEdit(createEditRequest, options).then((request3) => request3(axios2, basePath3)); }, createEmbedding(createEmbeddingRequest, options) { - return localVarFp.createEmbedding(createEmbeddingRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createEmbedding(createEmbeddingRequest, options).then((request3) => request3(axios2, basePath3)); }, createFile(file, purpose, options) { - return localVarFp.createFile(file, purpose, options).then((request) => request(axios2, basePath2)); + return localVarFp.createFile(file, purpose, options).then((request3) => request3(axios2, basePath3)); }, createFineTune(createFineTuneRequest, options) { - return localVarFp.createFineTune(createFineTuneRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createFineTune(createFineTuneRequest, options).then((request3) => request3(axios2, basePath3)); }, createImage(createImageRequest, options) { - return localVarFp.createImage(createImageRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createImage(createImageRequest, options).then((request3) => request3(axios2, basePath3)); }, - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return localVarFp.createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return localVarFp.createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request3) => request3(axios2, basePath3)); }, - createImageVariation(image, n, size, responseFormat, user, options) { - return localVarFp.createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(axios2, basePath2)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return localVarFp.createImageVariation(image, n2, size, responseFormat, user, options).then((request3) => request3(axios2, basePath3)); }, createModeration(createModerationRequest, options) { - return localVarFp.createModeration(createModerationRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createModeration(createModerationRequest, options).then((request3) => request3(axios2, basePath3)); }, createSearch(engineId, createSearchRequest, options) { - return localVarFp.createSearch(engineId, createSearchRequest, options).then((request) => request(axios2, basePath2)); + return localVarFp.createSearch(engineId, createSearchRequest, options).then((request3) => request3(axios2, basePath3)); }, createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return localVarFp.createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request) => request(axios2, basePath2)); + return localVarFp.createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request3) => request3(axios2, basePath3)); }, createTranslation(file, model, prompt, responseFormat, temperature, options) { - return localVarFp.createTranslation(file, model, prompt, responseFormat, temperature, options).then((request) => request(axios2, basePath2)); + return localVarFp.createTranslation(file, model, prompt, responseFormat, temperature, options).then((request3) => request3(axios2, basePath3)); }, deleteFile(fileId, options) { - return localVarFp.deleteFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.deleteFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, deleteModel(model, options) { - return localVarFp.deleteModel(model, options).then((request) => request(axios2, basePath2)); + return localVarFp.deleteModel(model, options).then((request3) => request3(axios2, basePath3)); }, downloadFile(fileId, options) { - return localVarFp.downloadFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.downloadFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, listEngines(options) { - return localVarFp.listEngines(options).then((request) => request(axios2, basePath2)); + return localVarFp.listEngines(options).then((request3) => request3(axios2, basePath3)); }, listFiles(options) { - return localVarFp.listFiles(options).then((request) => request(axios2, basePath2)); + return localVarFp.listFiles(options).then((request3) => request3(axios2, basePath3)); }, listFineTuneEvents(fineTuneId, stream4, options) { - return localVarFp.listFineTuneEvents(fineTuneId, stream4, options).then((request) => request(axios2, basePath2)); + return localVarFp.listFineTuneEvents(fineTuneId, stream4, options).then((request3) => request3(axios2, basePath3)); }, listFineTunes(options) { - return localVarFp.listFineTunes(options).then((request) => request(axios2, basePath2)); + return localVarFp.listFineTunes(options).then((request3) => request3(axios2, basePath3)); }, listModels(options) { - return localVarFp.listModels(options).then((request) => request(axios2, basePath2)); + return localVarFp.listModels(options).then((request3) => request3(axios2, basePath3)); }, retrieveEngine(engineId, options) { - return localVarFp.retrieveEngine(engineId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveEngine(engineId, options).then((request3) => request3(axios2, basePath3)); }, retrieveFile(fileId, options) { - return localVarFp.retrieveFile(fileId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveFile(fileId, options).then((request3) => request3(axios2, basePath3)); }, retrieveFineTune(fineTuneId, options) { - return localVarFp.retrieveFineTune(fineTuneId, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveFineTune(fineTuneId, options).then((request3) => request3(axios2, basePath3)); }, retrieveModel(model, options) { - return localVarFp.retrieveModel(model, options).then((request) => request(axios2, basePath2)); + return localVarFp.retrieveModel(model, options).then((request3) => request3(axios2, basePath3)); } }; }; var OpenAIApi2 = class extends base_1.BaseAPI { cancelFineTune(fineTuneId, options) { - return exports.OpenAIApiFp(this.configuration).cancelFineTune(fineTuneId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).cancelFineTune(fineTuneId, options).then((request3) => request3(this.axios, this.basePath)); } createAnswer(createAnswerRequest, options) { - return exports.OpenAIApiFp(this.configuration).createAnswer(createAnswerRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createAnswer(createAnswerRequest, options).then((request3) => request3(this.axios, this.basePath)); } createChatCompletion(createChatCompletionRequest, options) { - return exports.OpenAIApiFp(this.configuration).createChatCompletion(createChatCompletionRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createChatCompletion(createChatCompletionRequest, options).then((request3) => request3(this.axios, this.basePath)); } createClassification(createClassificationRequest, options) { - return exports.OpenAIApiFp(this.configuration).createClassification(createClassificationRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createClassification(createClassificationRequest, options).then((request3) => request3(this.axios, this.basePath)); } createCompletion(createCompletionRequest, options) { - return exports.OpenAIApiFp(this.configuration).createCompletion(createCompletionRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createCompletion(createCompletionRequest, options).then((request3) => request3(this.axios, this.basePath)); } createEdit(createEditRequest, options) { - return exports.OpenAIApiFp(this.configuration).createEdit(createEditRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createEdit(createEditRequest, options).then((request3) => request3(this.axios, this.basePath)); } createEmbedding(createEmbeddingRequest, options) { - return exports.OpenAIApiFp(this.configuration).createEmbedding(createEmbeddingRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createEmbedding(createEmbeddingRequest, options).then((request3) => request3(this.axios, this.basePath)); } createFile(file, purpose, options) { - return exports.OpenAIApiFp(this.configuration).createFile(file, purpose, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createFile(file, purpose, options).then((request3) => request3(this.axios, this.basePath)); } createFineTune(createFineTuneRequest, options) { - return exports.OpenAIApiFp(this.configuration).createFineTune(createFineTuneRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createFineTune(createFineTuneRequest, options).then((request3) => request3(this.axios, this.basePath)); } createImage(createImageRequest, options) { - return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createImage(createImageRequest, options).then((request3) => request3(this.axios, this.basePath)); } - createImageEdit(image, prompt, mask, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageEdit(image, prompt, mask, n2, size, responseFormat, user, options).then((request3) => request3(this.axios, this.basePath)); } - createImageVariation(image, n, size, responseFormat, user, options) { - return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n, size, responseFormat, user, options).then((request) => request(this.axios, this.basePath)); + createImageVariation(image, n2, size, responseFormat, user, options) { + return exports.OpenAIApiFp(this.configuration).createImageVariation(image, n2, size, responseFormat, user, options).then((request3) => request3(this.axios, this.basePath)); } createModeration(createModerationRequest, options) { - return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createModeration(createModerationRequest, options).then((request3) => request3(this.axios, this.basePath)); } createSearch(engineId, createSearchRequest, options) { - return exports.OpenAIApiFp(this.configuration).createSearch(engineId, createSearchRequest, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createSearch(engineId, createSearchRequest, options).then((request3) => request3(this.axios, this.basePath)); } createTranscription(file, model, prompt, responseFormat, temperature, language, options) { - return exports.OpenAIApiFp(this.configuration).createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createTranscription(file, model, prompt, responseFormat, temperature, language, options).then((request3) => request3(this.axios, this.basePath)); } createTranslation(file, model, prompt, responseFormat, temperature, options) { - return exports.OpenAIApiFp(this.configuration).createTranslation(file, model, prompt, responseFormat, temperature, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).createTranslation(file, model, prompt, responseFormat, temperature, options).then((request3) => request3(this.axios, this.basePath)); } deleteFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).deleteFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).deleteFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } deleteModel(model, options) { - return exports.OpenAIApiFp(this.configuration).deleteModel(model, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).deleteModel(model, options).then((request3) => request3(this.axios, this.basePath)); } downloadFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).downloadFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).downloadFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } listEngines(options) { - return exports.OpenAIApiFp(this.configuration).listEngines(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listEngines(options).then((request3) => request3(this.axios, this.basePath)); } listFiles(options) { - return exports.OpenAIApiFp(this.configuration).listFiles(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFiles(options).then((request3) => request3(this.axios, this.basePath)); } listFineTuneEvents(fineTuneId, stream4, options) { - return exports.OpenAIApiFp(this.configuration).listFineTuneEvents(fineTuneId, stream4, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFineTuneEvents(fineTuneId, stream4, options).then((request3) => request3(this.axios, this.basePath)); } listFineTunes(options) { - return exports.OpenAIApiFp(this.configuration).listFineTunes(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listFineTunes(options).then((request3) => request3(this.axios, this.basePath)); } listModels(options) { - return exports.OpenAIApiFp(this.configuration).listModels(options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).listModels(options).then((request3) => request3(this.axios, this.basePath)); } retrieveEngine(engineId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveEngine(engineId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveEngine(engineId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveFile(fileId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveFile(fileId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveFile(fileId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveFineTune(fineTuneId, options) { - return exports.OpenAIApiFp(this.configuration).retrieveFineTune(fineTuneId, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveFineTune(fineTuneId, options).then((request3) => request3(this.axios, this.basePath)); } retrieveModel(model, options) { - return exports.OpenAIApiFp(this.configuration).retrieveModel(model, options).then((request) => request(this.axios, this.basePath)); + return exports.OpenAIApiFp(this.configuration).retrieveModel(model, options).then((request3) => request3(this.axios, this.basePath)); } }; exports.OpenAIApi = OpenAIApi2; @@ -12767,7 +29295,7 @@ var require_package = __commonJS({ "node_modules/openai/package.json"(exports, module2) { module2.exports = { name: "openai", - version: "3.2.1", + version: "3.3.0", description: "Node.js library for the OpenAI API", repository: { type: "git", @@ -12802,8 +29330,8 @@ var require_package = __commonJS({ // node_modules/delayed-stream/lib/delayed_stream.js var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports, module2) { - var Stream = require("stream").Stream; - var util2 = require("util"); + var Stream2 = require("stream").Stream; + var util3 = require("util"); module2.exports = DelayedStream; function DelayedStream() { this.source = null; @@ -12814,7 +29342,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util2.inherits(DelayedStream, Stream); + util3.inherits(DelayedStream, Stream2); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -12861,9 +29389,9 @@ var require_delayed_stream = __commonJS({ this._bufferedEvents = []; }; DelayedStream.prototype.pipe = function() { - var r2 = Stream.prototype.pipe.apply(this, arguments); + var r3 = Stream2.prototype.pipe.apply(this, arguments); this.resume(); - return r2; + return r3; }; DelayedStream.prototype._handleEmit = function(args) { if (this._released) { @@ -12893,8 +29421,8 @@ var require_delayed_stream = __commonJS({ // node_modules/combined-stream/lib/combined_stream.js var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports, module2) { - var util2 = require("util"); - var Stream = require("stream").Stream; + var util3 = require("util"); + var Stream2 = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; function CombinedStream() { @@ -12909,7 +29437,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util2.inherits(CombinedStream, Stream); + util3.inherits(CombinedStream, Stream2); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -12941,7 +29469,7 @@ var require_combined_stream = __commonJS({ return this; }; CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); + Stream2.prototype.pipe.call(this, dest, options); this.resume(); return dest; }; @@ -12971,8 +29499,8 @@ var require_combined_stream = __commonJS({ this._pipeNext(stream4); return; } - var getStream = stream4; - getStream(function(stream5) { + var getStream2 = stream4; + getStream2(function(stream5) { var isStreamLike = CombinedStream.isStreamLike(stream5); if (isStreamLike) { stream5.on("data", this._checkDataSize.bind(this)); @@ -21609,11 +38137,11 @@ var require_mime_types = __commonJS({ exports.lookup = lookup; exports.types = /* @__PURE__ */ Object.create(null); populateMaps(exports.extensions, exports.types); - function charset(type) { - if (!type || typeof type !== "string") { + function charset(type2) { + if (!type2 || typeof type2 !== "string") { return false; } - var match = EXTRACT_TYPE_REGEXP.exec(type); + var match = EXTRACT_TYPE_REGEXP.exec(type2); var mime = match && db[match[1].toLowerCase()]; if (mime && mime.charset) { return mime.charset; @@ -21638,11 +38166,11 @@ var require_mime_types = __commonJS({ } return mime; } - function extension(type) { - if (!type || typeof type !== "string") { + function extension(type2) { + if (!type2 || typeof type2 !== "string") { return false; } - var match = EXTRACT_TYPE_REGEXP.exec(type); + var match = EXTRACT_TYPE_REGEXP.exec(type2); var exts = match && exports.extensions[match[1].toLowerCase()]; if (!exts || !exts.length) { return false; @@ -21661,15 +38189,15 @@ var require_mime_types = __commonJS({ } function populateMaps(extensions, types) { var preference = ["nginx", "apache", void 0, "iana"]; - Object.keys(db).forEach(function forEachMimeType(type) { - var mime = db[type]; + Object.keys(db).forEach(function forEachMimeType(type2) { + var mime = db[type2]; var exts = mime.extensions; if (!exts || !exts.length) { return; } - extensions[type] = exts; - for (var i2 = 0; i2 < exts.length; i2++) { - var extension2 = exts[i2]; + extensions[type2] = exts; + for (var i3 = 0; i3 < exts.length; i3++) { + var extension2 = exts[i3]; if (types[extension2]) { var from = preference.indexOf(db[types[extension2]].source); var to = preference.indexOf(mime.source); @@ -21677,7 +38205,7 @@ var require_mime_types = __commonJS({ continue; } } - types[extension2] = type; + types[extension2] = type2; } }); } @@ -21726,9 +38254,9 @@ var require_async = __commonJS({ var require_abort = __commonJS({ "node_modules/asynckit/lib/abort.js"(exports, module2) { module2.exports = abort; - function abort(state) { - Object.keys(state.jobs).forEach(clean.bind(state)); - state.jobs = {}; + function abort(state2) { + Object.keys(state2.jobs).forEach(clean.bind(state2)); + state2.jobs = {}; } function clean(key) { if (typeof this.jobs[key] == "function") { @@ -21744,19 +38272,19 @@ var require_iterate = __commonJS({ var async = require_async(); var abort = require_abort(); module2.exports = iterate; - function iterate(list, iterator, state, callback) { - var key = state["keyedList"] ? state["keyedList"][state.index] : state.index; - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) { - if (!(key in state.jobs)) { + function iterate(list, iterator, state2, callback) { + var key = state2["keyedList"] ? state2["keyedList"][state2.index] : state2.index; + state2.jobs[key] = runJob(iterator, key, list[key], function(error, output) { + if (!(key in state2.jobs)) { return; } - delete state.jobs[key]; + delete state2.jobs[key]; if (error) { - abort(state); + abort(state2); } else { - state.results[key] = output; + state2.results[key] = output; } - callback(error, state.results); + callback(error, state2.results); }); } function runJob(iterator, key, item, callback) { @@ -21774,8 +38302,8 @@ var require_iterate = __commonJS({ // node_modules/asynckit/lib/state.js var require_state = __commonJS({ "node_modules/asynckit/lib/state.js"(exports, module2) { - module2.exports = state; - function state(list, sortMethod) { + module2.exports = state2; + function state2(list, sortMethod) { var isNamedList = !Array.isArray(list), initState = { index: 0, keyedList: isNamedList || sortMethod ? Object.keys(list) : null, @@ -21784,8 +38312,8 @@ var require_state = __commonJS({ size: isNamedList ? Object.keys(list).length : list.length }; if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b2) { - return sortMethod(list[a2], list[b2]); + initState.keyedList.sort(isNamedList ? sortMethod : function(a3, b3) { + return sortMethod(list[a3], list[b3]); }); } return initState; @@ -21818,21 +38346,21 @@ var require_parallel = __commonJS({ var terminator = require_terminator(); module2.exports = parallel; function parallel(list, iterator, callback) { - var state = initState(list); - while (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, function(error, result) { + var state2 = initState(list); + while (state2.index < (state2["keyedList"] || list).length) { + iterate(list, iterator, state2, function(error, result) { if (error) { callback(error, result); return; } - if (Object.keys(state.jobs).length === 0) { - callback(null, state.results); + if (Object.keys(state2.jobs).length === 0) { + callback(null, state2.results); return; } }); - state.index++; + state2.index++; } - return terminator.bind(state, callback); + return terminator.bind(state2, callback); } } }); @@ -21847,26 +38375,26 @@ var require_serialOrdered = __commonJS({ module2.exports.ascending = ascending; module2.exports.descending = descending; function serialOrdered(list, iterator, sortMethod, callback) { - var state = initState(list, sortMethod); - iterate(list, iterator, state, function iteratorHandler(error, result) { + var state2 = initState(list, sortMethod); + iterate(list, iterator, state2, function iteratorHandler(error, result) { if (error) { callback(error, result); return; } - state.index++; - if (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, iteratorHandler); + state2.index++; + if (state2.index < (state2["keyedList"] || list).length) { + iterate(list, iterator, state2, iteratorHandler); return; } - callback(null, state.results); + callback(null, state2.results); }); - return terminator.bind(state, callback); + return terminator.bind(state2, callback); } - function ascending(a2, b2) { - return a2 < b2 ? -1 : a2 > b2 ? 1 : 0; + function ascending(a3, b3) { + return a3 < b3 ? -1 : a3 > b3 ? 1 : 0; } - function descending(a2, b2) { - return -1 * ascending(a2, b2); + function descending(a3, b3) { + return -1 * ascending(a3, b3); } } }); @@ -21909,21 +38437,21 @@ var require_populate = __commonJS({ var require_form_data = __commonJS({ "node_modules/form-data/lib/form_data.js"(exports, module2) { var CombinedStream = require_combined_stream(); - var util2 = require("util"); + var util3 = require("util"); var path2 = require("path"); - var http2 = require("http"); - var https2 = require("https"); + var http3 = require("http"); + var https3 = require("https"); var parseUrl = require("url").parse; - var fs2 = require("fs"); - var Stream = require("stream").Stream; + var fs3 = require("fs"); + var Stream2 = require("stream").Stream; var mime = require_mime_types(); var asynckit = require_asynckit(); var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); + module2.exports = FormData5; + util3.inherits(FormData5, CombinedStream); + function FormData5(options) { + if (!(this instanceof FormData5)) { + return new FormData5(options); } this._overheadLength = 0; this._valueLength = 0; @@ -21934,9 +38462,9 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { + FormData5.LINE_BREAK = "\r\n"; + FormData5.DEFAULT_CONTENT_TYPE = "application/octet-stream"; + FormData5.prototype.append = function(field, value, options) { options = options || {}; if (typeof options == "string") { options = { filename: options }; @@ -21945,7 +38473,7 @@ var require_form_data = __commonJS({ if (typeof value == "number") { value = "" + value; } - if (util2.isArray(value)) { + if (util3.isArray(value)) { this._error(new Error("Arrays are not supported.")); return; } @@ -21956,7 +38484,7 @@ var require_form_data = __commonJS({ append2(footer); this._trackLength(header, value, options); }; - FormData3.prototype._trackLength = function(header, value, options) { + FormData5.prototype._trackLength = function(header, value, options) { var valueLength = 0; if (options.knownLength != null) { valueLength += +options.knownLength; @@ -21966,20 +38494,20 @@ var require_form_data = __commonJS({ valueLength = Buffer.byteLength(value); } this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { + this._overheadLength += Buffer.byteLength(header) + FormData5.LINE_BREAK.length; + if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream2)) { return; } if (!options.knownLength) { this._valuesToMeasure.push(value); } }; - FormData3.prototype._lengthRetriever = function(value, callback) { + FormData5.prototype._lengthRetriever = function(value, callback) { if (value.hasOwnProperty("fd")) { if (value.end != void 0 && value.end != Infinity && value.start != void 0) { callback(null, value.end + 1 - (value.start ? value.start : 0)); } else { - fs2.stat(value.path, function(err, stat) { + fs3.stat(value.path, function(err, stat) { var fileSize; if (err) { callback(err); @@ -22001,7 +38529,7 @@ var require_form_data = __commonJS({ callback("Unknown stream"); } }; - FormData3.prototype._multiPartHeader = function(field, value, options) { + FormData5.prototype._multiPartHeader = function(field, value, options) { if (typeof options.header == "string") { return options.header; } @@ -22027,12 +38555,12 @@ var require_form_data = __commonJS({ header = [header]; } if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; + contents += prop + ": " + header.join("; ") + FormData5.LINE_BREAK; } } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; + return "--" + this.getBoundary() + FormData5.LINE_BREAK + contents + FormData5.LINE_BREAK; }; - FormData3.prototype._getContentDisposition = function(value, options) { + FormData5.prototype._getContentDisposition = function(value, options) { var filename, contentDisposition; if (typeof options.filepath === "string") { filename = path2.normalize(options.filepath).replace(/\\/g, "/"); @@ -22046,7 +38574,7 @@ var require_form_data = __commonJS({ } return contentDisposition; }; - FormData3.prototype._getContentType = function(value, options) { + FormData5.prototype._getContentType = function(value, options) { var contentType = options.contentType; if (!contentType && value.name) { contentType = mime.lookup(value.name); @@ -22061,13 +38589,13 @@ var require_form_data = __commonJS({ contentType = mime.lookup(options.filepath || options.filename); } if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; + contentType = FormData5.DEFAULT_CONTENT_TYPE; } return contentType; }; - FormData3.prototype._multiPartFooter = function() { + FormData5.prototype._multiPartFooter = function() { return function(next) { - var footer = FormData3.LINE_BREAK; + var footer = FormData5.LINE_BREAK; var lastPart = this._streams.length === 0; if (lastPart) { footer += this._lastBoundary(); @@ -22075,10 +38603,10 @@ var require_form_data = __commonJS({ next(footer); }.bind(this); }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; + FormData5.prototype._lastBoundary = function() { + return "--" + this.getBoundary() + "--" + FormData5.LINE_BREAK; }; - FormData3.prototype.getHeaders = function(userHeaders) { + FormData5.prototype.getHeaders = function(userHeaders) { var header; var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() @@ -22090,40 +38618,40 @@ var require_form_data = __commonJS({ } return formHeaders; }; - FormData3.prototype.setBoundary = function(boundary) { + FormData5.prototype.setBoundary = function(boundary) { this._boundary = boundary; }; - FormData3.prototype.getBoundary = function() { + FormData5.prototype.getBoundary = function() { if (!this._boundary) { this._generateBoundary(); } return this._boundary; }; - FormData3.prototype.getBuffer = function() { + FormData5.prototype.getBuffer = function() { var dataBuffer = new Buffer.alloc(0); var boundary = this.getBoundary(); - for (var i2 = 0, len = this._streams.length; i2 < len; i2++) { - if (typeof this._streams[i2] !== "function") { - if (Buffer.isBuffer(this._streams[i2])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]); + for (var i3 = 0, len = this._streams.length; i3 < len; i3++) { + if (typeof this._streams[i3] !== "function") { + if (Buffer.isBuffer(this._streams[i3])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i3]]); } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]); + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i3])]); } - if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); + if (typeof this._streams[i3] !== "string" || this._streams[i3].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData5.LINE_BREAK)]); } } } return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); }; - FormData3.prototype._generateBoundary = function() { + FormData5.prototype._generateBoundary = function() { var boundary = "--------------------------"; - for (var i2 = 0; i2 < 24; i2++) { + for (var i3 = 0; i3 < 24; i3++) { boundary += Math.floor(Math.random() * 10).toString(16); } this._boundary = boundary; }; - FormData3.prototype.getLengthSync = function() { + FormData5.prototype.getLengthSync = function() { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -22133,14 +38661,14 @@ var require_form_data = __commonJS({ } return knownLength; }; - FormData3.prototype.hasKnownLength = function() { + FormData5.prototype.hasKnownLength = function() { var hasKnownLength = true; if (this._valuesToMeasure.length) { hasKnownLength = false; } return hasKnownLength; }; - FormData3.prototype.getLength = function(cb) { + FormData5.prototype.getLength = function(cb) { var knownLength = this._overheadLength + this._valueLength; if (this._streams.length) { knownLength += this._lastBoundary().length; @@ -22160,8 +38688,8 @@ var require_form_data = __commonJS({ cb(null, knownLength); }); }; - FormData3.prototype.submit = function(params, cb) { - var request, options, defaults2 = { method: "post" }; + FormData5.prototype.submit = function(params, cb) { + var request3, options, defaults2 = { method: "post" }; if (typeof params == "string") { params = parseUrl(params); options = populate({ @@ -22178,9 +38706,9 @@ var require_form_data = __commonJS({ } options.headers = this.getHeaders(params.headers); if (options.protocol == "https:") { - request = https2.request(options); + request3 = https3.request(options); } else { - request = http2.request(options); + request3 = http3.request(options); } this.getLength(function(err, length) { if (err && err !== "Unknown stream") { @@ -22188,31 +38716,31 @@ var require_form_data = __commonJS({ return; } if (length) { - request.setHeader("Content-Length", length); + request3.setHeader("Content-Length", length); } - this.pipe(request); + this.pipe(request3); if (cb) { var onResponse; var callback = function(error, responce) { - request.removeListener("error", callback); - request.removeListener("response", onResponse); + request3.removeListener("error", callback); + request3.removeListener("response", onResponse); return cb.call(this, error, responce); }; onResponse = callback.bind(this, null); - request.on("error", callback); - request.on("response", onResponse); + request3.on("error", callback); + request3.on("response", onResponse); } }.bind(this)); - return request; + return request3; }; - FormData3.prototype._error = function(err) { + FormData5.prototype._error = function(err) { if (!this.error) { this.error = err; this.pause(); this.emit("error", err); } }; - FormData3.prototype.toString = function() { + FormData5.prototype.toString = function() { return "[object FormData]"; }; } @@ -22259,25 +38787,25 @@ var require_configuration = __commonJS({ var require_dist2 = __commonJS({ "node_modules/openai/dist/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - Object.defineProperty(o2, k22, { enumerable: true, get: function() { - return m3[k3]; + k22 = k4; + Object.defineProperty(o3, k22, { enumerable: true, get: function() { + return m4[k4]; } }); - } : function(o2, m3, k3, k22) { + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __exportStar = exports && exports.__exportStar || function(m3, exports2) { - for (var p2 in m3) - if (p2 !== "default" && !exports2.hasOwnProperty(p2)) - __createBinding(exports2, m3, p2); + var __exportStar2 = exports && exports.__exportStar || function(m4, exports2) { + for (var p3 in m4) + if (p3 !== "default" && !exports2.hasOwnProperty(p3)) + __createBinding2(exports2, m4, p3); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_api(), exports); - __exportStar(require_configuration(), exports); + __exportStar2(require_api2(), exports); + __exportStar2(require_configuration(), exports); } }); @@ -22286,14 +38814,14 @@ var require_package2 = __commonJS({ "node_modules/dotenv/package.json"(exports, module2) { module2.exports = { name: "dotenv", - version: "16.0.3", + version: "16.4.5", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { - require: "./lib/main.js", types: "./lib/main.d.ts", + require: "./lib/main.js", default: "./lib/main.js" }, "./config": "./config.js", @@ -22310,6 +38838,7 @@ var require_package2 = __commonJS({ "lint-readme": "standard-markdown", pretest: "npm run lint && npm run dts-check", test: "tap tests/*.js --100 -Rspec", + "test:coverage": "tap --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, @@ -22317,6 +38846,7 @@ var require_package2 = __commonJS({ type: "git", url: "git://github.com/motdotla/dotenv.git" }, + funding: "https://dotenvx.com", keywords: [ "dotenv", "env", @@ -22329,30 +38859,34 @@ var require_package2 = __commonJS({ readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { - "@types/node": "^17.0.9", + "@definitelytyped/dtslint": "^0.0.133", + "@types/node": "^18.11.3", decache: "^4.6.1", - dtslint: "^3.7.0", - sinon: "^12.0.1", - standard: "^16.0.4", + sinon: "^14.0.1", + standard: "^17.0.0", "standard-markdown": "^7.1.0", - "standard-version": "^9.3.2", - tap: "^15.1.6", + "standard-version": "^9.5.0", + tap: "^16.3.0", tar: "^6.1.11", - typescript: "^4.5.4" + typescript: "^4.8.4" }, engines: { node: ">=12" + }, + browser: { + fs: false } }; } }); // node_modules/dotenv/lib/main.js -var require_main = __commonJS({ +var require_main2 = __commonJS({ "node_modules/dotenv/lib/main.js"(exports, module2) { - var fs2 = require("fs"); + var fs3 = require("fs"); var path2 = require("path"); - var os2 = require("os"); + var os3 = require("os"); + var crypto2 = require("crypto"); var packageJson = require_package2(); var version = packageJson.version; var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; @@ -22375,57 +38909,240 @@ var require_main = __commonJS({ } return obj; } - function _log(message) { - console.log(`[dotenv@${version}][DEBUG] ${message}`); - } - function _resolveHome(envPath) { - return envPath[0] === "~" ? path2.join(os2.homedir(), envPath.slice(1)) : envPath; - } - function config7(options) { - let dotenvPath = path2.resolve(process.cwd(), ".env"); - let encoding = "utf8"; - const debug = Boolean(options && options.debug); - const override = Boolean(options && options.override); - if (options) { - if (options.path != null) { - dotenvPath = _resolveHome(options.path); - } - if (options.encoding != null) { - encoding = options.encoding; + function _parseVault(options) { + const vaultPath = _vaultPath(options); + const result = DotenvModule.configDotenv({ path: vaultPath }); + if (!result.parsed) { + const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`); + err.code = "MISSING_DATA"; + throw err; + } + const keys = _dotenvKey(options).split(","); + const length = keys.length; + let decrypted; + for (let i3 = 0; i3 < length; i3++) { + try { + const key = keys[i3].trim(); + const attrs = _instructions(result, key); + decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key); + break; + } catch (error) { + if (i3 + 1 >= length) { + throw error; + } } } + return DotenvModule.parse(decrypted); + } + function _log(message) { + console.log(`[dotenv@${version}][INFO] ${message}`); + } + function _warn(message) { + console.log(`[dotenv@${version}][WARN] ${message}`); + } + function _debug(message) { + console.log(`[dotenv@${version}][DEBUG] ${message}`); + } + function _dotenvKey(options) { + if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { + return options.DOTENV_KEY; + } + if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { + return process.env.DOTENV_KEY; + } + return ""; + } + function _instructions(result, dotenvKey) { + let uri; try { - const parsed = DotenvModule.parse(fs2.readFileSync(dotenvPath, { encoding })); - Object.keys(parsed).forEach(function(key) { - if (!Object.prototype.hasOwnProperty.call(process.env, key)) { - process.env[key] = parsed[key]; - } else { - if (override === true) { - process.env[key] = parsed[key]; - } - if (debug) { - if (override === true) { - _log(`"${key}" is already defined in \`process.env\` and WAS overwritten`); - } else { - _log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`); - } + uri = new URL(dotenvKey); + } catch (error) { + if (error.code === "ERR_INVALID_URL") { + const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + throw error; + } + const key = uri.password; + if (!key) { + const err = new Error("INVALID_DOTENV_KEY: Missing key part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environment = uri.searchParams.get("environment"); + if (!environment) { + const err = new Error("INVALID_DOTENV_KEY: Missing environment part"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } + const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`; + const ciphertext = result.parsed[environmentKey]; + if (!ciphertext) { + const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`); + err.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; + throw err; + } + return { ciphertext, key }; + } + function _vaultPath(options) { + let possibleVaultPath = null; + if (options && options.path && options.path.length > 0) { + if (Array.isArray(options.path)) { + for (const filepath of options.path) { + if (fs3.existsSync(filepath)) { + possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`; } } - }); - return { parsed }; - } catch (e2) { - if (debug) { - _log(`Failed to load ${dotenvPath} ${e2.message}`); + } else { + possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`; + } + } else { + possibleVaultPath = path2.resolve(process.cwd(), ".env.vault"); + } + if (fs3.existsSync(possibleVaultPath)) { + return possibleVaultPath; + } + return null; + } + function _resolveHome(envPath) { + return envPath[0] === "~" ? path2.join(os3.homedir(), envPath.slice(1)) : envPath; + } + function _configVault(options) { + _log("Loading env from encrypted .env.vault"); + const parsed = DotenvModule._parseVault(options); + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsed, options); + return { parsed }; + } + function configDotenv(options) { + const dotenvPath = path2.resolve(process.cwd(), ".env"); + let encoding = "utf8"; + const debug2 = Boolean(options && options.debug); + if (options && options.encoding) { + encoding = options.encoding; + } else { + if (debug2) { + _debug("No encoding is specified. UTF-8 is used by default"); + } + } + let optionPaths = [dotenvPath]; + if (options && options.path) { + if (!Array.isArray(options.path)) { + optionPaths = [_resolveHome(options.path)]; + } else { + optionPaths = []; + for (const filepath of options.path) { + optionPaths.push(_resolveHome(filepath)); + } + } + } + let lastError; + const parsedAll = {}; + for (const path3 of optionPaths) { + try { + const parsed = DotenvModule.parse(fs3.readFileSync(path3, { encoding })); + DotenvModule.populate(parsedAll, parsed, options); + } catch (e3) { + if (debug2) { + _debug(`Failed to load ${path3} ${e3.message}`); + } + lastError = e3; + } + } + let processEnv = process.env; + if (options && options.processEnv != null) { + processEnv = options.processEnv; + } + DotenvModule.populate(processEnv, parsedAll, options); + if (lastError) { + return { parsed: parsedAll, error: lastError }; + } else { + return { parsed: parsedAll }; + } + } + function config9(options) { + if (_dotenvKey(options).length === 0) { + return DotenvModule.configDotenv(options); + } + const vaultPath = _vaultPath(options); + if (!vaultPath) { + _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`); + return DotenvModule.configDotenv(options); + } + return DotenvModule._configVault(options); + } + function decrypt(encrypted, keyStr) { + const key = Buffer.from(keyStr.slice(-64), "hex"); + let ciphertext = Buffer.from(encrypted, "base64"); + const nonce = ciphertext.subarray(0, 12); + const authTag = ciphertext.subarray(-16); + ciphertext = ciphertext.subarray(12, -16); + try { + const aesgcm = crypto2.createDecipheriv("aes-256-gcm", key, nonce); + aesgcm.setAuthTag(authTag); + return `${aesgcm.update(ciphertext)}${aesgcm.final()}`; + } catch (error) { + const isRange = error instanceof RangeError; + const invalidKeyLength = error.message === "Invalid key length"; + const decryptionFailed = error.message === "Unsupported state or unable to authenticate data"; + if (isRange || invalidKeyLength) { + const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + err.code = "INVALID_DOTENV_KEY"; + throw err; + } else if (decryptionFailed) { + const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + err.code = "DECRYPTION_FAILED"; + throw err; + } else { + throw error; + } + } + } + function populate(processEnv, parsed, options = {}) { + const debug2 = Boolean(options && options.debug); + const override = Boolean(options && options.override); + if (typeof parsed !== "object") { + const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + err.code = "OBJECT_REQUIRED"; + throw err; + } + for (const key of Object.keys(parsed)) { + if (Object.prototype.hasOwnProperty.call(processEnv, key)) { + if (override === true) { + processEnv[key] = parsed[key]; + } + if (debug2) { + if (override === true) { + _debug(`"${key}" is already defined and WAS overwritten`); + } else { + _debug(`"${key}" is already defined and was NOT overwritten`); + } + } + } else { + processEnv[key] = parsed[key]; } - return { error: e2 }; } } var DotenvModule = { - config: config7, - parse + configDotenv, + _configVault, + _parseVault, + config: config9, + decrypt, + parse, + populate }; + module2.exports.configDotenv = DotenvModule.configDotenv; + module2.exports._configVault = DotenvModule._configVault; + module2.exports._parseVault = DotenvModule._parseVault; module2.exports.config = DotenvModule.config; + module2.exports.decrypt = DotenvModule.decrypt; module2.exports.parse = DotenvModule.parse; + module2.exports.populate = DotenvModule.populate; module2.exports = DotenvModule; } }); @@ -22448,26 +39165,26 @@ var require_ini = __commonJS({ opt.whitespace = opt.whitespace === true; } const separator = opt.whitespace ? " = " : "="; - for (const k3 of Object.keys(obj)) { - const val = obj[k3]; + for (const k4 of Object.keys(obj)) { + const val = obj[k4]; if (val && Array.isArray(val)) { for (const item of val) { - out += safe(k3 + "[]") + separator + safe(item) + eol; + out += safe(k4 + "[]") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { - children.push(k3); + children.push(k4); } else { - out += safe(k3) + separator + safe(val) + eol; + out += safe(k4) + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + eol + out; } - for (const k3 of children) { - const nk = dotSplit(k3).join("\\."); + for (const k4 of children) { + const nk = dotSplit(k4).join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const { whitespace } = opt; - const child = encode3(obj[k3], { + const child = encode3(obj[k4], { section, whitespace }); @@ -22481,25 +39198,25 @@ var require_ini = __commonJS({ var dotSplit = (str) => str.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map((part) => part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "")); var decode = (str) => { const out = /* @__PURE__ */ Object.create(null); - let p2 = out; + let p3 = out; let section = null; - const re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + const re2 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); for (const line of lines) { if (!line || line.match(/^\s*[;#]/)) { continue; } - const match = line.match(re); + const match = line.match(re2); if (!match) { continue; } if (match[1] !== void 0) { section = unsafe(match[1]); if (section === "__proto__") { - p2 = /* @__PURE__ */ Object.create(null); + p3 = /* @__PURE__ */ Object.create(null); continue; } - p2 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); + p3 = out[section] = out[section] || /* @__PURE__ */ Object.create(null); continue; } const keyRaw = unsafe(match[2]); @@ -22511,41 +39228,41 @@ var require_ini = __commonJS({ const valueRaw = match[3] ? unsafe(match[4]) : true; const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw; if (isArray2) { - if (!hasOwnProperty2.call(p2, key)) { - p2[key] = []; - } else if (!Array.isArray(p2[key])) { - p2[key] = [p2[key]]; + if (!hasOwnProperty2.call(p3, key)) { + p3[key] = []; + } else if (!Array.isArray(p3[key])) { + p3[key] = [p3[key]]; } } - if (Array.isArray(p2[key])) { - p2[key].push(value); + if (Array.isArray(p3[key])) { + p3[key].push(value); } else { - p2[key] = value; + p3[key] = value; } } const remove = []; - for (const k3 of Object.keys(out)) { - if (!hasOwnProperty2.call(out, k3) || typeof out[k3] !== "object" || Array.isArray(out[k3])) { + for (const k4 of Object.keys(out)) { + if (!hasOwnProperty2.call(out, k4) || typeof out[k4] !== "object" || Array.isArray(out[k4])) { continue; } - const parts = dotSplit(k3); - p2 = out; - const l = parts.pop(); - const nl = l.replace(/\\\./g, "."); + const parts = dotSplit(k4); + p3 = out; + const l3 = parts.pop(); + const nl = l3.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; } - if (!hasOwnProperty2.call(p2, part) || typeof p2[part] !== "object") { - p2[part] = /* @__PURE__ */ Object.create(null); + if (!hasOwnProperty2.call(p3, part) || typeof p3[part] !== "object") { + p3[part] = /* @__PURE__ */ Object.create(null); } - p2 = p2[part]; + p3 = p3[part]; } - if (p2 === out && nl === l) { + if (p3 === out && nl === l3) { continue; } - p2[nl] = out[k3]; - remove.push(k3); + p3[nl] = out[k4]; + remove.push(k4); } for (const del of remove) { delete out[del]; @@ -22574,21 +39291,21 @@ var require_ini = __commonJS({ } else { let esc = false; let unesc = ""; - for (let i2 = 0, l = val.length; i2 < l; i2++) { - const c = val.charAt(i2); + for (let i3 = 0, l3 = val.length; i3 < l3; i3++) { + const c2 = val.charAt(i3); if (esc) { - if ("\\;#".indexOf(c) !== -1) { - unesc += c; + if ("\\;#".indexOf(c2) !== -1) { + unesc += c2; } else { - unesc += "\\" + c; + unesc += "\\" + c2; } esc = false; - } else if (";#".indexOf(c) !== -1) { + } else if (";#".indexOf(c2) !== -1) { break; - } else if (c === "\\") { + } else if (c2 === "\\") { esc = true; } else { - unesc += c; + unesc += c2; } } if (esc) { @@ -22650,7 +39367,7 @@ var require_load = __commonJS({ }); // node_modules/@commitlint/types/lib/parse.js -var require_parse2 = __commonJS({ +var require_parse3 = __commonJS({ "node_modules/@commitlint/types/lib/parse.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -22676,12 +39393,12 @@ var require_rules = __commonJS({ RuleConfigSeverity3[RuleConfigSeverity3["Disabled"] = 0] = "Disabled"; RuleConfigSeverity3[RuleConfigSeverity3["Warning"] = 1] = "Warning"; RuleConfigSeverity3[RuleConfigSeverity3["Error"] = 2] = "Error"; - })(RuleConfigSeverity2 = exports.RuleConfigSeverity || (exports.RuleConfigSeverity = {})); + })(RuleConfigSeverity2 || (exports.RuleConfigSeverity = RuleConfigSeverity2 = {})); var RuleConfigQuality; (function(RuleConfigQuality2) { RuleConfigQuality2[RuleConfigQuality2["User"] = 0] = "User"; RuleConfigQuality2[RuleConfigQuality2["Qualified"] = 1] = "Qualified"; - })(RuleConfigQuality = exports.RuleConfigQuality || (exports.RuleConfigQuality = {})); + })(RuleConfigQuality || (exports.RuleConfigQuality = RuleConfigQuality = {})); } }); @@ -22689,35 +39406,35 @@ var require_rules = __commonJS({ var require_lib4 = __commonJS({ "node_modules/@commitlint/types/lib/index.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k3, k22) { + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - var desc = Object.getOwnPropertyDescriptor(m3, k3); - if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) { + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m3[k3]; + return m4[k4]; } }; } - Object.defineProperty(o2, k22, desc); - } : function(o2, m3, k3, k22) { + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { if (k22 === void 0) - k22 = k3; - o2[k22] = m3[k3]; + k22 = k4; + o3[k22] = m4[k4]; }); - var __exportStar = exports && exports.__exportStar || function(m3, exports2) { - for (var p2 in m3) - if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) - __createBinding(exports2, m3, p2); + var __exportStar2 = exports && exports.__exportStar || function(m4, exports2) { + for (var p3 in m4) + if (p3 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p3)) + __createBinding2(exports2, m4, p3); }; Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar(require_ensure(), exports); - __exportStar(require_format(), exports); - __exportStar(require_is_ignored(), exports); - __exportStar(require_lint(), exports); - __exportStar(require_load(), exports); - __exportStar(require_parse2(), exports); - __exportStar(require_prompt(), exports); - __exportStar(require_rules(), exports); + __exportStar2(require_ensure(), exports); + __exportStar2(require_format(), exports); + __exportStar2(require_is_ignored(), exports); + __exportStar2(require_lint(), exports); + __exportStar2(require_load(), exports); + __exportStar2(require_parse3(), exports); + __exportStar2(require_prompt(), exports); + __exportStar2(require_rules(), exports); } }); @@ -22734,8 +39451,8 @@ var require_proxy_from_env = __commonJS({ ws: 80, wss: 443 }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; + var stringEndsWith = String.prototype.endsWith || function(s2) { + return s2.length <= this.length && this.indexOf(s2, this.length - s2.length) !== -1; }; function getProxyForUrl2(url2) { var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; @@ -22758,14 +39475,14 @@ var require_proxy_from_env = __commonJS({ return proxy; } function shouldProxy(hostname, port) { - var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); - if (!NO_PROXY) { + var NO_PROXY2 = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); + if (!NO_PROXY2) { return true; } - if (NO_PROXY === "*") { + if (NO_PROXY2 === "*") { return false; } - return NO_PROXY.split(/[,\s]/).every(function(proxy) { + return NO_PROXY2.split(/[,\s]/).every(function(proxy) { if (!proxy) { return true; } @@ -22838,13 +39555,13 @@ var require_tiktoken_bg = __commonJS({ function passStringToWasm0(arg, malloc, realloc) { if (realloc === void 0) { const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length); + const ptr2 = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); let offset = 0; for (; offset < len; offset++) { @@ -22857,7 +39574,7 @@ var require_tiktoken_bg = __commonJS({ if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; @@ -22879,6 +39596,7 @@ var require_tiktoken_bg = __commonJS({ var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } function addHeapObject(obj) { @@ -22897,124 +39615,124 @@ var require_tiktoken_bg = __commonJS({ return cachedUint32Memory0; } function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); + const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8Memory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4); + const ptr = malloc(arg.length * 4, 4) >>> 0; getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; } function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } - function handleError(f3, args) { + function handleError(f4, args) { try { - return f3.apply(this, args); - } catch (e2) { - wasm.__wbindgen_export_3(addHeapObject(e2)); + return f4.apply(this, args); + } catch (e3) { + wasm.__wbindgen_export_3(addHeapObject(e3)); } } + var TiktokenFinalization = new FinalizationRegistry((ptr) => wasm.__wbg_tiktoken_free(ptr >>> 0)); var Tiktoken2 = class { constructor(tiktoken_bfe, special_tokens, pat_str) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passStringToWasm0(tiktoken_bfe, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(pat_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len1 = WASM_VECTOR_LEN; const ret = wasm.tiktoken_new(ptr0, len0, addHeapObject(special_tokens), ptr1, len1); - return Tiktoken2.__wrap(ret); + this.__wbg_ptr = ret >>> 0; + return this; } get name() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_name(retptr, this.ptr); + wasm.tiktoken_name(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - let v0; + let v1; if (r0 !== 0) { - v0 = getStringFromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); + v1 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); } - return v0; + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } - static __wrap(ptr) { - const obj = Object.create(Tiktoken2.prototype); - obj.ptr = ptr; - return obj; - } __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + TiktokenFinalization.unregister(this); return ptr; } free() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr = this.__destroy_into_raw(); wasm.__wbg_tiktoken_free(ptr); } encode(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r22 = getInt32Memory0()[retptr / 4 + 2]; var r3 = getInt32Memory0()[retptr / 4 + 3]; if (r3) { - throw takeObject(r2); + throw takeObject(r22); } - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v2 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_ordinary(text) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_ordinary(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_encode_ordinary(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU32FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 4); - return v1; + var v2 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 4, 4); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } encode_with_unstable(text, allowed_special, disallowed_special) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_encode_with_unstable(retptr, this.ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); + wasm.tiktoken_encode_with_unstable(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(allowed_special), addHeapObject(disallowed_special)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { + var r22 = getInt32Memory0()[retptr / 4 + 2]; + if (r22) { throw takeObject(r1); } return takeObject(r0); @@ -23024,48 +39742,48 @@ var require_tiktoken_bg = __commonJS({ } encode_single_token(bytes) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - const ret = wasm.tiktoken_encode_single_token(this.ptr, ptr0, len0); + const ret = wasm.tiktoken_encode_single_token(this.__wbg_ptr, ptr0, len0); return ret >>> 0; } decode(tokens) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(tokens, wasm.__wbindgen_export_0); const len0 = WASM_VECTOR_LEN; - wasm.tiktoken_decode(retptr, this.ptr, ptr0, len0); + wasm.tiktoken_decode(retptr, this.__wbg_ptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v1; + var v2 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } decode_single_token_bytes(token) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.tiktoken_decode_single_token_bytes(retptr, this.ptr, token); + wasm.tiktoken_decode_single_token_bytes(retptr, this.__wbg_ptr, token); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v0 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_export_2(r0, r1 * 1); - return v0; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_2(r0, r1 * 1, 1); + return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } token_byte_values() { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); - const ret = wasm.tiktoken_token_byte_values(this.ptr); + throw new Error("tiktoken: WASM binary has not been propery initialized."); + const ret = wasm.tiktoken_token_byte_values(this.__wbg_ptr); return takeObject(ret); } }; @@ -23074,7 +39792,7 @@ var require_tiktoken_bg = __commonJS({ const ret = getObject(arg0) === void 0; return ret; }; - module2.exports.__wbg_stringify_029a979dfb73aa17 = function() { + module2.exports.__wbg_stringify_daa6661e90c04140 = function() { return handleError(function(arg0) { const ret = JSON.stringify(getObject(arg0)); return addHeapObject(ret); @@ -23085,19 +39803,19 @@ var require_tiktoken_bg = __commonJS({ }; module2.exports.__wbindgen_string_get = function(arg0, arg1) { if (wasm == null) - throw new Error("@dqbd/tiktoken: WASM binary has not been propery initialized."); + throw new Error("tiktoken: WASM binary has not been propery initialized."); const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; module2.exports.__wbindgen_error_new = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - module2.exports.__wbg_parse_3ac95b51fc312db8 = function() { + module2.exports.__wbg_parse_06816e879d29d4df = function() { return handleError(function(arg0, arg1) { const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); @@ -23116,15 +39834,14 @@ var require_tiktoken = __commonJS({ var imports = {}; imports["./tiktoken_bg.js"] = wasm; var path2 = require("path"); - var fs2 = require("fs"); - var candidates = __dirname.split(path2.sep).reduce((memo, _2, index, array) => { + var fs3 = require("fs"); + var candidates = __dirname.split(path2.sep).reduce((memo, _3, index, array) => { const prefix = array.slice(0, index + 1).join(path2.sep) + path2.sep; if (!prefix.includes("node_modules" + path2.sep)) { memo.unshift( path2.join( prefix, "node_modules", - "@dqbd", "tiktoken", "lite", "./tiktoken_bg.wasm" @@ -23137,7 +39854,7 @@ var require_tiktoken = __commonJS({ var bytes = null; for (const candidate of candidates) { try { - bytes = fs2.readFileSync(candidate); + bytes = fs3.readFileSync(candidate); break; } catch { } @@ -23151,9 +39868,8587 @@ var require_tiktoken = __commonJS({ } }); +// node_modules/tslib/tslib.js +var require_tslib = __commonJS({ + "node_modules/tslib/tslib.js"(exports, module2) { + var __extends2; + var __assign2; + var __rest2; + var __decorate2; + var __param2; + var __esDecorate2; + var __runInitializers2; + var __propKey2; + var __setFunctionName2; + var __metadata2; + var __awaiter2; + var __generator2; + var __exportStar2; + var __values2; + var __read2; + var __spread2; + var __spreadArrays2; + var __spreadArray2; + var __await2; + var __asyncGenerator2; + var __asyncDelegator2; + var __asyncValues2; + var __makeTemplateObject2; + var __importStar2; + var __importDefault2; + var __classPrivateFieldGet9; + var __classPrivateFieldSet8; + var __classPrivateFieldIn2; + var __createBinding2; + var __addDisposableResource2; + var __disposeResources2; + (function(factory) { + var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; + if (typeof define === "function" && define.amd) { + define("tslib", ["exports"], function(exports2) { + factory(createExporter(root, createExporter(exports2))); + }); + } else if (typeof module2 === "object" && typeof module2.exports === "object") { + factory(createExporter(root, createExporter(module2.exports))); + } else { + factory(createExporter(root)); + } + function createExporter(exports2, previous) { + if (exports2 !== root) { + if (typeof Object.create === "function") { + Object.defineProperty(exports2, "__esModule", { value: true }); + } else { + exports2.__esModule = true; + } + } + return function(id, v2) { + return exports2[id] = previous ? previous(id, v2) : v2; + }; + } + })(function(exporter) { + var extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d5, b3) { + d5.__proto__ = b3; + } || function(d5, b3) { + for (var p3 in b3) + if (Object.prototype.hasOwnProperty.call(b3, p3)) + d5[p3] = b3[p3]; + }; + __extends2 = function(d5, b3) { + if (typeof b3 !== "function" && b3 !== null) + throw new TypeError("Class extends value " + String(b3) + " is not a constructor or null"); + extendStatics(d5, b3); + function __() { + this.constructor = d5; + } + d5.prototype = b3 === null ? Object.create(b3) : (__.prototype = b3.prototype, new __()); + }; + __assign2 = Object.assign || function(t2) { + for (var s2, i3 = 1, n2 = arguments.length; i3 < n2; i3++) { + s2 = arguments[i3]; + for (var p3 in s2) + if (Object.prototype.hasOwnProperty.call(s2, p3)) + t2[p3] = s2[p3]; + } + return t2; + }; + __rest2 = function(s2, e3) { + var t2 = {}; + for (var p3 in s2) + if (Object.prototype.hasOwnProperty.call(s2, p3) && e3.indexOf(p3) < 0) + t2[p3] = s2[p3]; + if (s2 != null && typeof Object.getOwnPropertySymbols === "function") + for (var i3 = 0, p3 = Object.getOwnPropertySymbols(s2); i3 < p3.length; i3++) { + if (e3.indexOf(p3[i3]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p3[i3])) + t2[p3[i3]] = s2[p3[i3]]; + } + return t2; + }; + __decorate2 = function(decorators, target, key, desc) { + var c2 = arguments.length, r3 = c2 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r3 = Reflect.decorate(decorators, target, key, desc); + else + for (var i3 = decorators.length - 1; i3 >= 0; i3--) + if (d5 = decorators[i3]) + r3 = (c2 < 3 ? d5(r3) : c2 > 3 ? d5(target, key, r3) : d5(target, key)) || r3; + return c2 > 3 && r3 && Object.defineProperty(target, key, r3), r3; + }; + __param2 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + __esDecorate2 = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f4) { + if (f4 !== void 0 && typeof f4 !== "function") + throw new TypeError("Function expected"); + return f4; + } + var kind2 = contextIn.kind, key = kind2 === "getter" ? "get" : kind2 === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _3, done = false; + for (var i3 = decorators.length - 1; i3 >= 0; i3--) { + var context2 = {}; + for (var p3 in contextIn) + context2[p3] = p3 === "access" ? {} : contextIn[p3]; + for (var p3 in contextIn.access) + context2.access[p3] = contextIn.access[p3]; + context2.addInitializer = function(f4) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f4 || null)); + }; + var result = (0, decorators[i3])(kind2 === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2); + if (kind2 === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_3 = accept(result.get)) + descriptor.get = _3; + if (_3 = accept(result.set)) + descriptor.set = _3; + if (_3 = accept(result.init)) + initializers.unshift(_3); + } else if (_3 = accept(result)) { + if (kind2 === "field") + initializers.unshift(_3); + else + descriptor[key] = _3; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; + }; + __runInitializers2 = function(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i3 = 0; i3 < initializers.length; i3++) { + value = useValue ? initializers[i3].call(thisArg, value) : initializers[i3].call(thisArg); + } + return useValue ? value : void 0; + }; + __propKey2 = function(x2) { + return typeof x2 === "symbol" ? x2 : "".concat(x2); + }; + __setFunctionName2 = function(f4, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f4, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); + }; + __metadata2 = function(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + }; + __awaiter2 = function(thisArg, _arguments, P3, generator) { + function adopt(value) { + return value instanceof P3 ? value : new P3(function(resolve) { + resolve(value); + }); + } + return new (P3 || (P3 = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e3) { + reject(e3); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e3) { + reject(e3); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + __generator2 = function(thisArg, body) { + var _3 = { label: 0, sent: function() { + if (t2[0] & 1) + throw t2[1]; + return t2[1]; + }, trys: [], ops: [] }, f4, y4, t2, g2; + return g2 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g2[Symbol.iterator] = function() { + return this; + }), g2; + function verb(n2) { + return function(v2) { + return step([n2, v2]); + }; + } + function step(op) { + if (f4) + throw new TypeError("Generator is already executing."); + while (g2 && (g2 = 0, op[0] && (_3 = 0)), _3) + try { + if (f4 = 1, y4 && (t2 = op[0] & 2 ? y4["return"] : op[0] ? y4["throw"] || ((t2 = y4["return"]) && t2.call(y4), 0) : y4.next) && !(t2 = t2.call(y4, op[1])).done) + return t2; + if (y4 = 0, t2) + op = [op[0] & 2, t2.value]; + switch (op[0]) { + case 0: + case 1: + t2 = op; + break; + case 4: + _3.label++; + return { value: op[1], done: false }; + case 5: + _3.label++; + y4 = op[1]; + op = [0]; + continue; + case 7: + op = _3.ops.pop(); + _3.trys.pop(); + continue; + default: + if (!(t2 = _3.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _3 = 0; + continue; + } + if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) { + _3.label = op[1]; + break; + } + if (op[0] === 6 && _3.label < t2[1]) { + _3.label = t2[1]; + t2 = op; + break; + } + if (t2 && _3.label < t2[2]) { + _3.label = t2[2]; + _3.ops.push(op); + break; + } + if (t2[2]) + _3.ops.pop(); + _3.trys.pop(); + continue; + } + op = body.call(thisArg, _3); + } catch (e3) { + op = [6, e3]; + y4 = 0; + } finally { + f4 = t2 = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + }; + __exportStar2 = function(m4, o3) { + for (var p3 in m4) + if (p3 !== "default" && !Object.prototype.hasOwnProperty.call(o3, p3)) + __createBinding2(o3, m4, p3); + }; + __createBinding2 = Object.create ? function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + o3[k22] = m4[k4]; + }; + __values2 = function(o3) { + var s2 = typeof Symbol === "function" && Symbol.iterator, m4 = s2 && o3[s2], i3 = 0; + if (m4) + return m4.call(o3); + if (o3 && typeof o3.length === "number") + return { + next: function() { + if (o3 && i3 >= o3.length) + o3 = void 0; + return { value: o3 && o3[i3++], done: !o3 }; + } + }; + throw new TypeError(s2 ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + __read2 = function(o3, n2) { + var m4 = typeof Symbol === "function" && o3[Symbol.iterator]; + if (!m4) + return o3; + var i3 = m4.call(o3), r3, ar2 = [], e3; + try { + while ((n2 === void 0 || n2-- > 0) && !(r3 = i3.next()).done) + ar2.push(r3.value); + } catch (error) { + e3 = { error }; + } finally { + try { + if (r3 && !r3.done && (m4 = i3["return"])) + m4.call(i3); + } finally { + if (e3) + throw e3.error; + } + } + return ar2; + }; + __spread2 = function() { + for (var ar2 = [], i3 = 0; i3 < arguments.length; i3++) + ar2 = ar2.concat(__read2(arguments[i3])); + return ar2; + }; + __spreadArrays2 = function() { + for (var s2 = 0, i3 = 0, il = arguments.length; i3 < il; i3++) + s2 += arguments[i3].length; + for (var r3 = Array(s2), k4 = 0, i3 = 0; i3 < il; i3++) + for (var a3 = arguments[i3], j4 = 0, jl = a3.length; j4 < jl; j4++, k4++) + r3[k4] = a3[j4]; + return r3; + }; + __spreadArray2 = function(to, from, pack) { + if (pack || arguments.length === 2) + for (var i3 = 0, l3 = from.length, ar2; i3 < l3; i3++) { + if (ar2 || !(i3 in from)) { + if (!ar2) + ar2 = Array.prototype.slice.call(from, 0, i3); + ar2[i3] = from[i3]; + } + } + return to.concat(ar2 || Array.prototype.slice.call(from)); + }; + __await2 = function(v2) { + return this instanceof __await2 ? (this.v = v2, this) : new __await2(v2); + }; + __asyncGenerator2 = function(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g2 = generator.apply(thisArg, _arguments || []), i3, q3 = []; + return i3 = {}, verb("next"), verb("throw"), verb("return"), i3[Symbol.asyncIterator] = function() { + return this; + }, i3; + function verb(n2) { + if (g2[n2]) + i3[n2] = function(v2) { + return new Promise(function(a3, b3) { + q3.push([n2, v2, a3, b3]) > 1 || resume(n2, v2); + }); + }; + } + function resume(n2, v2) { + try { + step(g2[n2](v2)); + } catch (e3) { + settle2(q3[0][3], e3); + } + } + function step(r3) { + r3.value instanceof __await2 ? Promise.resolve(r3.value.v).then(fulfill, reject) : settle2(q3[0][2], r3); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle2(f4, v2) { + if (f4(v2), q3.shift(), q3.length) + resume(q3[0][0], q3[0][1]); + } + }; + __asyncDelegator2 = function(o3) { + var i3, p3; + return i3 = {}, verb("next"), verb("throw", function(e3) { + throw e3; + }), verb("return"), i3[Symbol.iterator] = function() { + return this; + }, i3; + function verb(n2, f4) { + i3[n2] = o3[n2] ? function(v2) { + return (p3 = !p3) ? { value: __await2(o3[n2](v2)), done: false } : f4 ? f4(v2) : v2; + } : f4; + } + }; + __asyncValues2 = function(o3) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m4 = o3[Symbol.asyncIterator], i3; + return m4 ? m4.call(o3) : (o3 = typeof __values2 === "function" ? __values2(o3) : o3[Symbol.iterator](), i3 = {}, verb("next"), verb("throw"), verb("return"), i3[Symbol.asyncIterator] = function() { + return this; + }, i3); + function verb(n2) { + i3[n2] = o3[n2] && function(v2) { + return new Promise(function(resolve, reject) { + v2 = o3[n2](v2), settle2(resolve, reject, v2.done, v2.value); + }); + }; + } + function settle2(resolve, reject, d5, v2) { + Promise.resolve(v2).then(function(v3) { + resolve({ value: v3, done: d5 }); + }, reject); + } + }; + __makeTemplateObject2 = function(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; + }; + var __setModuleDefault = Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; + }; + __importStar2 = function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); + } + __setModuleDefault(result, mod); + return result; + }; + __importDefault2 = function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + __classPrivateFieldGet9 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + __classPrivateFieldSet8 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldIn2 = function(state2, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state2 === "function" ? receiver === state2 : state2.has(receiver); + }; + __addDisposableResource2 = function(env2, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") + throw new TypeError("Object expected."); + var dispose; + if (async) { + if (!Symbol.asyncDispose) + throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) + throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + } + if (typeof dispose !== "function") + throw new TypeError("Object not disposable."); + env2.stack.push({ value, dispose, async }); + } else if (async) { + env2.stack.push({ async: true }); + } + return value; + }; + var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e3 = new Error(message); + return e3.name = "SuppressedError", e3.error = error, e3.suppressed = suppressed, e3; + }; + __disposeResources2 = function(env2) { + function fail(e3) { + env2.error = env2.hasError ? new _SuppressedError(e3, env2.error, "An error was suppressed during disposal.") : e3; + env2.hasError = true; + } + function next() { + while (env2.stack.length) { + var rec = env2.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) + return Promise.resolve(result).then(next, function(e3) { + fail(e3); + return next(); + }); + } catch (e3) { + fail(e3); + } + } + if (env2.hasError) + throw env2.error; + } + return next(); + }; + exporter("__extends", __extends2); + exporter("__assign", __assign2); + exporter("__rest", __rest2); + exporter("__decorate", __decorate2); + exporter("__param", __param2); + exporter("__esDecorate", __esDecorate2); + exporter("__runInitializers", __runInitializers2); + exporter("__propKey", __propKey2); + exporter("__setFunctionName", __setFunctionName2); + exporter("__metadata", __metadata2); + exporter("__awaiter", __awaiter2); + exporter("__generator", __generator2); + exporter("__exportStar", __exportStar2); + exporter("__createBinding", __createBinding2); + exporter("__values", __values2); + exporter("__read", __read2); + exporter("__spread", __spread2); + exporter("__spreadArrays", __spreadArrays2); + exporter("__spreadArray", __spreadArray2); + exporter("__await", __await2); + exporter("__asyncGenerator", __asyncGenerator2); + exporter("__asyncDelegator", __asyncDelegator2); + exporter("__asyncValues", __asyncValues2); + exporter("__makeTemplateObject", __makeTemplateObject2); + exporter("__importStar", __importStar2); + exporter("__importDefault", __importDefault2); + exporter("__classPrivateFieldGet", __classPrivateFieldGet9); + exporter("__classPrivateFieldSet", __classPrivateFieldSet8); + exporter("__classPrivateFieldIn", __classPrivateFieldIn2); + exporter("__addDisposableResource", __addDisposableResource2); + exporter("__disposeResources", __disposeResources2); + }); + } +}); + +// node_modules/agent-base/dist/helpers.js +var require_helpers = __commonJS({ + "node_modules/agent-base/dist/helpers.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + o3[k22] = m4[k4]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.req = exports.json = exports.toBuffer = void 0; + var http3 = __importStar2(require("http")); + var https3 = __importStar2(require("https")); + async function toBuffer(stream4) { + let length = 0; + const chunks = []; + for await (const chunk of stream4) { + length += chunk.length; + chunks.push(chunk); + } + return Buffer.concat(chunks, length); + } + exports.toBuffer = toBuffer; + async function json(stream4) { + const buf = await toBuffer(stream4); + const str = buf.toString("utf8"); + try { + return JSON.parse(str); + } catch (_err) { + const err = _err; + err.message += ` (input: ${str})`; + throw err; + } + } + exports.json = json; + function req(url2, opts = {}) { + const href = typeof url2 === "string" ? url2 : url2.href; + const req2 = (href.startsWith("https:") ? https3 : http3).request(url2, opts); + const promise = new Promise((resolve, reject) => { + req2.once("response", resolve).once("error", reject).end(); + }); + req2.then = promise.then.bind(promise); + return req2; + } + exports.req = req; + } +}); + +// node_modules/agent-base/dist/index.js +var require_dist3 = __commonJS({ + "node_modules/agent-base/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + o3[k22] = m4[k4]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); + } + __setModuleDefault(result, mod); + return result; + }; + var __exportStar2 = exports && exports.__exportStar || function(m4, exports2) { + for (var p3 in m4) + if (p3 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p3)) + __createBinding2(exports2, m4, p3); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Agent = void 0; + var net = __importStar2(require("net")); + var http3 = __importStar2(require("http")); + var https_1 = require("https"); + __exportStar2(require_helpers(), exports); + var INTERNAL = Symbol("AgentBaseInternalState"); + var Agent3 = class extends http3.Agent { + constructor(opts) { + super(opts); + this[INTERNAL] = {}; + } + isSecureEndpoint(options) { + if (options) { + if (typeof options.secureEndpoint === "boolean") { + return options.secureEndpoint; + } + if (typeof options.protocol === "string") { + return options.protocol === "https:"; + } + } + const { stack } = new Error(); + if (typeof stack !== "string") + return false; + return stack.split("\n").some((l3) => l3.indexOf("(https.js:") !== -1 || l3.indexOf("node:https:") !== -1); + } + incrementSockets(name) { + if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) { + return null; + } + if (!this.sockets[name]) { + this.sockets[name] = []; + } + const fakeSocket = new net.Socket({ writable: false }); + this.sockets[name].push(fakeSocket); + this.totalSocketCount++; + return fakeSocket; + } + decrementSockets(name, socket) { + if (!this.sockets[name] || socket === null) { + return; + } + const sockets = this.sockets[name]; + const index = sockets.indexOf(socket); + if (index !== -1) { + sockets.splice(index, 1); + this.totalSocketCount--; + if (sockets.length === 0) { + delete this.sockets[name]; + } + } + } + getName(options) { + const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options); + if (secureEndpoint) { + return https_1.Agent.prototype.getName.call(this, options); + } + return super.getName(options); + } + createSocket(req, options, cb) { + const connectOpts = { + ...options, + secureEndpoint: this.isSecureEndpoint(options) + }; + const name = this.getName(connectOpts); + const fakeSocket = this.incrementSockets(name); + Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => { + this.decrementSockets(name, fakeSocket); + if (socket instanceof http3.Agent) { + return socket.addRequest(req, connectOpts); + } + this[INTERNAL].currentSocket = socket; + super.createSocket(req, options, cb); + }, (err) => { + this.decrementSockets(name, fakeSocket); + cb(err); + }); + } + createConnection() { + const socket = this[INTERNAL].currentSocket; + this[INTERNAL].currentSocket = void 0; + if (!socket) { + throw new Error("No socket was returned in the `connect()` function"); + } + return socket; + } + get defaultPort() { + return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80); + } + set defaultPort(v2) { + if (this[INTERNAL]) { + this[INTERNAL].defaultPort = v2; + } + } + get protocol() { + return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:"); + } + set protocol(v2) { + if (this[INTERNAL]) { + this[INTERNAL].protocol = v2; + } + } + }; + exports.Agent = Agent3; + } +}); + +// node_modules/https-proxy-agent/dist/parse-proxy-response.js +var require_parse_proxy_response = __commonJS({ + "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseProxyResponse = void 0; + var debug_1 = __importDefault2(require_src2()); + var debug2 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response"); + function parseProxyResponse(socket) { + return new Promise((resolve, reject) => { + let buffersLength = 0; + const buffers = []; + function read() { + const b3 = socket.read(); + if (b3) + ondata(b3); + else + socket.once("readable", read); + } + function cleanup() { + socket.removeListener("end", onend); + socket.removeListener("error", onerror); + socket.removeListener("readable", read); + } + function onend() { + cleanup(); + debug2("onend"); + reject(new Error("Proxy connection ended before receiving CONNECT response")); + } + function onerror(err) { + cleanup(); + debug2("onerror %o", err); + reject(err); + } + function ondata(b3) { + buffers.push(b3); + buffersLength += b3.length; + const buffered = Buffer.concat(buffers, buffersLength); + const endOfHeaders = buffered.indexOf("\r\n\r\n"); + if (endOfHeaders === -1) { + debug2("have not received end of HTTP headers yet..."); + read(); + return; + } + const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n"); + const firstLine = headerParts.shift(); + if (!firstLine) { + socket.destroy(); + return reject(new Error("No header received from proxy CONNECT response")); + } + const firstLineParts = firstLine.split(" "); + const statusCode = +firstLineParts[1]; + const statusText = firstLineParts.slice(2).join(" "); + const headers = {}; + for (const header of headerParts) { + if (!header) + continue; + const firstColon = header.indexOf(":"); + if (firstColon === -1) { + socket.destroy(); + return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`)); + } + const key = header.slice(0, firstColon).toLowerCase(); + const value = header.slice(firstColon + 1).trimStart(); + const current = headers[key]; + if (typeof current === "string") { + headers[key] = [current, value]; + } else if (Array.isArray(current)) { + current.push(value); + } else { + headers[key] = value; + } + } + debug2("got proxy server response: %o %o", firstLine, headers); + cleanup(); + resolve({ + connect: { + statusCode, + statusText, + headers + }, + buffered + }); + } + socket.on("error", onerror); + socket.on("end", onend); + read(); + }); + } + exports.parseProxyResponse = parseProxyResponse; + } +}); + +// node_modules/https-proxy-agent/dist/index.js +var require_dist4 = __commonJS({ + "node_modules/https-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + o3[k22] = m4[k4]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); + } + __setModuleDefault(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpsProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var assert_1 = __importDefault2(require("assert")); + var debug_1 = __importDefault2(require_src2()); + var agent_base_1 = require_dist3(); + var url_1 = require("url"); + var parse_proxy_response_1 = require_parse_proxy_response(); + var debug2 = (0, debug_1.default)("https-proxy-agent"); + var HttpsProxyAgent2 = class extends agent_base_1.Agent { + constructor(proxy, opts) { + super(opts); + this.options = { path: void 0 }; + this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; + this.connectOpts = { + ALPNProtocols: ["http/1.1"], + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + async connect(req, opts) { + const { proxy } = this; + if (!opts.host) { + throw new TypeError('No "host" provided'); + } + let socket; + if (proxy.protocol === "https:") { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + const servername = this.connectOpts.servername || this.connectOpts.host; + socket = tls.connect({ + ...this.connectOpts, + servername: servername && net.isIP(servername) ? void 0 : servername + }); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host; + let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r +`; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + headers.Host = `${host}:${opts.port}`; + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + payload += `${name}: ${headers[name]}\r +`; + } + const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket); + socket.write(`${payload}\r +`); + const { connect, buffered } = await proxyResponsePromise; + req.emit("proxyConnect", connect); + this.emit("proxyConnect", connect, req); + if (connect.statusCode === 200) { + req.once("socket", resume); + if (opts.secureEndpoint) { + debug2("Upgrading socket connection to TLS"); + const servername = opts.servername || opts.host; + return tls.connect({ + ...omit(opts, "host", "path", "port"), + socket, + servername: net.isIP(servername) ? void 0 : servername + }); + } + return socket; + } + socket.destroy(); + const fakeSocket = new net.Socket({ writable: false }); + fakeSocket.readable = true; + req.once("socket", (s2) => { + debug2("Replaying proxy buffer for failed request"); + (0, assert_1.default)(s2.listenerCount("data") > 0); + s2.push(buffered); + s2.push(null); + }); + return fakeSocket; + } + }; + HttpsProxyAgent2.protocols = ["http", "https"]; + exports.HttpsProxyAgent = HttpsProxyAgent2; + function resume(socket) { + socket.resume(); + } + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// node_modules/http-proxy-agent/dist/index.js +var require_dist5 = __commonJS({ + "node_modules/http-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + var desc = Object.getOwnPropertyDescriptor(m4, k4); + if (!desc || ("get" in desc ? !m4.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m4[k4]; + } }; + } + Object.defineProperty(o3, k22, desc); + } : function(o3, m4, k4, k22) { + if (k22 === void 0) + k22 = k4; + o3[k22] = m4[k4]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o3, v2) { + Object.defineProperty(o3, "default", { enumerable: true, value: v2 }); + } : function(o3, v2) { + o3["default"] = v2; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k4 in mod) + if (k4 !== "default" && Object.prototype.hasOwnProperty.call(mod, k4)) + __createBinding2(result, mod, k4); + } + __setModuleDefault(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var debug_1 = __importDefault2(require_src2()); + var events_1 = require("events"); + var agent_base_1 = require_dist3(); + var url_1 = require("url"); + var debug2 = (0, debug_1.default)("http-proxy-agent"); + var HttpProxyAgent2 = class extends agent_base_1.Agent { + constructor(proxy, opts) { + super(opts); + this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; + this.connectOpts = { + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + addRequest(req, opts) { + req._header = null; + this.setRequestProps(req, opts); + super.addRequest(req, opts); + } + setRequestProps(req, opts) { + const { proxy } = this; + const protocol = opts.secureEndpoint ? "https:" : "http:"; + const hostname = req.getHeader("host") || "localhost"; + const base = `${protocol}//${hostname}`; + const url2 = new url_1.URL(req.path, base); + if (opts.port !== 80) { + url2.port = String(opts.port); + } + req.path = String(url2); + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + const value = headers[name]; + if (value) { + req.setHeader(name, value); + } + } + } + async connect(req, opts) { + req._header = null; + if (!req.path.includes("://")) { + this.setRequestProps(req, opts); + } + let first; + let endOfHeaders; + debug2("Regenerating stored HTTP header string for request"); + req._implicitHeader(); + if (req.outputData && req.outputData.length > 0) { + debug2("Patching connection write() output buffer with updated header"); + first = req.outputData[0].data; + endOfHeaders = first.indexOf("\r\n\r\n") + 4; + req.outputData[0].data = req._header + first.substring(endOfHeaders); + debug2("Output buffer: %o", req.outputData[0].data); + } + let socket; + if (this.proxy.protocol === "https:") { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + socket = tls.connect(this.connectOpts); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + await (0, events_1.once)(socket, "connect"); + return socket; + } + }; + HttpProxyAgent2.protocols = ["http", "https"]; + exports.HttpProxyAgent = HttpProxyAgent2; + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// node_modules/@azure/core-tracing/dist/commonjs/state.js +var require_state2 = __commonJS({ + "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.state = void 0; + exports.state = { + instrumenterImplementation: void 0 + }; + } +}); + +// node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs +function t() { +} +function r2(e3) { + return "object" == typeof e3 && null !== e3 || "function" == typeof e3; +} +function n(e3, t2) { + try { + Object.defineProperty(e3, "name", { value: t2, configurable: true }); + } catch (e4) { + } +} +function u2(e3) { + return new a2(e3); +} +function c(e3) { + return l2(e3); +} +function d4(e3) { + return s(e3); +} +function f3(e3, t2, r3) { + return i2.call(e3, t2, r3); +} +function b2(e3, t2, r3) { + f3(f3(e3, t2, r3), void 0, o2); +} +function h2(e3, t2) { + b2(e3, t2); +} +function _2(e3, t2) { + b2(e3, void 0, t2); +} +function p2(e3, t2, r3) { + return f3(e3, t2, r3); +} +function m3(e3) { + f3(e3, void 0, o2); +} +function g(e3, t2, r3) { + if ("function" != typeof e3) + throw new TypeError("Argument is not a function"); + return Function.prototype.apply.call(e3, t2, r3); +} +function w3(e3, t2, r3) { + try { + return c(g(e3, t2, r3)); + } catch (e4) { + return d4(e4); + } +} +function E2(e3, t2) { + e3._ownerReadableStream = t2, t2._reader = e3, "readable" === t2._state ? O2(e3) : "closed" === t2._state ? function(e4) { + O2(e4), j3(e4); + }(e3) : B(e3, t2._storedError); +} +function P2(e3, t2) { + return Gt(e3._ownerReadableStream, t2); +} +function W3(e3) { + const t2 = e3._ownerReadableStream; + "readable" === t2._state ? A2(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")) : function(e4, t3) { + B(e4, t3); + }(e3, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")), t2._readableStreamController[C2](), t2._reader = void 0, e3._ownerReadableStream = void 0; +} +function k3(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released reader"); +} +function O2(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3; + }); +} +function B(e3, t2) { + O2(e3), A2(e3, t2); +} +function A2(e3, t2) { + void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function j3(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0); +} +function F2(e3, t2) { + if (void 0 !== e3 && ("object" != typeof (r3 = e3) && "function" != typeof r3)) + throw new TypeError(`${t2} is not an object.`); + var r3; +} +function I(e3, t2) { + if ("function" != typeof e3) + throw new TypeError(`${t2} is not a function.`); +} +function D3(e3, t2) { + if (!function(e4) { + return "object" == typeof e4 && null !== e4 || "function" == typeof e4; + }(e3)) + throw new TypeError(`${t2} is not an object.`); +} +function $3(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`Parameter ${t2} is required in '${r3}'.`); +} +function M3(e3, t2, r3) { + if (void 0 === e3) + throw new TypeError(`${t2} is required in '${r3}'.`); +} +function Y2(e3) { + return Number(e3); +} +function Q2(e3) { + return 0 === e3 ? 0 : e3; +} +function N3(e3, t2) { + const r3 = Number.MAX_SAFE_INTEGER; + let o3 = Number(e3); + if (o3 = Q2(o3), !z2(o3)) + throw new TypeError(`${t2} is not a finite number`); + if (o3 = function(e4) { + return Q2(L3(e4)); + }(o3), o3 < 0 || o3 > r3) + throw new TypeError(`${t2} is outside the accepted range of 0 to ${r3}, inclusive`); + return z2(o3) && 0 !== o3 ? o3 : 0; +} +function H2(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getReader) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function x(e3) { + if (!r2(e3)) + return false; + if ("function" != typeof e3.getWriter) + return false; + try { + return "boolean" == typeof e3.locked; + } catch (e4) { + return false; + } +} +function V3(e3, t2) { + if (!Vt(e3)) + throw new TypeError(`${t2} is not a ReadableStream.`); +} +function U4(e3, t2) { + e3._reader._readRequests.push(t2); +} +function G3(e3, t2, r3) { + const o3 = e3._reader._readRequests.shift(); + r3 ? o3._closeSteps() : o3._chunkSteps(t2); +} +function X3(e3) { + return e3._reader._readRequests.length; +} +function J3(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!K2(t2); +} +function K2(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readRequests") && e3 instanceof ReadableStreamDefaultReader); +} +function Z2(e3, t2) { + const r3 = e3._readRequests; + e3._readRequests = new S2(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function ee(e3) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${e3} can only be used on a ReadableStreamDefaultReader`); +} +function oe(e3) { + if (!r2(e3)) + return false; + if (!Object.prototype.hasOwnProperty.call(e3, "_asyncIteratorImpl")) + return false; + try { + return e3._asyncIteratorImpl instanceof te; + } catch (e4) { + return false; + } +} +function ne(e3) { + return new TypeError(`ReadableStreamAsyncIterator.${e3} can only be used on a ReadableSteamAsyncIterator`); +} +function ie2(e3, t2, r3, o3, n2) { + new Uint8Array(e3).set(new Uint8Array(r3, o3, n2), t2); +} +function le2(e3) { + const t2 = function(e4, t3, r3) { + if (e4.slice) + return e4.slice(t3, r3); + const o3 = r3 - t3, n2 = new ArrayBuffer(o3); + return ie2(n2, 0, e4, t3, o3), n2; + }(e3.buffer, e3.byteOffset, e3.byteOffset + e3.byteLength); + return new Uint8Array(t2); +} +function se(e3) { + const t2 = e3._queue.shift(); + return e3._queueTotalSize -= t2.size, e3._queueTotalSize < 0 && (e3._queueTotalSize = 0), t2.value; +} +function ue2(e3, t2, r3) { + if ("number" != typeof (o3 = r3) || ae2(o3) || o3 < 0 || r3 === 1 / 0) + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + var o3; + e3._queue.push({ value: t2, size: r3 }), e3._queueTotalSize += r3; +} +function ce2(e3) { + e3._queue = new S2(), e3._queueTotalSize = 0; +} +function de(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableByteStream") && e3 instanceof ReadableByteStreamController); +} +function fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_associatedReadableByteStreamController") && e3 instanceof ReadableStreamBYOBRequest); +} +function be(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableByteStream; + if ("readable" !== t3._state) + return false; + if (e4._closeRequested) + return false; + if (!e4._started) + return false; + if (J3(t3) && X3(t3) > 0) + return true; + if (Le(t3) && ze(t3) > 0) + return true; + if (ke(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, be(e3)), null), (t3) => (Pe(e3, t3), null)); +} +function he(e3) { + Re(e3), e3._pendingPullIntos = new S2(); +} +function _e(e3, t2) { + let r3 = false; + "closed" === e3._state && (r3 = true); + const o3 = pe(t2); + "default" === t2.readerType ? G3(e3, o3, r3) : function(e4, t3, r4) { + const o4 = e4._reader._readIntoRequests.shift(); + r4 ? o4._closeSteps(t3) : o4._chunkSteps(t3); + }(e3, o3, r3); +} +function pe(e3) { + const t2 = e3.bytesFilled, r3 = e3.elementSize; + return new e3.viewConstructor(e3.buffer, e3.byteOffset, t2 / r3); +} +function me(e3, t2, r3, o3) { + e3._queue.push({ buffer: t2, byteOffset: r3, byteLength: o3 }), e3._queueTotalSize += o3; +} +function ye(e3, t2, r3, o3) { + let n2; + try { + n2 = t2.slice(r3, r3 + o3); + } catch (t3) { + throw Pe(e3, t3), t3; + } + me(e3, n2, 0, o3); +} +function ge(e3, t2) { + t2.bytesFilled > 0 && ye(e3, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e3); +} +function we(e3, t2) { + const r3 = t2.elementSize, o3 = t2.bytesFilled - t2.bytesFilled % r3, n2 = Math.min(e3._queueTotalSize, t2.byteLength - t2.bytesFilled), a3 = t2.bytesFilled + n2, i3 = a3 - a3 % r3; + let l3 = n2, s2 = false; + i3 > o3 && (l3 = i3 - t2.bytesFilled, s2 = true); + const u3 = e3._queue; + for (; l3 > 0; ) { + const r4 = u3.peek(), o4 = Math.min(l3, r4.byteLength), n3 = t2.byteOffset + t2.bytesFilled; + ie2(t2.buffer, n3, r4.buffer, r4.byteOffset, o4), r4.byteLength === o4 ? u3.shift() : (r4.byteOffset += o4, r4.byteLength -= o4), e3._queueTotalSize -= o4, Se(e3, o4, t2), l3 -= o4; + } + return s2; +} +function Se(e3, t2, r3) { + r3.bytesFilled += t2; +} +function ve(e3) { + 0 === e3._queueTotalSize && e3._closeRequested ? (Ee(e3), Xt(e3._controlledReadableByteStream)) : be(e3); +} +function Re(e3) { + null !== e3._byobRequest && (e3._byobRequest._associatedReadableByteStreamController = void 0, e3._byobRequest._view = null, e3._byobRequest = null); +} +function Te(e3) { + for (; e3._pendingPullIntos.length > 0; ) { + if (0 === e3._queueTotalSize) + return; + const t2 = e3._pendingPullIntos.peek(); + we(e3, t2) && (Ce(e3), _e(e3._controlledReadableByteStream, t2)); + } +} +function qe(e3, t2) { + const r3 = e3._pendingPullIntos.peek(); + Re(e3); + "closed" === e3._controlledReadableByteStream._state ? function(e4, t3) { + "none" === t3.readerType && Ce(e4); + const r4 = e4._controlledReadableByteStream; + if (Le(r4)) + for (; ze(r4) > 0; ) + _e(r4, Ce(e4)); + }(e3, r3) : function(e4, t3, r4) { + if (Se(0, t3, r4), "none" === r4.readerType) + return ge(e4, r4), void Te(e4); + if (r4.bytesFilled < r4.elementSize) + return; + Ce(e4); + const o3 = r4.bytesFilled % r4.elementSize; + if (o3 > 0) { + const t4 = r4.byteOffset + r4.bytesFilled; + ye(e4, r4.buffer, t4 - o3, o3); + } + r4.bytesFilled -= o3, _e(e4._controlledReadableByteStream, r4), Te(e4); + }(e3, t2, r3), be(e3); +} +function Ce(e3) { + return e3._pendingPullIntos.shift(); +} +function Ee(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0; +} +function Pe(e3, t2) { + const r3 = e3._controlledReadableByteStream; + "readable" === r3._state && (he(e3), ce2(e3), Ee(e3), Jt(r3, t2)); +} +function We(e3, t2) { + const r3 = e3._queue.shift(); + e3._queueTotalSize -= r3.byteLength, ve(e3); + const o3 = new Uint8Array(r3.buffer, r3.byteOffset, r3.byteLength); + t2._chunkSteps(o3); +} +function ke(e3) { + const t2 = e3._controlledReadableByteStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Oe(e3, t2, r3) { + const o3 = Object.create(ReadableByteStreamController.prototype); + let n2, a3, i3; + n2 = void 0 !== t2.start ? () => t2.start(o3) : () => { + }, a3 = void 0 !== t2.pull ? () => t2.pull(o3) : () => c(void 0), i3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0); + const l3 = t2.autoAllocateChunkSize; + if (0 === l3) + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + !function(e4, t3, r4, o4, n3, a4, i4) { + t3._controlledReadableByteStream = e4, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce2(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i4, t3._pendingPullIntos = new S2(), e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, be(t3), null), (e5) => (Pe(t3, e5), null)); + }(e3, o3, n2, a3, i3, r3, l3); +} +function Be(e3) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${e3} can only be used on a ReadableStreamBYOBRequest`); +} +function Ae(e3) { + return new TypeError(`ReadableByteStreamController.prototype.${e3} can only be used on a ReadableByteStreamController`); +} +function je(e3, t2) { + e3._reader._readIntoRequests.push(t2); +} +function ze(e3) { + return e3._reader._readIntoRequests.length; +} +function Le(e3) { + const t2 = e3._reader; + return void 0 !== t2 && !!Fe(t2); +} +function Fe(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readIntoRequests") && e3 instanceof ReadableStreamBYOBReader); +} +function Ie(e3, t2) { + const r3 = e3._readIntoRequests; + e3._readIntoRequests = new S2(), r3.forEach((e4) => { + e4._errorSteps(t2); + }); +} +function De(e3) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${e3} can only be used on a ReadableStreamBYOBReader`); +} +function $e(e3, t2) { + const { highWaterMark: r3 } = e3; + if (void 0 === r3) + return t2; + if (ae2(r3) || r3 < 0) + throw new RangeError("Invalid highWaterMark"); + return r3; +} +function Me(e3) { + const { size: t2 } = e3; + return t2 || (() => 1); +} +function Ye(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark, o3 = null == e3 ? void 0 : e3.size; + return { highWaterMark: void 0 === r3 ? void 0 : Y2(r3), size: void 0 === o3 ? void 0 : Qe(o3, `${t2} has member 'size' that`) }; +} +function Qe(e3, t2) { + return I(e3, t2), (t3) => Y2(e3(t3)); +} +function Ne(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function He(e3, t2, r3) { + return I(e3, r3), () => w3(e3, t2, []); +} +function xe(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function Ve(e3, t2, r3) { + return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); +} +function Ge(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_writableStreamController") && e3 instanceof WritableStream); +} +function Xe(e3) { + return void 0 !== e3._writer; +} +function Je(e3, t2) { + var r3; + if ("closed" === e3._state || "errored" === e3._state) + return c(void 0); + e3._writableStreamController._abortReason = t2, null === (r3 = e3._writableStreamController._abortController) || void 0 === r3 || r3.abort(t2); + const o3 = e3._state; + if ("closed" === o3 || "errored" === o3) + return c(void 0); + if (void 0 !== e3._pendingAbortRequest) + return e3._pendingAbortRequest._promise; + let n2 = false; + "erroring" === o3 && (n2 = true, t2 = void 0); + const a3 = u2((r4, o4) => { + e3._pendingAbortRequest = { _promise: void 0, _resolve: r4, _reject: o4, _reason: t2, _wasAlreadyErroring: n2 }; + }); + return e3._pendingAbortRequest._promise = a3, n2 || et(e3, t2), a3; +} +function Ke(e3) { + const t2 = e3._state; + if ("closed" === t2 || "errored" === t2) + return d4(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`)); + const r3 = u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e3._closeRequest = o4; + }), o3 = e3._writer; + var n2; + return void 0 !== o3 && e3._backpressure && "writable" === t2 && Et(o3), ue2(n2 = e3._writableStreamController, lt, 0), dt(n2), r3; +} +function Ze(e3, t2) { + "writable" !== e3._state ? tt(e3) : et(e3, t2); +} +function et(e3, t2) { + const r3 = e3._writableStreamController; + e3._state = "erroring", e3._storedError = t2; + const o3 = e3._writer; + void 0 !== o3 && it(o3, t2), !function(e4) { + if (void 0 === e4._inFlightWriteRequest && void 0 === e4._inFlightCloseRequest) + return false; + return true; + }(e3) && r3._started && tt(e3); +} +function tt(e3) { + e3._state = "errored", e3._writableStreamController[R2](); + const t2 = e3._storedError; + if (e3._writeRequests.forEach((e4) => { + e4._reject(t2); + }), e3._writeRequests = new S2(), void 0 === e3._pendingAbortRequest) + return void ot(e3); + const r3 = e3._pendingAbortRequest; + if (e3._pendingAbortRequest = void 0, r3._wasAlreadyErroring) + return r3._reject(t2), void ot(e3); + b2(e3._writableStreamController[v](r3._reason), () => (r3._resolve(), ot(e3), null), (t3) => (r3._reject(t3), ot(e3), null)); +} +function rt(e3) { + return void 0 !== e3._closeRequest || void 0 !== e3._inFlightCloseRequest; +} +function ot(e3) { + void 0 !== e3._closeRequest && (e3._closeRequest._reject(e3._storedError), e3._closeRequest = void 0); + const t2 = e3._writer; + void 0 !== t2 && St(t2, e3._storedError); +} +function nt(e3, t2) { + const r3 = e3._writer; + void 0 !== r3 && t2 !== e3._backpressure && (t2 ? function(e4) { + Rt(e4); + }(r3) : Et(r3)), e3._backpressure = t2; +} +function at(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_ownerWritableStream") && e3 instanceof WritableStreamDefaultWriter); +} +function it(e3, t2) { + "pending" === e3._readyPromiseState ? Ct(e3, t2) : function(e4, t3) { + Tt(e4, t3); + }(e3, t2); +} +function st(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledWritableStream") && e3 instanceof WritableStreamDefaultController); +} +function ut(e3) { + e3._writeAlgorithm = void 0, e3._closeAlgorithm = void 0, e3._abortAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function ct(e3) { + return e3._strategyHWM - e3._queueTotalSize; +} +function dt(e3) { + const t2 = e3._controlledWritableStream; + if (!e3._started) + return; + if (void 0 !== t2._inFlightWriteRequest) + return; + if ("erroring" === t2._state) + return void tt(t2); + if (0 === e3._queue.length) + return; + const r3 = e3._queue.peek().value; + r3 === lt ? function(e4) { + const t3 = e4._controlledWritableStream; + (function(e5) { + e5._inFlightCloseRequest = e5._closeRequest, e5._closeRequest = void 0; + })(t3), se(e4); + const r4 = e4._closeAlgorithm(); + ut(e4), b2(r4, () => (function(e5) { + e5._inFlightCloseRequest._resolve(void 0), e5._inFlightCloseRequest = void 0, "erroring" === e5._state && (e5._storedError = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._resolve(), e5._pendingAbortRequest = void 0)), e5._state = "closed"; + const t4 = e5._writer; + void 0 !== t4 && vt(t4); + }(t3), null), (e5) => (function(e6, t4) { + e6._inFlightCloseRequest._reject(t4), e6._inFlightCloseRequest = void 0, void 0 !== e6._pendingAbortRequest && (e6._pendingAbortRequest._reject(t4), e6._pendingAbortRequest = void 0), Ze(e6, t4); + }(t3, e5), null)); + }(e3) : function(e4, t3) { + const r4 = e4._controlledWritableStream; + !function(e5) { + e5._inFlightWriteRequest = e5._writeRequests.shift(); + }(r4); + b2(e4._writeAlgorithm(t3), () => { + !function(e5) { + e5._inFlightWriteRequest._resolve(void 0), e5._inFlightWriteRequest = void 0; + }(r4); + const t4 = r4._state; + if (se(e4), !rt(r4) && "writable" === t4) { + const t5 = bt(e4); + nt(r4, t5); + } + return dt(e4), null; + }, (t4) => ("writable" === r4._state && ut(e4), function(e5, t5) { + e5._inFlightWriteRequest._reject(t5), e5._inFlightWriteRequest = void 0, Ze(e5, t5); + }(r4, t4), null)); + }(e3, r3); +} +function ft(e3, t2) { + "writable" === e3._controlledWritableStream._state && ht(e3, t2); +} +function bt(e3) { + return ct(e3) <= 0; +} +function ht(e3, t2) { + const r3 = e3._controlledWritableStream; + ut(e3), et(r3, t2); +} +function _t(e3) { + return new TypeError(`WritableStream.prototype.${e3} can only be used on a WritableStream`); +} +function pt(e3) { + return new TypeError(`WritableStreamDefaultController.prototype.${e3} can only be used on a WritableStreamDefaultController`); +} +function mt(e3) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${e3} can only be used on a WritableStreamDefaultWriter`); +} +function yt(e3) { + return new TypeError("Cannot " + e3 + " a stream using a released writer"); +} +function gt(e3) { + e3._closedPromise = u2((t2, r3) => { + e3._closedPromise_resolve = t2, e3._closedPromise_reject = r3, e3._closedPromiseState = "pending"; + }); +} +function wt(e3, t2) { + gt(e3), St(e3, t2); +} +function St(e3, t2) { + void 0 !== e3._closedPromise_reject && (m3(e3._closedPromise), e3._closedPromise_reject(t2), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "rejected"); +} +function vt(e3) { + void 0 !== e3._closedPromise_resolve && (e3._closedPromise_resolve(void 0), e3._closedPromise_resolve = void 0, e3._closedPromise_reject = void 0, e3._closedPromiseState = "resolved"); +} +function Rt(e3) { + e3._readyPromise = u2((t2, r3) => { + e3._readyPromise_resolve = t2, e3._readyPromise_reject = r3; + }), e3._readyPromiseState = "pending"; +} +function Tt(e3, t2) { + Rt(e3), Ct(e3, t2); +} +function qt(e3) { + Rt(e3), Et(e3); +} +function Ct(e3, t2) { + void 0 !== e3._readyPromise_reject && (m3(e3._readyPromise), e3._readyPromise_reject(t2), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "rejected"); +} +function Et(e3) { + void 0 !== e3._readyPromise_resolve && (e3._readyPromise_resolve(void 0), e3._readyPromise_resolve = void 0, e3._readyPromise_reject = void 0, e3._readyPromiseState = "fulfilled"); +} +function kt(e3, t2, r3, o3, n2, a3) { + const i3 = e3.getReader(), l3 = t2.getWriter(); + Vt(e3) && (e3._disturbed = true); + let s2, _3, g2, w4 = false, S3 = false, v2 = "readable", R3 = "writable", T3 = false, q3 = false; + const C3 = u2((e4) => { + g2 = e4; + }); + let E3 = Promise.resolve(void 0); + return u2((P3, W4) => { + let k4; + function O3() { + if (w4) + return; + const e4 = u2((e5, t3) => { + !function r4(o4) { + o4 ? e5() : f3(function() { + if (w4) + return c(true); + return f3(l3.ready, () => f3(i3.read(), (e6) => !!e6.done || (E3 = l3.write(e6.value), m3(E3), false))); + }(), r4, t3); + }(false); + }); + m3(e4); + } + function B2() { + return v2 = "closed", r3 ? L4() : z3(() => (Ge(t2) && (T3 = rt(t2), R3 = t2._state), T3 || "closed" === R3 ? c(void 0) : "erroring" === R3 || "errored" === R3 ? d4(_3) : (T3 = true, l3.close())), false, void 0), null; + } + function A3(e4) { + return w4 || (v2 = "errored", s2 = e4, o3 ? L4(true, e4) : z3(() => l3.abort(e4), true, e4)), null; + } + function j4(e4) { + return S3 || (R3 = "errored", _3 = e4, n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4)), null; + } + if (void 0 !== a3 && (k4 = () => { + const e4 = void 0 !== a3.reason ? a3.reason : new Wt("Aborted", "AbortError"), t3 = []; + o3 || t3.push(() => "writable" === R3 ? l3.abort(e4) : c(void 0)), n2 || t3.push(() => "readable" === v2 ? i3.cancel(e4) : c(void 0)), z3(() => Promise.all(t3.map((e5) => e5())), true, e4); + }, a3.aborted ? k4() : a3.addEventListener("abort", k4)), Vt(e3) && (v2 = e3._state, s2 = e3._storedError), Ge(t2) && (R3 = t2._state, _3 = t2._storedError, T3 = rt(t2)), Vt(e3) && Ge(t2) && (q3 = true, g2()), "errored" === v2) + A3(s2); + else if ("erroring" === R3 || "errored" === R3) + j4(_3); + else if ("closed" === v2) + B2(); + else if (T3 || "closed" === R3) { + const e4 = new TypeError("the destination writable stream closed before all data could be piped to it"); + n2 ? L4(true, e4) : z3(() => i3.cancel(e4), true, e4); + } + function z3(e4, t3, r4) { + function o4() { + return "writable" !== R3 || T3 ? n3() : h2(function() { + let e5; + return c(function t4() { + if (e5 !== E3) + return e5 = E3, p2(E3, t4, t4); + }()); + }(), n3), null; + } + function n3() { + return e4 ? b2(e4(), () => F3(t3, r4), (e5) => F3(true, e5)) : F3(t3, r4), null; + } + w4 || (w4 = true, q3 ? o4() : h2(C3, o4)); + } + function L4(e4, t3) { + z3(void 0, e4, t3); + } + function F3(e4, t3) { + return S3 = true, l3.releaseLock(), i3.releaseLock(), void 0 !== a3 && a3.removeEventListener("abort", k4), e4 ? W4(t3) : P3(void 0), null; + } + w4 || (b2(i3.closed, B2, A3), b2(l3.closed, function() { + return S3 || (R3 = "closed"), null; + }, j4)), q3 ? O3() : y3(() => { + q3 = true, g2(), O3(); + }); + }); +} +function Ot(e3, t2) { + return function(e4) { + try { + return e4.getReader({ mode: "byob" }).releaseLock(), true; + } catch (e5) { + return false; + } + }(e3) ? function(e4) { + let t3, r3, o3, n2, a3, i3 = e4.getReader(), l3 = false, s2 = false, d5 = false, f4 = false, h3 = false, p3 = false; + const m4 = u2((e5) => { + a3 = e5; + }); + function y4(e5) { + _2(e5.closed, (t4) => (e5 !== i3 || (o3.error(t4), n2.error(t4), h3 && p3 || a3(void 0)), null)); + } + function g2() { + l3 && (i3.releaseLock(), i3 = e4.getReader(), y4(i3), l3 = false), b2(i3.read(), (e5) => { + var t4, r4; + if (d5 = false, f4 = false, e5.done) + return h3 || o3.close(), p3 || n2.close(), null === (t4 = o3.byobRequest) || void 0 === t4 || t4.respond(0), null === (r4 = n2.byobRequest) || void 0 === r4 || r4.respond(0), h3 && p3 || a3(void 0), null; + const l4 = e5.value, u3 = l4; + let c2 = l4; + if (!h3 && !p3) + try { + c2 = le2(l4); + } catch (e6) { + return o3.error(e6), n2.error(e6), a3(i3.cancel(e6)), null; + } + return h3 || o3.enqueue(u3), p3 || n2.enqueue(c2), s2 = false, d5 ? S3() : f4 && v2(), null; + }, () => (s2 = false, null)); + } + function w4(t4, r4) { + l3 || (i3.releaseLock(), i3 = e4.getReader({ mode: "byob" }), y4(i3), l3 = true); + const u3 = r4 ? n2 : o3, c2 = r4 ? o3 : n2; + b2(i3.read(t4), (e5) => { + var t5; + d5 = false, f4 = false; + const o4 = r4 ? p3 : h3, n3 = r4 ? h3 : p3; + if (e5.done) { + o4 || u3.close(), n3 || c2.close(); + const r5 = e5.value; + return void 0 !== r5 && (o4 || u3.byobRequest.respondWithNewView(r5), n3 || null === (t5 = c2.byobRequest) || void 0 === t5 || t5.respond(0)), o4 && n3 || a3(void 0), null; + } + const l4 = e5.value; + if (n3) + o4 || u3.byobRequest.respondWithNewView(l4); + else { + let e6; + try { + e6 = le2(l4); + } catch (e7) { + return u3.error(e7), c2.error(e7), a3(i3.cancel(e7)), null; + } + o4 || u3.byobRequest.respondWithNewView(l4), c2.enqueue(e6); + } + return s2 = false, d5 ? S3() : f4 && v2(), null; + }, () => (s2 = false, null)); + } + function S3() { + if (s2) + return d5 = true, c(void 0); + s2 = true; + const e5 = o3.byobRequest; + return null === e5 ? g2() : w4(e5.view, false), c(void 0); + } + function v2() { + if (s2) + return f4 = true, c(void 0); + s2 = true; + const e5 = n2.byobRequest; + return null === e5 ? g2() : w4(e5.view, true), c(void 0); + } + function R3(e5) { + if (h3 = true, t3 = e5, p3) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a3(o4); + } + return m4; + } + function T3(e5) { + if (p3 = true, r3 = e5, h3) { + const e6 = [t3, r3], o4 = i3.cancel(e6); + a3(o4); + } + return m4; + } + const q3 = new ReadableStream3({ type: "bytes", start(e5) { + o3 = e5; + }, pull: S3, cancel: R3 }), C3 = new ReadableStream3({ type: "bytes", start(e5) { + n2 = e5; + }, pull: v2, cancel: T3 }); + return y4(i3), [q3, C3]; + }(e3) : function(e4, t3) { + const r3 = e4.getReader(); + let o3, n2, a3, i3, l3, s2 = false, d5 = false, f4 = false, h3 = false; + const p3 = u2((e5) => { + l3 = e5; + }); + function m4() { + return s2 ? (d5 = true, c(void 0)) : (s2 = true, b2(r3.read(), (e5) => { + if (d5 = false, e5.done) + return f4 || a3.close(), h3 || i3.close(), f4 && h3 || l3(void 0), null; + const t4 = e5.value, r4 = t4, o4 = t4; + return f4 || a3.enqueue(r4), h3 || i3.enqueue(o4), s2 = false, d5 && m4(), null; + }, () => (s2 = false, null)), c(void 0)); + } + function y4(e5) { + if (f4 = true, o3 = e5, h3) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p3; + } + function g2(e5) { + if (h3 = true, n2 = e5, f4) { + const e6 = [o3, n2], t4 = r3.cancel(e6); + l3(t4); + } + return p3; + } + const w4 = new ReadableStream3({ start(e5) { + a3 = e5; + }, pull: m4, cancel: y4 }), S3 = new ReadableStream3({ start(e5) { + i3 = e5; + }, pull: m4, cancel: g2 }); + return _2(r3.closed, (e5) => (a3.error(e5), i3.error(e5), f4 && h3 || l3(void 0), null)), [w4, S3]; + }(e3); +} +function Bt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledReadableStream") && e3 instanceof ReadableStreamDefaultController); +} +function At(e3) { + const t2 = function(e4) { + const t3 = e4._controlledReadableStream; + if (!Ft(e4)) + return false; + if (!e4._started) + return false; + if (Ut(t3) && X3(t3) > 0) + return true; + if (Lt(e4) > 0) + return true; + return false; + }(e3); + if (!t2) + return; + if (e3._pulling) + return void (e3._pullAgain = true); + e3._pulling = true; + b2(e3._pullAlgorithm(), () => (e3._pulling = false, e3._pullAgain && (e3._pullAgain = false, At(e3)), null), (t3) => (zt(e3, t3), null)); +} +function jt(e3) { + e3._pullAlgorithm = void 0, e3._cancelAlgorithm = void 0, e3._strategySizeAlgorithm = void 0; +} +function zt(e3, t2) { + const r3 = e3._controlledReadableStream; + "readable" === r3._state && (ce2(e3), jt(e3), Jt(r3, t2)); +} +function Lt(e3) { + const t2 = e3._controlledReadableStream._state; + return "errored" === t2 ? null : "closed" === t2 ? 0 : e3._strategyHWM - e3._queueTotalSize; +} +function Ft(e3) { + return !e3._closeRequested && "readable" === e3._controlledReadableStream._state; +} +function It(e3, t2, r3, o3) { + const n2 = Object.create(ReadableStreamDefaultController.prototype); + let a3, i3, l3; + a3 = void 0 !== t2.start ? () => t2.start(n2) : () => { + }, i3 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c(void 0), l3 = void 0 !== t2.cancel ? (e4) => t2.cancel(e4) : () => c(void 0), function(e4, t3, r4, o4, n3, a4, i4) { + t3._controlledReadableStream = e4, t3._queue = void 0, t3._queueTotalSize = void 0, ce2(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i4, t3._strategyHWM = a4, t3._pullAlgorithm = o4, t3._cancelAlgorithm = n3, e4._readableStreamController = t3, b2(c(r4()), () => (t3._started = true, At(t3), null), (e5) => (zt(t3, e5), null)); + }(e3, n2, a3, i3, l3, r3, o3); +} +function Dt(e3) { + return new TypeError(`ReadableStreamDefaultController.prototype.${e3} can only be used on a ReadableStreamDefaultController`); +} +function $t(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function Mt(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function Yt(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function Qt(e3, t2) { + if ("bytes" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamType`); + return e3; +} +function Nt(e3, t2) { + if ("byob" !== (e3 = `${e3}`)) + throw new TypeError(`${t2} '${e3}' is not a valid enumeration value for ReadableStreamReaderMode`); + return e3; +} +function Ht(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.preventAbort, o3 = null == e3 ? void 0 : e3.preventCancel, n2 = null == e3 ? void 0 : e3.preventClose, a3 = null == e3 ? void 0 : e3.signal; + return void 0 !== a3 && function(e4, t3) { + if (!function(e5) { + if ("object" != typeof e5 || null === e5) + return false; + try { + return "boolean" == typeof e5.aborted; + } catch (e6) { + return false; + } + }(e4)) + throw new TypeError(`${t3} is not an AbortSignal.`); + }(a3, `${t2} has member 'signal' that`), { preventAbort: Boolean(r3), preventCancel: Boolean(o3), preventClose: Boolean(n2), signal: a3 }; +} +function xt(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.readable; + M3(r3, "readable", "ReadableWritablePair"), function(e4, t3) { + if (!H2(e4)) + throw new TypeError(`${t3} is not a ReadableStream.`); + }(r3, `${t2} has member 'readable' that`); + const o3 = null == e3 ? void 0 : e3.writable; + return M3(o3, "writable", "ReadableWritablePair"), function(e4, t3) { + if (!x(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(o3, `${t2} has member 'writable' that`), { readable: r3, writable: o3 }; +} +function Vt(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_readableStreamController") && e3 instanceof ReadableStream3); +} +function Ut(e3) { + return void 0 !== e3._reader; +} +function Gt(e3, r3) { + if (e3._disturbed = true, "closed" === e3._state) + return c(void 0); + if ("errored" === e3._state) + return d4(e3._storedError); + Xt(e3); + const o3 = e3._reader; + if (void 0 !== o3 && Fe(o3)) { + const e4 = o3._readIntoRequests; + o3._readIntoRequests = new S2(), e4.forEach((e5) => { + e5._closeSteps(void 0); + }); + } + return p2(e3._readableStreamController[T2](r3), t); +} +function Xt(e3) { + e3._state = "closed"; + const t2 = e3._reader; + if (void 0 !== t2 && (j3(t2), K2(t2))) { + const e4 = t2._readRequests; + t2._readRequests = new S2(), e4.forEach((e5) => { + e5._closeSteps(); + }); + } +} +function Jt(e3, t2) { + e3._state = "errored", e3._storedError = t2; + const r3 = e3._reader; + void 0 !== r3 && (A2(r3, t2), K2(r3) ? Z2(r3, t2) : Ie(r3, t2)); +} +function Kt(e3) { + return new TypeError(`ReadableStream.prototype.${e3} can only be used on a ReadableStream`); +} +function Zt(e3, t2) { + F2(e3, t2); + const r3 = null == e3 ? void 0 : e3.highWaterMark; + return M3(r3, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y2(r3) }; +} +function tr(e3) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${e3} can only be used on a ByteLengthQueuingStrategy`); +} +function rr(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_byteLengthQueuingStrategyHighWaterMark") && e3 instanceof ByteLengthQueuingStrategy); +} +function nr(e3) { + return new TypeError(`CountQueuingStrategy.prototype.${e3} can only be used on a CountQueuingStrategy`); +} +function ar(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_countQueuingStrategyHighWaterMark") && e3 instanceof CountQueuingStrategy); +} +function ir(e3, t2, r3) { + return I(e3, r3), (r4) => w3(e3, t2, [r4]); +} +function lr(e3, t2, r3) { + return I(e3, r3), (r4) => g(e3, t2, [r4]); +} +function sr(e3, t2, r3) { + return I(e3, r3), (r4, o3) => w3(e3, t2, [r4, o3]); +} +function ur(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_transformStreamController") && e3 instanceof TransformStream2); +} +function cr(e3, t2) { + Sr(e3, t2), dr(e3, t2); +} +function dr(e3, t2) { + hr(e3._transformStreamController), function(e4, t3) { + e4._writableController.error(t3); + "writable" === e4._writableState && Tr(e4, t3); + }(e3, t2), e3._backpressure && fr(e3, false); +} +function fr(e3, t2) { + void 0 !== e3._backpressureChangePromise && e3._backpressureChangePromise_resolve(), e3._backpressureChangePromise = u2((t3) => { + e3._backpressureChangePromise_resolve = t3; + }), e3._backpressure = t2; +} +function br(e3) { + return !!r2(e3) && (!!Object.prototype.hasOwnProperty.call(e3, "_controlledTransformStream") && e3 instanceof TransformStreamDefaultController); +} +function hr(e3) { + e3._transformAlgorithm = void 0, e3._flushAlgorithm = void 0; +} +function _r(e3, t2) { + const r3 = e3._controlledTransformStream; + if (!gr(r3)) + throw new TypeError("Readable side is not in a state that permits enqueue"); + try { + !function(e4, t3) { + e4._readablePulling = false; + try { + e4._readableController.enqueue(t3); + } catch (t4) { + throw Sr(e4, t4), t4; + } + }(r3, t2); + } catch (e4) { + throw dr(r3, e4), r3._readableStoredError; + } + const o3 = function(e4) { + return !function(e5) { + if (!gr(e5)) + return false; + if (e5._readablePulling) + return true; + if (vr(e5) > 0) + return true; + return false; + }(e4); + }(r3); + o3 !== r3._backpressure && fr(r3, true); +} +function pr(e3, t2) { + return p2(e3._transformAlgorithm(t2), void 0, (t3) => { + throw cr(e3._controlledTransformStream, t3), t3; + }); +} +function mr(e3) { + return new TypeError(`TransformStreamDefaultController.prototype.${e3} can only be used on a TransformStreamDefaultController`); +} +function yr(e3) { + return new TypeError(`TransformStream.prototype.${e3} can only be used on a TransformStream`); +} +function gr(e3) { + return !e3._readableCloseRequested && "readable" === e3._readableState; +} +function wr(e3) { + e3._readableState = "closed", e3._readableCloseRequested = true, e3._readableController.close(); +} +function Sr(e3, t2) { + "readable" === e3._readableState && (e3._readableState = "errored", e3._readableStoredError = t2), e3._readableController.error(t2); +} +function vr(e3) { + return e3._readableController.desiredSize; +} +function Rr(e3, t2) { + "writable" !== e3._writableState ? qr(e3) : Tr(e3, t2); +} +function Tr(e3, t2) { + e3._writableState = "erroring", e3._writableStoredError = t2, !function(e4) { + return e4._writableHasInFlightOperation; + }(e3) && e3._writableStarted && qr(e3); +} +function qr(e3) { + e3._writableState = "errored"; +} +function Cr(e3) { + "erroring" === e3._writableState && qr(e3); +} +var e2, o2, a2, i2, l2, s, y3, S2, v, R2, T2, q2, C2, z2, L3, ReadableStreamDefaultReader, te, re, ae2, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamBYOBReader, Ue, WritableStream, WritableStreamDefaultWriter, lt, WritableStreamDefaultController, Pt, Wt, ReadableStreamDefaultController, ReadableStream3, er, ByteLengthQueuingStrategy, or, CountQueuingStrategy, TransformStream2, TransformStreamDefaultController; +var init_ponyfill = __esm({ + "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs"() { + e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e3) => `Symbol(${e3})`; + o2 = t; + a2 = Promise; + i2 = Promise.prototype.then; + l2 = Promise.resolve.bind(a2); + s = Promise.reject.bind(a2); + y3 = (e3) => { + if ("function" == typeof queueMicrotask) + y3 = queueMicrotask; + else { + const e4 = c(void 0); + y3 = (t2) => f3(e4, t2); + } + return y3(e3); + }; + S2 = class { + constructor() { + this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0; + } + get length() { + return this._size; + } + push(e3) { + const t2 = this._back; + let r3 = t2; + 16383 === t2._elements.length && (r3 = { _elements: [], _next: void 0 }), t2._elements.push(e3), r3 !== t2 && (this._back = r3, t2._next = r3), ++this._size; + } + shift() { + const e3 = this._front; + let t2 = e3; + const r3 = this._cursor; + let o3 = r3 + 1; + const n2 = e3._elements, a3 = n2[r3]; + return 16384 === o3 && (t2 = e3._next, o3 = 0), --this._size, this._cursor = o3, e3 !== t2 && (this._front = t2), n2[r3] = void 0, a3; + } + forEach(e3) { + let t2 = this._cursor, r3 = this._front, o3 = r3._elements; + for (; !(t2 === o3.length && void 0 === r3._next || t2 === o3.length && (r3 = r3._next, o3 = r3._elements, t2 = 0, 0 === o3.length)); ) + e3(o3[t2]), ++t2; + } + peek() { + const e3 = this._front, t2 = this._cursor; + return e3._elements[t2]; + } + }; + v = e2("[[AbortSteps]]"); + R2 = e2("[[ErrorSteps]]"); + T2 = e2("[[CancelSteps]]"); + q2 = e2("[[PullSteps]]"); + C2 = e2("[[ReleaseSteps]]"); + z2 = Number.isFinite || function(e3) { + return "number" == typeof e3 && isFinite(e3); + }; + L3 = Math.trunc || function(e3) { + return e3 < 0 ? Math.ceil(e3) : Math.floor(e3); + }; + ReadableStreamDefaultReader = class { + constructor(e3) { + if ($3(e3, 1, "ReadableStreamDefaultReader"), V3(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + E2(this, e3), this._readRequests = new S2(); + } + get closed() { + return K2(this) ? this._closedPromise : d4(ee("closed")); + } + cancel(e3) { + return K2(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(ee("cancel")); + } + read() { + if (!K2(this)) + return d4(ee("read")); + if (void 0 === this._ownerReadableStream) + return d4(k3("read from")); + let e3, t2; + const r3 = u2((r4, o3) => { + e3 = r4, t2 = o3; + }); + return function(e4, t3) { + const r4 = e4._ownerReadableStream; + r4._disturbed = true, "closed" === r4._state ? t3._closeSteps() : "errored" === r4._state ? t3._errorSteps(r4._storedError) : r4._readableStreamController[q2](t3); + }(this, { _chunkSteps: (t3) => e3({ value: t3, done: false }), _closeSteps: () => e3({ value: void 0, done: true }), _errorSteps: (e4) => t2(e4) }), r3; + } + releaseLock() { + if (!K2(this)) + throw ee("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W3(e3); + const t2 = new TypeError("Reader was released"); + Z2(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e2.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true }); + te = class { + constructor(e3, t2) { + this._ongoingPromise = void 0, this._isFinished = false, this._reader = e3, this._preventCancel = t2; + } + next() { + const e3 = () => this._nextSteps(); + return this._ongoingPromise = this._ongoingPromise ? p2(this._ongoingPromise, e3, e3) : e3(), this._ongoingPromise; + } + return(e3) { + const t2 = () => this._returnSteps(e3); + return this._ongoingPromise ? p2(this._ongoingPromise, t2, t2) : t2(); + } + _nextSteps() { + if (this._isFinished) + return Promise.resolve({ value: void 0, done: true }); + const e3 = this._reader; + return void 0 === e3 ? d4(k3("iterate")) : f3(e3.read(), (e4) => { + var t2; + return this._ongoingPromise = void 0, e4.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e4; + }, (e4) => { + var t2; + throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e4; + }); + } + _returnSteps(e3) { + if (this._isFinished) + return Promise.resolve({ value: e3, done: true }); + this._isFinished = true; + const t2 = this._reader; + if (void 0 === t2) + return d4(k3("finish iterating")); + if (this._reader = void 0, !this._preventCancel) { + const r3 = t2.cancel(e3); + return t2.releaseLock(), p2(r3, () => ({ value: e3, done: true })); + } + return t2.releaseLock(), c({ value: e3, done: true }); + } + }; + re = { next() { + return oe(this) ? this._asyncIteratorImpl.next() : d4(ne("next")); + }, return(e3) { + return oe(this) ? this._asyncIteratorImpl.return(e3) : d4(ne("return")); + } }; + "symbol" == typeof e2.asyncIterator && Object.defineProperty(re, e2.asyncIterator, { value() { + return this; + }, writable: true, configurable: true }); + ae2 = Number.isNaN || function(e3) { + return e3 != e3; + }; + ReadableStreamBYOBRequest = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!fe(this)) + throw Be("view"); + return this._view; + } + respond(e3) { + if (!fe(this)) + throw Be("respond"); + if ($3(e3, 1, "respond"), e3 = N3(e3, "First parameter"), void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + this._view.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2) + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } else { + if (0 === t2) + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + if (r3.bytesFilled + t2 > r3.byteLength) + throw new RangeError("bytesWritten out of range"); + } + r3.buffer = r3.buffer, qe(e4, t2); + }(this._associatedReadableByteStreamController, e3); + } + respondWithNewView(e3) { + if (!fe(this)) + throw Be("respondWithNewView"); + if ($3(e3, 1, "respondWithNewView"), !ArrayBuffer.isView(e3)) + throw new TypeError("You can only respond with array buffer views"); + if (void 0 === this._associatedReadableByteStreamController) + throw new TypeError("This BYOB request has been invalidated"); + e3.buffer, function(e4, t2) { + const r3 = e4._pendingPullIntos.peek(); + if ("closed" === e4._controlledReadableByteStream._state) { + if (0 !== t2.byteLength) + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } else if (0 === t2.byteLength) + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + if (r3.byteOffset + r3.bytesFilled !== t2.byteOffset) + throw new RangeError("The region specified by view does not match byobRequest"); + if (r3.bufferByteLength !== t2.buffer.byteLength) + throw new RangeError("The buffer of view has different capacity than byobRequest"); + if (r3.bytesFilled + t2.byteLength > r3.byteLength) + throw new RangeError("The region specified by view is larger than byobRequest"); + const o3 = t2.byteLength; + r3.buffer = t2.buffer, qe(e4, o3); + }(this._associatedReadableByteStreamController, e3); + } + }; + Object.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e2.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true }); + ReadableByteStreamController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!de(this)) + throw Ae("byobRequest"); + return function(e3) { + if (null === e3._byobRequest && e3._pendingPullIntos.length > 0) { + const t2 = e3._pendingPullIntos.peek(), r3 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o3 = Object.create(ReadableStreamBYOBRequest.prototype); + !function(e4, t3, r4) { + e4._associatedReadableByteStreamController = t3, e4._view = r4; + }(o3, e3, r3), e3._byobRequest = o3; + } + return e3._byobRequest; + }(this); + } + get desiredSize() { + if (!de(this)) + throw Ae("desiredSize"); + return ke(this); + } + close() { + if (!de(this)) + throw Ae("close"); + if (this._closeRequested) + throw new TypeError("The stream has already been closed; do not close it again!"); + const e3 = this._controlledReadableByteStream._state; + if ("readable" !== e3) + throw new TypeError(`The stream (in ${e3} state) is not in the readable state and cannot be closed`); + !function(e4) { + const t2 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== t2._state) + return; + if (e4._queueTotalSize > 0) + return void (e4._closeRequested = true); + if (e4._pendingPullIntos.length > 0) { + if (e4._pendingPullIntos.peek().bytesFilled > 0) { + const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + throw Pe(e4, t3), t3; + } + } + Ee(e4), Xt(t2); + }(this); + } + enqueue(e3) { + if (!de(this)) + throw Ae("enqueue"); + if ($3(e3, 1, "enqueue"), !ArrayBuffer.isView(e3)) + throw new TypeError("chunk must be an array buffer view"); + if (0 === e3.byteLength) + throw new TypeError("chunk must have non-zero byteLength"); + if (0 === e3.buffer.byteLength) + throw new TypeError("chunk's buffer must have non-zero byteLength"); + if (this._closeRequested) + throw new TypeError("stream is closed or draining"); + const t2 = this._controlledReadableByteStream._state; + if ("readable" !== t2) + throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`); + !function(e4, t3) { + const r3 = e4._controlledReadableByteStream; + if (e4._closeRequested || "readable" !== r3._state) + return; + const o3 = t3.buffer, n2 = t3.byteOffset, a3 = t3.byteLength, i3 = o3; + if (e4._pendingPullIntos.length > 0) { + const t4 = e4._pendingPullIntos.peek(); + t4.buffer, 0, Re(e4), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e4, t4); + } + if (J3(r3)) + if (function(e5) { + const t4 = e5._controlledReadableByteStream._reader; + for (; t4._readRequests.length > 0; ) { + if (0 === e5._queueTotalSize) + return; + We(e5, t4._readRequests.shift()); + } + }(e4), 0 === X3(r3)) + me(e4, i3, n2, a3); + else { + e4._pendingPullIntos.length > 0 && Ce(e4); + G3(r3, new Uint8Array(i3, n2, a3), false); + } + else + Le(r3) ? (me(e4, i3, n2, a3), Te(e4)) : me(e4, i3, n2, a3); + be(e4); + }(this, e3); + } + error(e3) { + if (!de(this)) + throw Ae("error"); + Pe(this, e3); + } + [T2](e3) { + he(this), ce2(this); + const t2 = this._cancelAlgorithm(e3); + return Ee(this), t2; + } + [q2](e3) { + const t2 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) + return void We(this, e3); + const r3 = this._autoAllocateChunkSize; + if (void 0 !== r3) { + let t3; + try { + t3 = new ArrayBuffer(r3); + } catch (t4) { + return void e3._errorSteps(t4); + } + const o3 = { buffer: t3, bufferByteLength: r3, byteOffset: 0, byteLength: r3, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" }; + this._pendingPullIntos.push(o3); + } + U4(t2, e3), be(this); + } + [C2]() { + if (this._pendingPullIntos.length > 0) { + const e3 = this._pendingPullIntos.peek(); + e3.readerType = "none", this._pendingPullIntos = new S2(), this._pendingPullIntos.push(e3); + } + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e2.toStringTag, { value: "ReadableByteStreamController", configurable: true }); + ReadableStreamBYOBReader = class { + constructor(e3) { + if ($3(e3, 1, "ReadableStreamBYOBReader"), V3(e3, "First parameter"), Ut(e3)) + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + if (!de(e3._readableStreamController)) + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + E2(this, e3), this._readIntoRequests = new S2(); + } + get closed() { + return Fe(this) ? this._closedPromise : d4(De("closed")); + } + cancel(e3) { + return Fe(this) ? void 0 === this._ownerReadableStream ? d4(k3("cancel")) : P2(this, e3) : d4(De("cancel")); + } + read(e3) { + if (!Fe(this)) + return d4(De("read")); + if (!ArrayBuffer.isView(e3)) + return d4(new TypeError("view must be an array buffer view")); + if (0 === e3.byteLength) + return d4(new TypeError("view must have non-zero byteLength")); + if (0 === e3.buffer.byteLength) + return d4(new TypeError("view's buffer must have non-zero byteLength")); + if (e3.buffer, void 0 === this._ownerReadableStream) + return d4(k3("read from")); + let t2, r3; + const o3 = u2((e4, o4) => { + t2 = e4, r3 = o4; + }); + return function(e4, t3, r4) { + const o4 = e4._ownerReadableStream; + o4._disturbed = true, "errored" === o4._state ? r4._errorSteps(o4._storedError) : function(e5, t4, r5) { + const o5 = e5._controlledReadableByteStream; + let n2 = 1; + t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT); + const a3 = t4.constructor, i3 = t4.buffer, l3 = { buffer: i3, bufferByteLength: i3.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a3, readerType: "byob" }; + if (e5._pendingPullIntos.length > 0) + return e5._pendingPullIntos.push(l3), void je(o5, r5); + if ("closed" !== o5._state) { + if (e5._queueTotalSize > 0) { + if (we(e5, l3)) { + const t5 = pe(l3); + return ve(e5), void r5._chunkSteps(t5); + } + if (e5._closeRequested) { + const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + return Pe(e5, t5), void r5._errorSteps(t5); + } + } + e5._pendingPullIntos.push(l3), je(o5, r5), be(e5); + } else { + const e6 = new a3(l3.buffer, l3.byteOffset, 0); + r5._closeSteps(e6); + } + }(o4._readableStreamController, t3, r4); + }(this, e3, { _chunkSteps: (e4) => t2({ value: e4, done: false }), _closeSteps: (e4) => t2({ value: e4, done: true }), _errorSteps: (e4) => r3(e4) }), o3; + } + releaseLock() { + if (!Fe(this)) + throw De("releaseLock"); + void 0 !== this._ownerReadableStream && function(e3) { + W3(e3); + const t2 = new TypeError("Reader was released"); + Ie(e3, t2); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e2.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true }); + Ue = "function" == typeof AbortController; + WritableStream = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D3(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F2(e4, t3); + const r4 = null == e4 ? void 0 : e4.abort, o4 = null == e4 ? void 0 : e4.close, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.type, i3 = null == e4 ? void 0 : e4.write; + return { abort: void 0 === r4 ? void 0 : Ne(r4, e4, `${t3} has member 'abort' that`), close: void 0 === o4 ? void 0 : He(o4, e4, `${t3} has member 'close' that`), start: void 0 === n3 ? void 0 : xe(n3, e4, `${t3} has member 'start' that`), write: void 0 === i3 ? void 0 : Ve(i3, e4, `${t3} has member 'write' that`), type: a4 }; + }(e3, "First parameter"); + var n2; + (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S2(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false; + if (void 0 !== o3.type) + throw new RangeError("Invalid type is specified"); + const a3 = Me(r3); + !function(e4, t3, r4, o4) { + const n3 = Object.create(WritableStreamDefaultController.prototype); + let a4, i3, l3, s2; + a4 = void 0 !== t3.start ? () => t3.start(n3) : () => { + }; + i3 = void 0 !== t3.write ? (e5) => t3.write(e5, n3) : () => c(void 0); + l3 = void 0 !== t3.close ? () => t3.close() : () => c(void 0); + s2 = void 0 !== t3.abort ? (e5) => t3.abort(e5) : () => c(void 0); + !function(e5, t4, r5, o5, n4, a5, i4, l4) { + t4._controlledWritableStream = e5, e5._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce2(t4), t4._abortReason = void 0, t4._abortController = function() { + if (Ue) + return new AbortController(); + }(), t4._started = false, t4._strategySizeAlgorithm = l4, t4._strategyHWM = i4, t4._writeAlgorithm = o5, t4._closeAlgorithm = n4, t4._abortAlgorithm = a5; + const s3 = bt(t4); + nt(e5, s3); + const u3 = r5(); + b2(c(u3), () => (t4._started = true, dt(t4), null), (r6) => (t4._started = true, Ze(e5, r6), null)); + }(e4, n3, a4, i3, l3, s2, r4, o4); + }(this, o3, $e(r3, 1), a3); + } + get locked() { + if (!Ge(this)) + throw _t("locked"); + return Xe(this); + } + abort(e3) { + return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e3) : d4(_t("abort")); + } + close() { + return Ge(this) ? Xe(this) ? d4(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d4(_t("close")); + } + getWriter() { + if (!Ge(this)) + throw _t("getWriter"); + return new WritableStreamDefaultWriter(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStream.prototype, e2.toStringTag, { value: "WritableStream", configurable: true }); + WritableStreamDefaultWriter = class { + constructor(e3) { + if ($3(e3, 1, "WritableStreamDefaultWriter"), function(e4, t3) { + if (!Ge(e4)) + throw new TypeError(`${t3} is not a WritableStream.`); + }(e3, "First parameter"), Xe(e3)) + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + this._ownerWritableStream = e3, e3._writer = this; + const t2 = e3._state; + if ("writable" === t2) + !rt(e3) && e3._backpressure ? Rt(this) : qt(this), gt(this); + else if ("erroring" === t2) + Tt(this, e3._storedError), gt(this); + else if ("closed" === t2) + qt(this), gt(r3 = this), vt(r3); + else { + const t3 = e3._storedError; + Tt(this, t3), wt(this, t3); + } + var r3; + } + get closed() { + return at(this) ? this._closedPromise : d4(mt("closed")); + } + get desiredSize() { + if (!at(this)) + throw mt("desiredSize"); + if (void 0 === this._ownerWritableStream) + throw yt("desiredSize"); + return function(e3) { + const t2 = e3._ownerWritableStream, r3 = t2._state; + if ("errored" === r3 || "erroring" === r3) + return null; + if ("closed" === r3) + return 0; + return ct(t2._writableStreamController); + }(this); + } + get ready() { + return at(this) ? this._readyPromise : d4(mt("ready")); + } + abort(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("abort")) : function(e4, t2) { + return Je(e4._ownerWritableStream, t2); + }(this, e3) : d4(mt("abort")); + } + close() { + if (!at(this)) + return d4(mt("close")); + const e3 = this._ownerWritableStream; + return void 0 === e3 ? d4(yt("close")) : rt(e3) ? d4(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream); + } + releaseLock() { + if (!at(this)) + throw mt("releaseLock"); + void 0 !== this._ownerWritableStream && function(e3) { + const t2 = e3._ownerWritableStream, r3 = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness"); + it(e3, r3), function(e4, t3) { + "pending" === e4._closedPromiseState ? St(e4, t3) : function(e5, t4) { + wt(e5, t4); + }(e4, t3); + }(e3, r3), t2._writer = void 0, e3._ownerWritableStream = void 0; + }(this); + } + write(e3) { + return at(this) ? void 0 === this._ownerWritableStream ? d4(yt("write to")) : function(e4, t2) { + const r3 = e4._ownerWritableStream, o3 = r3._writableStreamController, n2 = function(e5, t3) { + try { + return e5._strategySizeAlgorithm(t3); + } catch (t4) { + return ft(e5, t4), 1; + } + }(o3, t2); + if (r3 !== e4._ownerWritableStream) + return d4(yt("write to")); + const a3 = r3._state; + if ("errored" === a3) + return d4(r3._storedError); + if (rt(r3) || "closed" === a3) + return d4(new TypeError("The stream is closing or closed and cannot be written to")); + if ("erroring" === a3) + return d4(r3._storedError); + const i3 = function(e5) { + return u2((t3, r4) => { + const o4 = { _resolve: t3, _reject: r4 }; + e5._writeRequests.push(o4); + }); + }(r3); + return function(e5, t3, r4) { + try { + ue2(e5, t3, r4); + } catch (t4) { + return void ft(e5, t4); + } + const o4 = e5._controlledWritableStream; + if (!rt(o4) && "writable" === o4._state) { + nt(o4, bt(e5)); + } + dt(e5); + }(o3, t2, n2), i3; + }(this, e3) : d4(mt("write")); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e2.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true }); + lt = {}; + WritableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!st(this)) + throw pt("abortReason"); + return this._abortReason; + } + get signal() { + if (!st(this)) + throw pt("signal"); + if (void 0 === this._abortController) + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + return this._abortController.signal; + } + error(e3) { + if (!st(this)) + throw pt("error"); + "writable" === this._controlledWritableStream._state && ht(this, e3); + } + [v](e3) { + const t2 = this._abortAlgorithm(e3); + return ut(this), t2; + } + [R2]() { + ce2(this); + } + }; + Object.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e2.toStringTag, { value: "WritableStreamDefaultController", configurable: true }); + Pt = "undefined" != typeof DOMException ? DOMException : void 0; + Wt = function(e3) { + if ("function" != typeof e3 && "object" != typeof e3) + return false; + try { + return new e3(), true; + } catch (e4) { + return false; + } + }(Pt) ? Pt : function() { + const e3 = function(e4, t2) { + this.message = e4 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + }; + return e3.prototype = Object.create(Error.prototype), Object.defineProperty(e3.prototype, "constructor", { value: e3, writable: true, configurable: true }), e3; + }(); + ReadableStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!Bt(this)) + throw Dt("desiredSize"); + return Lt(this); + } + close() { + if (!Bt(this)) + throw Dt("close"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits close"); + !function(e3) { + if (!Ft(e3)) + return; + const t2 = e3._controlledReadableStream; + e3._closeRequested = true, 0 === e3._queue.length && (jt(e3), Xt(t2)); + }(this); + } + enqueue(e3) { + if (!Bt(this)) + throw Dt("enqueue"); + if (!Ft(this)) + throw new TypeError("The stream is not in a state that permits enqueue"); + return function(e4, t2) { + if (!Ft(e4)) + return; + const r3 = e4._controlledReadableStream; + if (Ut(r3) && X3(r3) > 0) + G3(r3, t2, false); + else { + let r4; + try { + r4 = e4._strategySizeAlgorithm(t2); + } catch (t3) { + throw zt(e4, t3), t3; + } + try { + ue2(e4, t2, r4); + } catch (t3) { + throw zt(e4, t3), t3; + } + } + At(e4); + }(this, e3); + } + error(e3) { + if (!Bt(this)) + throw Dt("error"); + zt(this, e3); + } + [T2](e3) { + ce2(this); + const t2 = this._cancelAlgorithm(e3); + return jt(this), t2; + } + [q2](e3) { + const t2 = this._controlledReadableStream; + if (this._queue.length > 0) { + const r3 = se(this); + this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e3._chunkSteps(r3); + } else + U4(t2, e3), At(this); + } + [C2]() { + } + }; + Object.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 e2.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e2.toStringTag, { value: "ReadableStreamDefaultController", configurable: true }); + ReadableStream3 = class { + constructor(e3 = {}, t2 = {}) { + void 0 === e3 ? e3 = null : D3(e3, "First parameter"); + const r3 = Ye(t2, "Second parameter"), o3 = function(e4, t3) { + F2(e4, t3); + const r4 = e4, o4 = null == r4 ? void 0 : r4.autoAllocateChunkSize, n3 = null == r4 ? void 0 : r4.cancel, a3 = null == r4 ? void 0 : r4.pull, i3 = null == r4 ? void 0 : r4.start, l3 = null == r4 ? void 0 : r4.type; + return { autoAllocateChunkSize: void 0 === o4 ? void 0 : N3(o4, `${t3} has member 'autoAllocateChunkSize' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r4, `${t3} has member 'cancel' that`), pull: void 0 === a3 ? void 0 : Mt(a3, r4, `${t3} has member 'pull' that`), start: void 0 === i3 ? void 0 : Yt(i3, r4, `${t3} has member 'start' that`), type: void 0 === l3 ? void 0 : Qt(l3, `${t3} has member 'type' that`) }; + }(e3, "First parameter"); + var n2; + if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o3.type) { + if (void 0 !== r3.size) + throw new RangeError("The strategy for a byte stream cannot have a size function"); + Oe(this, o3, $e(r3, 0)); + } else { + const e4 = Me(r3); + It(this, o3, $e(r3, 1), e4); + } + } + get locked() { + if (!Vt(this)) + throw Kt("locked"); + return Ut(this); + } + cancel(e3) { + return Vt(this) ? Ut(this) ? d4(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e3) : d4(Kt("cancel")); + } + getReader(e3) { + if (!Vt(this)) + throw Kt("getReader"); + return void 0 === function(e4, t2) { + F2(e4, t2); + const r3 = null == e4 ? void 0 : e4.mode; + return { mode: void 0 === r3 ? void 0 : Nt(r3, `${t2} has member 'mode' that`) }; + }(e3, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e4) { + return new ReadableStreamBYOBReader(e4); + }(this); + } + pipeThrough(e3, t2 = {}) { + if (!H2(this)) + throw Kt("pipeThrough"); + $3(e3, 1, "pipeThrough"); + const r3 = xt(e3, "First parameter"), o3 = Ht(t2, "Second parameter"); + if (this.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + if (r3.writable.locked) + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + return m3(kt(this, r3.writable, o3.preventClose, o3.preventAbort, o3.preventCancel, o3.signal)), r3.readable; + } + pipeTo(e3, t2 = {}) { + if (!H2(this)) + return d4(Kt("pipeTo")); + if (void 0 === e3) + return d4("Parameter 1 is required in 'pipeTo'."); + if (!x(e3)) + return d4(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); + let r3; + try { + r3 = Ht(t2, "Second parameter"); + } catch (e4) { + return d4(e4); + } + return this.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e3.locked ? d4(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e3, r3.preventClose, r3.preventAbort, r3.preventCancel, r3.signal); + } + tee() { + if (!H2(this)) + throw Kt("tee"); + if (this.locked) + throw new TypeError("Cannot tee a stream that already has a reader"); + return Ot(this); + } + values(e3) { + if (!H2(this)) + throw Kt("values"); + return function(e4, t2) { + const r3 = e4.getReader(), o3 = new te(r3, t2), n2 = Object.create(re); + return n2._asyncIteratorImpl = o3, n2; + }(this, function(e4, t2) { + F2(e4, t2); + const r3 = null == e4 ? void 0 : e4.preventCancel; + return { preventCancel: Boolean(r3) }; + }(e3, "First parameter").preventCancel); + } + }; + Object.defineProperties(ReadableStream3.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream3.prototype.cancel, "cancel"), n(ReadableStream3.prototype.getReader, "getReader"), n(ReadableStream3.prototype.pipeThrough, "pipeThrough"), n(ReadableStream3.prototype.pipeTo, "pipeTo"), n(ReadableStream3.prototype.tee, "tee"), n(ReadableStream3.prototype.values, "values"), "symbol" == typeof e2.toStringTag && Object.defineProperty(ReadableStream3.prototype, e2.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e2.asyncIterator && Object.defineProperty(ReadableStream3.prototype, e2.asyncIterator, { value: ReadableStream3.prototype.values, writable: true, configurable: true }); + er = (e3) => e3.byteLength; + n(er, "size"); + ByteLengthQueuingStrategy = class { + constructor(e3) { + $3(e3, 1, "ByteLengthQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!rr(this)) + throw tr("highWaterMark"); + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!rr(this)) + throw tr("size"); + return er; + } + }; + Object.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e2.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true }); + or = () => 1; + n(or, "size"); + CountQueuingStrategy = class { + constructor(e3) { + $3(e3, 1, "CountQueuingStrategy"), e3 = Zt(e3, "First parameter"), this._countQueuingStrategyHighWaterMark = e3.highWaterMark; + } + get highWaterMark() { + if (!ar(this)) + throw nr("highWaterMark"); + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!ar(this)) + throw nr("size"); + return or; + } + }; + Object.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e2.toStringTag, { value: "CountQueuingStrategy", configurable: true }); + TransformStream2 = class { + constructor(e3 = {}, t2 = {}, r3 = {}) { + void 0 === e3 && (e3 = null); + const o3 = Ye(t2, "Second parameter"), n2 = Ye(r3, "Third parameter"), a3 = function(e4, t3) { + F2(e4, t3); + const r4 = null == e4 ? void 0 : e4.flush, o4 = null == e4 ? void 0 : e4.readableType, n3 = null == e4 ? void 0 : e4.start, a4 = null == e4 ? void 0 : e4.transform, i4 = null == e4 ? void 0 : e4.writableType; + return { flush: void 0 === r4 ? void 0 : ir(r4, e4, `${t3} has member 'flush' that`), readableType: o4, start: void 0 === n3 ? void 0 : lr(n3, e4, `${t3} has member 'start' that`), transform: void 0 === a4 ? void 0 : sr(a4, e4, `${t3} has member 'transform' that`), writableType: i4 }; + }(e3, "First parameter"); + if (void 0 !== a3.readableType) + throw new RangeError("Invalid readableType specified"); + if (void 0 !== a3.writableType) + throw new RangeError("Invalid writableType specified"); + const i3 = $e(n2, 0), l3 = Me(n2), s2 = $e(o3, 1), f4 = Me(o3); + let b3; + !function(e4, t3, r4, o4, n3, a4) { + function i4() { + return t3; + } + function l4(t4) { + return function(e5, t5) { + const r5 = e5._transformStreamController; + if (e5._backpressure) { + return p2(e5._backpressureChangePromise, () => { + if ("erroring" === (Ge(e5._writable) ? e5._writable._state : e5._writableState)) + throw Ge(e5._writable) ? e5._writable._storedError : e5._writableStoredError; + return pr(r5, t5); + }); + } + return pr(r5, t5); + }(e4, t4); + } + function s3(t4) { + return function(e5, t5) { + return cr(e5, t5), c(void 0); + }(e4, t4); + } + function u3() { + return function(e5) { + const t4 = e5._transformStreamController, r5 = t4._flushAlgorithm(); + return hr(t4), p2(r5, () => { + if ("errored" === e5._readableState) + throw e5._readableStoredError; + gr(e5) && wr(e5); + }, (t5) => { + throw cr(e5, t5), e5._readableStoredError; + }); + }(e4); + } + function d5() { + return function(e5) { + return fr(e5, false), e5._backpressureChangePromise; + }(e4); + } + function f5(t4) { + return dr(e4, t4), c(void 0); + } + e4._writableState = "writable", e4._writableStoredError = void 0, e4._writableHasInFlightOperation = false, e4._writableStarted = false, e4._writable = function(e5, t4, r5, o5, n4, a5, i5) { + return new WritableStream({ start(r6) { + e5._writableController = r6; + try { + const t5 = r6.signal; + void 0 !== t5 && t5.addEventListener("abort", () => { + "writable" === e5._writableState && (e5._writableState = "erroring", t5.reason && (e5._writableStoredError = t5.reason)); + }); + } catch (e6) { + } + return p2(t4(), () => (e5._writableStarted = true, Cr(e5), null), (t5) => { + throw e5._writableStarted = true, Rr(e5, t5), t5; + }); + }, write: (t5) => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p2(r5(t5), () => (function(e6) { + e6._writableHasInFlightOperation = false; + }(e5), Cr(e5), null), (t6) => { + throw function(e6, t7) { + e6._writableHasInFlightOperation = false, Rr(e6, t7); + }(e5, t6), t6; + })), close: () => (function(e6) { + e6._writableHasInFlightOperation = true; + }(e5), p2(o5(), () => (function(e6) { + e6._writableHasInFlightOperation = false; + "erroring" === e6._writableState && (e6._writableStoredError = void 0); + e6._writableState = "closed"; + }(e5), null), (t5) => { + throw function(e6, t6) { + e6._writableHasInFlightOperation = false, e6._writableState, Rr(e6, t6); + }(e5, t5), t5; + })), abort: (t5) => (e5._writableState = "errored", e5._writableStoredError = t5, n4(t5)) }, { highWaterMark: a5, size: i5 }); + }(e4, i4, l4, u3, s3, r4, o4), e4._readableState = "readable", e4._readableStoredError = void 0, e4._readableCloseRequested = false, e4._readablePulling = false, e4._readable = function(e5, t4, r5, o5, n4, a5) { + return new ReadableStream3({ start: (r6) => (e5._readableController = r6, t4().catch((t5) => { + Sr(e5, t5); + })), pull: () => (e5._readablePulling = true, r5().catch((t5) => { + Sr(e5, t5); + })), cancel: (t5) => (e5._readableState = "closed", o5(t5)) }, { highWaterMark: n4, size: a5 }); + }(e4, i4, d5, f5, n3, a4), e4._backpressure = void 0, e4._backpressureChangePromise = void 0, e4._backpressureChangePromise_resolve = void 0, fr(e4, true), e4._transformStreamController = void 0; + }(this, u2((e4) => { + b3 = e4; + }), s2, f4, i3, l3), function(e4, t3) { + const r4 = Object.create(TransformStreamDefaultController.prototype); + let o4, n3; + o4 = void 0 !== t3.transform ? (e5) => t3.transform(e5, r4) : (e5) => { + try { + return _r(r4, e5), c(void 0); + } catch (e6) { + return d4(e6); + } + }; + n3 = void 0 !== t3.flush ? () => t3.flush(r4) : () => c(void 0); + !function(e5, t4, r5, o5) { + t4._controlledTransformStream = e5, e5._transformStreamController = t4, t4._transformAlgorithm = r5, t4._flushAlgorithm = o5; + }(e4, r4, o4, n3); + }(this, a3), void 0 !== a3.start ? b3(a3.start(this._transformStreamController)) : b3(void 0); + } + get readable() { + if (!ur(this)) + throw yr("readable"); + return this._readable; + } + get writable() { + if (!ur(this)) + throw yr("writable"); + return this._writable; + } + }; + Object.defineProperties(TransformStream2.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e2.toStringTag && Object.defineProperty(TransformStream2.prototype, e2.toStringTag, { value: "TransformStream", configurable: true }); + TransformStreamDefaultController = class { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!br(this)) + throw mr("desiredSize"); + return vr(this._controlledTransformStream); + } + enqueue(e3) { + if (!br(this)) + throw mr("enqueue"); + _r(this, e3); + } + error(e3) { + if (!br(this)) + throw mr("error"); + var t2; + t2 = e3, cr(this._controlledTransformStream, t2); + } + terminate() { + if (!br(this)) + throw mr("terminate"); + !function(e3) { + const t2 = e3._controlledTransformStream; + gr(t2) && wr(t2); + const r3 = new TypeError("TransformStream terminated"); + dr(t2, r3); + }(this); + } + }; + Object.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 e2.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e2.toStringTag, { value: "TransformStreamDefaultController", configurable: true }); + } +}); + +// node_modules/formdata-node/lib/esm/isFunction.js +var isFunction2; +var init_isFunction = __esm({ + "node_modules/formdata-node/lib/esm/isFunction.js"() { + isFunction2 = (value) => typeof value === "function"; + } +}); + +// node_modules/formdata-node/lib/esm/blobHelpers.js +async function* clonePart(part) { + const end = part.byteOffset + part.byteLength; + let position = part.byteOffset; + while (position !== end) { + const size = Math.min(end - position, CHUNK_SIZE); + const chunk = part.buffer.slice(position, position + size); + position += chunk.byteLength; + yield new Uint8Array(chunk); + } +} +async function* consumeNodeBlob(blob) { + let position = 0; + while (position !== blob.size) { + const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE)); + const buffer = await chunk.arrayBuffer(); + position += buffer.byteLength; + yield new Uint8Array(buffer); + } +} +async function* consumeBlobParts(parts, clone = false) { + for (const part of parts) { + if (ArrayBuffer.isView(part)) { + if (clone) { + yield* clonePart(part); + } else { + yield part; + } + } else if (isFunction2(part.stream)) { + yield* part.stream(); + } else { + yield* consumeNodeBlob(part); + } + } +} +function* sliceBlob(blobParts, blobSize, start = 0, end) { + end !== null && end !== void 0 ? end : end = blobSize; + let relativeStart = start < 0 ? Math.max(blobSize + start, 0) : Math.min(start, blobSize); + let relativeEnd = end < 0 ? Math.max(blobSize + end, 0) : Math.min(end, blobSize); + const span = Math.max(relativeEnd - relativeStart, 0); + let added = 0; + for (const part of blobParts) { + if (added >= span) { + break; + } + const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size; + if (relativeStart && partSize <= relativeStart) { + relativeStart -= partSize; + relativeEnd -= partSize; + } else { + let chunk; + if (ArrayBuffer.isView(part)) { + chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.byteLength; + } else { + chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd)); + added += chunk.size; + } + relativeEnd -= partSize; + relativeStart = 0; + yield chunk; + } + } +} +var CHUNK_SIZE; +var init_blobHelpers = __esm({ + "node_modules/formdata-node/lib/esm/blobHelpers.js"() { + init_isFunction(); + CHUNK_SIZE = 65536; + } +}); + +// node_modules/formdata-node/lib/esm/Blob.js +var __classPrivateFieldGet2, __classPrivateFieldSet2, _Blob_parts, _Blob_type, _Blob_size, Blob3; +var init_Blob = __esm({ + "node_modules/formdata-node/lib/esm/Blob.js"() { + init_ponyfill(); + init_isFunction(); + init_blobHelpers(); + __classPrivateFieldGet2 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + __classPrivateFieldSet2 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + Blob3 = class { + constructor(blobParts = [], options = {}) { + _Blob_parts.set(this, []); + _Blob_type.set(this, ""); + _Blob_size.set(this, 0); + options !== null && options !== void 0 ? options : options = {}; + if (typeof blobParts !== "object" || blobParts === null) { + throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence."); + } + if (!isFunction2(blobParts[Symbol.iterator])) { + throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property."); + } + if (typeof options !== "object" && !isFunction2(options)) { + throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary."); + } + const encoder = new TextEncoder(); + for (const raw of blobParts) { + let part; + if (ArrayBuffer.isView(raw)) { + part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)); + } else if (raw instanceof ArrayBuffer) { + part = new Uint8Array(raw.slice(0)); + } else if (raw instanceof Blob3) { + part = raw; + } else { + part = encoder.encode(String(raw)); + } + __classPrivateFieldSet2(this, _Blob_size, __classPrivateFieldGet2(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f"); + __classPrivateFieldGet2(this, _Blob_parts, "f").push(part); + } + const type2 = options.type === void 0 ? "" : String(options.type); + __classPrivateFieldSet2(this, _Blob_type, /^[\x20-\x7E]*$/.test(type2) ? type2 : "", "f"); + } + static [(_Blob_parts = /* @__PURE__ */ new WeakMap(), _Blob_type = /* @__PURE__ */ new WeakMap(), _Blob_size = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return Boolean(value && typeof value === "object" && isFunction2(value.constructor) && (isFunction2(value.stream) || isFunction2(value.arrayBuffer)) && /^(Blob|File)$/.test(value[Symbol.toStringTag])); + } + get type() { + return __classPrivateFieldGet2(this, _Blob_type, "f"); + } + get size() { + return __classPrivateFieldGet2(this, _Blob_size, "f"); + } + slice(start, end, contentType) { + return new Blob3(sliceBlob(__classPrivateFieldGet2(this, _Blob_parts, "f"), this.size, start, end), { + type: contentType + }); + } + async text() { + const decoder = new TextDecoder(); + let result = ""; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"))) { + result += decoder.decode(chunk, { stream: true }); + } + result += decoder.decode(); + return result; + } + async arrayBuffer() { + const view = new Uint8Array(this.size); + let offset = 0; + for await (const chunk of consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"))) { + view.set(chunk, offset); + offset += chunk.length; + } + return view.buffer; + } + stream() { + const iterator = consumeBlobParts(__classPrivateFieldGet2(this, _Blob_parts, "f"), true); + return new ReadableStream3({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + return queueMicrotask(() => controller.close()); + } + controller.enqueue(value); + }, + async cancel() { + await iterator.return(); + } + }); + } + get [Symbol.toStringTag]() { + return "Blob"; + } + }; + Object.defineProperties(Blob3.prototype, { + type: { enumerable: true }, + size: { enumerable: true }, + slice: { enumerable: true }, + stream: { enumerable: true }, + text: { enumerable: true }, + arrayBuffer: { enumerable: true } + }); + } +}); + +// node_modules/formdata-node/lib/esm/File.js +var __classPrivateFieldSet3, __classPrivateFieldGet3, _File_name, _File_lastModified, File3; +var init_File = __esm({ + "node_modules/formdata-node/lib/esm/File.js"() { + init_Blob(); + __classPrivateFieldSet3 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldGet3 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + File3 = class extends Blob3 { + constructor(fileBits, name, options = {}) { + super(fileBits, options); + _File_name.set(this, void 0); + _File_lastModified.set(this, 0); + if (arguments.length < 2) { + throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`); + } + __classPrivateFieldSet3(this, _File_name, String(name), "f"); + const lastModified = options.lastModified === void 0 ? Date.now() : Number(options.lastModified); + if (!Number.isNaN(lastModified)) { + __classPrivateFieldSet3(this, _File_lastModified, lastModified, "f"); + } + } + static [(_File_name = /* @__PURE__ */ new WeakMap(), _File_lastModified = /* @__PURE__ */ new WeakMap(), Symbol.hasInstance)](value) { + return value instanceof Blob3 && value[Symbol.toStringTag] === "File" && typeof value.name === "string"; + } + get name() { + return __classPrivateFieldGet3(this, _File_name, "f"); + } + get lastModified() { + return __classPrivateFieldGet3(this, _File_lastModified, "f"); + } + get webkitRelativePath() { + return ""; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + } +}); + +// node_modules/formdata-node/lib/esm/isFile.js +var isFile2; +var init_isFile = __esm({ + "node_modules/formdata-node/lib/esm/isFile.js"() { + init_File(); + isFile2 = (value) => value instanceof File3; + } +}); + +// node_modules/humanize-ms/index.js +var require_humanize_ms = __commonJS({ + "node_modules/humanize-ms/index.js"(exports, module2) { + "use strict"; + var util3 = require("util"); + var ms = require_ms(); + module2.exports = function(t2) { + if (typeof t2 === "number") + return t2; + var r3 = ms(t2); + if (r3 === void 0) { + var err = new Error(util3.format("humanize-ms(%j) result undefined", t2)); + console.warn(err.stack); + } + return r3; + }; + } +}); + +// node_modules/agentkeepalive/lib/constants.js +var require_constants6 = __commonJS({ + "node_modules/agentkeepalive/lib/constants.js"(exports, module2) { + "use strict"; + module2.exports = { + CURRENT_ID: Symbol("agentkeepalive#currentId"), + CREATE_ID: Symbol("agentkeepalive#createId"), + INIT_SOCKET: Symbol("agentkeepalive#initSocket"), + CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), + SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), + SOCKET_NAME: Symbol("agentkeepalive#socketName"), + SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), + SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") + }; + } +}); + +// node_modules/agentkeepalive/lib/agent.js +var require_agent2 = __commonJS({ + "node_modules/agentkeepalive/lib/agent.js"(exports, module2) { + "use strict"; + var OriginalAgent = require("http").Agent; + var ms = require_humanize_ms(); + var debug2 = require("util").debuglog("agentkeepalive"); + var { + INIT_SOCKET, + CURRENT_ID, + CREATE_ID, + SOCKET_CREATED_TIME, + SOCKET_NAME, + SOCKET_REQUEST_COUNT, + SOCKET_REQUEST_FINISHED_COUNT + } = require_constants6(); + var defaultTimeoutListenerCount = 1; + var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); + if (majorVersion >= 11 && majorVersion <= 12) { + defaultTimeoutListenerCount = 2; + } else if (majorVersion >= 13) { + defaultTimeoutListenerCount = 3; + } + function deprecate2(message) { + console.log("[agentkeepalive:deprecated] %s", message); + } + var Agent3 = class extends OriginalAgent { + constructor(options) { + options = options || {}; + options.keepAlive = options.keepAlive !== false; + if (options.freeSocketTimeout === void 0) { + options.freeSocketTimeout = 4e3; + } + if (options.keepAliveTimeout) { + deprecate2("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.keepAliveTimeout; + delete options.keepAliveTimeout; + } + if (options.freeSocketKeepAliveTimeout) { + deprecate2("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); + options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; + delete options.freeSocketKeepAliveTimeout; + } + if (options.timeout === void 0) { + options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); + } + options.timeout = ms(options.timeout); + options.freeSocketTimeout = ms(options.freeSocketTimeout); + options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; + super(options); + this[CURRENT_ID] = 0; + this.createSocketCount = 0; + this.createSocketCountLastCheck = 0; + this.createSocketErrorCount = 0; + this.createSocketErrorCountLastCheck = 0; + this.closeSocketCount = 0; + this.closeSocketCountLastCheck = 0; + this.errorSocketCount = 0; + this.errorSocketCountLastCheck = 0; + this.requestCount = 0; + this.requestCountLastCheck = 0; + this.timeoutSocketCount = 0; + this.timeoutSocketCountLastCheck = 0; + this.on("free", (socket) => { + const timeout = this.calcSocketTimeout(socket); + if (timeout > 0 && socket.timeout !== timeout) { + socket.setTimeout(timeout); + } + }); + } + get freeSocketKeepAliveTimeout() { + deprecate2("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); + return this.options.freeSocketTimeout; + } + get timeout() { + deprecate2("agent.timeout is deprecated, please use agent.options.timeout instead"); + return this.options.timeout; + } + get socketActiveTTL() { + deprecate2("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); + return this.options.socketActiveTTL; + } + calcSocketTimeout(socket) { + let freeSocketTimeout = this.options.freeSocketTimeout; + const socketActiveTTL = this.options.socketActiveTTL; + if (socketActiveTTL) { + const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; + const diff = socketActiveTTL - aliveTime; + if (diff <= 0) { + return diff; + } + if (freeSocketTimeout && diff < freeSocketTimeout) { + freeSocketTimeout = diff; + } + } + if (freeSocketTimeout) { + const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; + return customFreeSocketTimeout || freeSocketTimeout; + } + } + keepSocketAlive(socket) { + const result = super.keepSocketAlive(socket); + if (!result) + return result; + const customTimeout = this.calcSocketTimeout(socket); + if (typeof customTimeout === "undefined") { + return true; + } + if (customTimeout <= 0) { + debug2( + "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + customTimeout + ); + return false; + } + if (socket.timeout !== customTimeout) { + socket.setTimeout(customTimeout); + } + return true; + } + reuseSocket(...args) { + super.reuseSocket(...args); + const socket = args[0]; + const req = args[1]; + req.reusedSocket = true; + const agentTimeout = this.options.timeout; + if (getSocketTimeout(socket) !== agentTimeout) { + socket.setTimeout(agentTimeout); + debug2("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); + } + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + getSocketTimeout(socket) + ); + } + [CREATE_ID]() { + const id = this[CURRENT_ID]++; + if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) + this[CURRENT_ID] = 0; + return id; + } + [INIT_SOCKET](socket, options) { + if (options.timeout) { + const timeout = getSocketTimeout(socket); + if (!timeout) { + socket.setTimeout(options.timeout); + } + } + if (this.options.keepAlive) { + socket.setNoDelay(true); + } + this.createSocketCount++; + if (this.options.socketActiveTTL) { + socket[SOCKET_CREATED_TIME] = Date.now(); + } + socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; + socket[SOCKET_REQUEST_COUNT] = 1; + socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; + installListeners(this, socket, options); + } + createConnection(options, oncreate) { + let called = false; + const onNewCreate = (err, socket) => { + if (called) + return; + called = true; + if (err) { + this.createSocketErrorCount++; + return oncreate(err); + } + this[INIT_SOCKET](socket, options); + oncreate(err, socket); + }; + const newSocket = super.createConnection(options, onNewCreate); + if (newSocket) + onNewCreate(null, newSocket); + return newSocket; + } + get statusChanged() { + const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; + if (changed) { + this.createSocketCountLastCheck = this.createSocketCount; + this.createSocketErrorCountLastCheck = this.createSocketErrorCount; + this.closeSocketCountLastCheck = this.closeSocketCount; + this.errorSocketCountLastCheck = this.errorSocketCount; + this.timeoutSocketCountLastCheck = this.timeoutSocketCount; + this.requestCountLastCheck = this.requestCount; + } + return changed; + } + getCurrentStatus() { + return { + createSocketCount: this.createSocketCount, + createSocketErrorCount: this.createSocketErrorCount, + closeSocketCount: this.closeSocketCount, + errorSocketCount: this.errorSocketCount, + timeoutSocketCount: this.timeoutSocketCount, + requestCount: this.requestCount, + freeSockets: inspect3(this.freeSockets), + sockets: inspect3(this.sockets), + requests: inspect3(this.requests) + }; + } + }; + function getSocketTimeout(socket) { + return socket.timeout || socket._idleTimeout; + } + function installListeners(agent, socket, options) { + debug2("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); + function onFree() { + if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) + return; + socket[SOCKET_REQUEST_FINISHED_COUNT]++; + agent.requestCount++; + debug2( + "%s(requests: %s, finished: %s) free", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + const name = agent.getName(options); + if (socket.writable && agent.requests[name] && agent.requests[name].length) { + socket[SOCKET_REQUEST_COUNT]++; + debug2( + "%s(requests: %s, finished: %s) will be reuse on agent free event", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + } + } + socket.on("free", onFree); + function onClose(isError2) { + debug2( + "%s(requests: %s, finished: %s) close, isError: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + isError2 + ); + agent.closeSocketCount++; + } + socket.on("close", onClose); + function onTimeout() { + const listenerCount = socket.listeners("timeout").length; + const timeout = getSocketTimeout(socket); + const req = socket._httpMessage; + const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; + debug2( + "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + timeout, + listenerCount, + defaultTimeoutListenerCount, + !!req, + reqTimeoutListenerCount + ); + if (debug2.enabled) { + debug2("timeout listeners: %s", socket.listeners("timeout").map((f4) => f4.name).join(", ")); + } + agent.timeoutSocketCount++; + const name = agent.getName(options); + if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { + socket.destroy(); + agent.removeSocket(socket, options); + debug2("%s is free, destroy quietly", socket[SOCKET_NAME]); + } else { + if (reqTimeoutListenerCount === 0) { + const error = new Error("Socket timeout"); + error.code = "ERR_SOCKET_TIMEOUT"; + error.timeout = timeout; + socket.destroy(error); + agent.removeSocket(socket, options); + debug2("%s destroy with timeout error", socket[SOCKET_NAME]); + } + } + } + socket.on("timeout", onTimeout); + function onError(err) { + const listenerCount = socket.listeners("error").length; + debug2( + "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT], + err, + listenerCount + ); + agent.errorSocketCount++; + if (listenerCount === 1) { + debug2("%s emit uncaught error event", socket[SOCKET_NAME]); + socket.removeListener("error", onError); + socket.emit("error", err); + } + } + socket.on("error", onError); + function onRemove() { + debug2( + "%s(requests: %s, finished: %s) agentRemove", + socket[SOCKET_NAME], + socket[SOCKET_REQUEST_COUNT], + socket[SOCKET_REQUEST_FINISHED_COUNT] + ); + socket.removeListener("close", onClose); + socket.removeListener("error", onError); + socket.removeListener("free", onFree); + socket.removeListener("timeout", onTimeout); + socket.removeListener("agentRemove", onRemove); + } + socket.on("agentRemove", onRemove); + } + module2.exports = Agent3; + function inspect3(obj) { + const res = {}; + for (const key in obj) { + res[key] = obj[key].length; + } + return res; + } + } +}); + +// node_modules/agentkeepalive/lib/https_agent.js +var require_https_agent = __commonJS({ + "node_modules/agentkeepalive/lib/https_agent.js"(exports, module2) { + "use strict"; + var OriginalHttpsAgent = require("https").Agent; + var HttpAgent = require_agent2(); + var { + INIT_SOCKET, + CREATE_HTTPS_CONNECTION + } = require_constants6(); + var HttpsAgent = class extends HttpAgent { + constructor(options) { + super(options); + this.defaultPort = 443; + this.protocol = "https:"; + this.maxCachedSessions = this.options.maxCachedSessions; + if (this.maxCachedSessions === void 0) { + this.maxCachedSessions = 100; + } + this._sessionCache = { + map: {}, + list: [] + }; + } + createConnection(options, oncreate) { + const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); + this[INIT_SOCKET](socket, options); + return socket; + } + }; + HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; + [ + "getName", + "_getSession", + "_cacheSession", + "_evictSession" + ].forEach(function(method) { + if (typeof OriginalHttpsAgent.prototype[method] === "function") { + HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; + } + }); + module2.exports = HttpsAgent; + } +}); + +// node_modules/agentkeepalive/index.js +var require_agentkeepalive = __commonJS({ + "node_modules/agentkeepalive/index.js"(exports, module2) { + "use strict"; + module2.exports = require_agent2(); + module2.exports.HttpsAgent = require_https_agent(); + module2.exports.constants = require_constants6(); + } +}); + +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); + } + return; + } + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event2(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() + }); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } + } + } + Event2.prototype = { + get type() { + return pd(this).event.type; + }, + get target() { + return pd(this).eventTarget; + }, + get currentTarget() { + return pd(this).currentTarget; + }, + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; + } + return [currentTarget]; + }, + get NONE() { + return 0; + }, + get CAPTURING_PHASE() { + return 1; + }, + get AT_TARGET() { + return 2; + }, + get BUBBLING_PHASE() { + return 3; + }, + get eventPhase() { + return pd(this).eventPhase; + }, + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); + } + }, + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + preventDefault() { + setCancelFlag(pd(this)); + }, + get defaultPrevented() { + return pd(this).canceled; + }, + get composed() { + return Boolean(pd(this).event.composed); + }, + get timeStamp() { + return pd(this).timeStamp; + }, + get srcElement() { + return pd(this).eventTarget; + }, + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; + } + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; + } + }, + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + initEvent() { + } + }; + Object.defineProperty(Event2.prototype, "constructor", { + value: Event2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event2.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event2); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true + }; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true + }; + } + function defineWrapper(BaseEvent, proto2) { + const keys = Object.keys(proto2); + if (keys.length === 0) { + return BaseEvent; + } + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } + }); + for (let i3 = 0; i3 < keys.length; ++i3) { + const key = keys[i3]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto2, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } + } + return CustomEvent; + } + function getWrapper(proto2) { + if (proto2 == null || proto2 === Object.prototype) { + return Event2; + } + let wrapper = wrappers.get(proto2); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto2)), proto2); + wrappers.set(proto2, wrapper); + } + return wrapper; + } + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); + } + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject3(x2) { + return x2 !== null && typeof x2 === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; + } + node = node.next; + } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject3(listener)) { + listener = null; + } + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; + } + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } + } + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget2.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget2.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true + } + }); + for (let i3 = 0; i3 < eventNames.length; ++i3) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]); + } + return CustomEventTarget; + } + function EventTarget2() { + if (this instanceof EventTarget2) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i3 = 0; i3 < arguments.length; ++i3) { + types[i3] = arguments[i3]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget2.prototype = { + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject3(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject3(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject3(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + return; + } + prev = node; + node = node.next; + } + }, + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget2.prototype, "constructor", { + value: EventTarget2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype); + } + exports.defineEventAttribute = defineEventAttribute; + exports.EventTarget = EventTarget2; + exports.default = EventTarget2; + module2.exports = EventTarget2; + module2.exports.EventTarget = module2.exports["default"] = EventTarget2; + module2.exports.defineEventAttribute = defineEventAttribute; + } +}); + +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var eventTargetShim = require_event_target_shim(); + var AbortSignal2 = class extends eventTargetShim.EventTarget { + constructor() { + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); + } + get aborted() { + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); + } + return aborted; + } + }; + eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal2.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; + } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal2.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { + constructor() { + signals.set(this, createAbortSignal()); + } + get signal() { + return getSignal(this); + } + abort() { + abortSignal(getSignal(this)); + } + }; + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); + } + return signal; + } + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports.AbortController = AbortController2; + exports.AbortSignal = AbortSignal2; + exports.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal2; + } +}); + +// node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +var require_ponyfill_es2018 = __commonJS({ + "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports, module2) { + (function(global2, factory) { + typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.WebStreamsPolyfill = {})); + })(exports, function(exports2) { + "use strict"; + function noop2() { + return void 0; + } + function typeIsObject(x2) { + return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; + } + const rethrowAssertionErrorRejection = noop2; + function setFunctionName(fn, name) { + try { + Object.defineProperty(fn, "name", { + value: name, + configurable: true + }); + } catch (_a5) { + } + } + const originalPromise = Promise; + const originalPromiseThen = Promise.prototype.then; + const originalPromiseReject = Promise.reject.bind(originalPromise); + function newPromise(executor) { + return new originalPromise(executor); + } + function promiseResolvedWith(value) { + return newPromise((resolve) => resolve(value)); + } + function promiseRejectedWith(reason) { + return originalPromiseReject(reason); + } + function PerformPromiseThen(promise, onFulfilled, onRejected) { + return originalPromiseThen.call(promise, onFulfilled, onRejected); + } + function uponPromise(promise, onFulfilled, onRejected) { + PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection); + } + function uponFulfillment(promise, onFulfilled) { + uponPromise(promise, onFulfilled); + } + function uponRejection(promise, onRejected) { + uponPromise(promise, void 0, onRejected); + } + function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { + return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); + } + function setPromiseIsHandledToTrue(promise) { + PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection); + } + let _queueMicrotask = (callback) => { + if (typeof queueMicrotask === "function") { + _queueMicrotask = queueMicrotask; + } else { + const resolvedPromise = promiseResolvedWith(void 0); + _queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb); + } + return _queueMicrotask(callback); + }; + function reflectCall(F3, V4, args) { + if (typeof F3 !== "function") { + throw new TypeError("Argument is not a function"); + } + return Function.prototype.apply.call(F3, V4, args); + } + function promiseCall(F3, V4, args) { + try { + return promiseResolvedWith(reflectCall(F3, V4, args)); + } catch (value) { + return promiseRejectedWith(value); + } + } + const QUEUE_MAX_ARRAY_SIZE = 16384; + class SimpleQueue { + constructor() { + this._cursor = 0; + this._size = 0; + this._front = { + _elements: [], + _next: void 0 + }; + this._back = this._front; + this._cursor = 0; + this._size = 0; + } + get length() { + return this._size; + } + push(element) { + const oldBack = this._back; + let newBack = oldBack; + if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { + newBack = { + _elements: [], + _next: void 0 + }; + } + oldBack._elements.push(element); + if (newBack !== oldBack) { + this._back = newBack; + oldBack._next = newBack; + } + ++this._size; + } + shift() { + const oldFront = this._front; + let newFront = oldFront; + const oldCursor = this._cursor; + let newCursor = oldCursor + 1; + const elements = oldFront._elements; + const element = elements[oldCursor]; + if (newCursor === QUEUE_MAX_ARRAY_SIZE) { + newFront = oldFront._next; + newCursor = 0; + } + --this._size; + this._cursor = newCursor; + if (oldFront !== newFront) { + this._front = newFront; + } + elements[oldCursor] = void 0; + return element; + } + forEach(callback) { + let i3 = this._cursor; + let node = this._front; + let elements = node._elements; + while (i3 !== elements.length || node._next !== void 0) { + if (i3 === elements.length) { + node = node._next; + elements = node._elements; + i3 = 0; + if (elements.length === 0) { + break; + } + } + callback(elements[i3]); + ++i3; + } + } + peek() { + const front = this._front; + const cursor = this._cursor; + return front._elements[cursor]; + } + } + const AbortSteps = Symbol("[[AbortSteps]]"); + const ErrorSteps = Symbol("[[ErrorSteps]]"); + const CancelSteps = Symbol("[[CancelSteps]]"); + const PullSteps = Symbol("[[PullSteps]]"); + const ReleaseSteps = Symbol("[[ReleaseSteps]]"); + function ReadableStreamReaderGenericInitialize(reader, stream4) { + reader._ownerReadableStream = stream4; + stream4._reader = reader; + if (stream4._state === "readable") { + defaultReaderClosedPromiseInitialize(reader); + } else if (stream4._state === "closed") { + defaultReaderClosedPromiseInitializeAsResolved(reader); + } else { + defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError); + } + } + function ReadableStreamReaderGenericCancel(reader, reason) { + const stream4 = reader._ownerReadableStream; + return ReadableStreamCancel(stream4, reason); + } + function ReadableStreamReaderGenericRelease(reader) { + const stream4 = reader._ownerReadableStream; + if (stream4._state === "readable") { + defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } else { + defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`)); + } + stream4._readableStreamController[ReleaseSteps](); + stream4._reader = void 0; + reader._ownerReadableStream = void 0; + } + function readerLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released reader"); + } + function defaultReaderClosedPromiseInitialize(reader) { + reader._closedPromise = newPromise((resolve, reject) => { + reader._closedPromise_resolve = resolve; + reader._closedPromise_reject = reject; + }); + } + function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseReject(reader, reason); + } + function defaultReaderClosedPromiseInitializeAsResolved(reader) { + defaultReaderClosedPromiseInitialize(reader); + defaultReaderClosedPromiseResolve(reader); + } + function defaultReaderClosedPromiseReject(reader, reason) { + if (reader._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(reader._closedPromise); + reader._closedPromise_reject(reason); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + function defaultReaderClosedPromiseResetToRejected(reader, reason) { + defaultReaderClosedPromiseInitializeAsRejected(reader, reason); + } + function defaultReaderClosedPromiseResolve(reader) { + if (reader._closedPromise_resolve === void 0) { + return; + } + reader._closedPromise_resolve(void 0); + reader._closedPromise_resolve = void 0; + reader._closedPromise_reject = void 0; + } + const NumberIsFinite = Number.isFinite || function(x2) { + return typeof x2 === "number" && isFinite(x2); + }; + const MathTrunc = Math.trunc || function(v2) { + return v2 < 0 ? Math.ceil(v2) : Math.floor(v2); + }; + function isDictionary(x2) { + return typeof x2 === "object" || typeof x2 === "function"; + } + function assertDictionary(obj, context2) { + if (obj !== void 0 && !isDictionary(obj)) { + throw new TypeError(`${context2} is not an object.`); + } + } + function assertFunction(x2, context2) { + if (typeof x2 !== "function") { + throw new TypeError(`${context2} is not a function.`); + } + } + function isObject3(x2) { + return typeof x2 === "object" && x2 !== null || typeof x2 === "function"; + } + function assertObject(x2, context2) { + if (!isObject3(x2)) { + throw new TypeError(`${context2} is not an object.`); + } + } + function assertRequiredArgument(x2, position, context2) { + if (x2 === void 0) { + throw new TypeError(`Parameter ${position} is required in '${context2}'.`); + } + } + function assertRequiredField(x2, field, context2) { + if (x2 === void 0) { + throw new TypeError(`${field} is required in '${context2}'.`); + } + } + function convertUnrestrictedDouble(value) { + return Number(value); + } + function censorNegativeZero(x2) { + return x2 === 0 ? 0 : x2; + } + function integerPart(x2) { + return censorNegativeZero(MathTrunc(x2)); + } + function convertUnsignedLongLongWithEnforceRange(value, context2) { + const lowerBound = 0; + const upperBound = Number.MAX_SAFE_INTEGER; + let x2 = Number(value); + x2 = censorNegativeZero(x2); + if (!NumberIsFinite(x2)) { + throw new TypeError(`${context2} is not a finite number`); + } + x2 = integerPart(x2); + if (x2 < lowerBound || x2 > upperBound) { + throw new TypeError(`${context2} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`); + } + if (!NumberIsFinite(x2) || x2 === 0) { + return 0; + } + return x2; + } + function assertReadableStream(x2, context2) { + if (!IsReadableStream(x2)) { + throw new TypeError(`${context2} is not a ReadableStream.`); + } + } + function AcquireReadableStreamDefaultReader(stream4) { + return new ReadableStreamDefaultReader2(stream4); + } + function ReadableStreamAddReadRequest(stream4, readRequest) { + stream4._reader._readRequests.push(readRequest); + } + function ReadableStreamFulfillReadRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readRequest = reader._readRequests.shift(); + if (done) { + readRequest._closeSteps(); + } else { + readRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadRequests(stream4) { + return stream4._reader._readRequests.length; + } + function ReadableStreamHasDefaultReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamDefaultReader(reader)) { + return false; + } + return true; + } + class ReadableStreamDefaultReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read() { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException("read")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: () => resolvePromise({ value: void 0, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamDefaultReaderRead(this, readRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamDefaultReader(this)) { + throw defaultReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamDefaultReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamDefaultReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamDefaultReader2.prototype.read, "read"); + setFunctionName(ReadableStreamDefaultReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultReader", + configurable: true + }); + } + function IsReadableStreamDefaultReader(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readRequests")) { + return false; + } + return x2 instanceof ReadableStreamDefaultReader2; + } + function ReadableStreamDefaultReaderRead(reader, readRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "closed") { + readRequest._closeSteps(); + } else if (stream4._state === "errored") { + readRequest._errorSteps(stream4._storedError); + } else { + stream4._readableStreamController[PullSteps](readRequest); + } + } + function ReadableStreamDefaultReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } + function ReadableStreamDefaultReaderErrorReadRequests(reader, e3) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._errorSteps(e3); + }); + } + function defaultReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`); + } + const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () { + }).prototype); + class ReadableStreamAsyncIteratorImpl { + constructor(reader, preventCancel) { + this._ongoingPromise = void 0; + this._isFinished = false; + this._reader = reader; + this._preventCancel = preventCancel; + } + next() { + const nextSteps = () => this._nextSteps(); + this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); + return this._ongoingPromise; + } + return(value) { + const returnSteps = () => this._returnSteps(value); + return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); + } + _nextSteps() { + if (this._isFinished) { + return Promise.resolve({ value: void 0, done: true }); + } + const reader = this._reader; + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readRequest = { + _chunkSteps: (chunk) => { + this._ongoingPromise = void 0; + _queueMicrotask(() => resolvePromise({ value: chunk, done: false })); + }, + _closeSteps: () => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + resolvePromise({ value: void 0, done: true }); + }, + _errorSteps: (reason) => { + this._ongoingPromise = void 0; + this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + rejectPromise(reason); + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promise; + } + _returnSteps(value) { + if (this._isFinished) { + return Promise.resolve({ value, done: true }); + } + this._isFinished = true; + const reader = this._reader; + if (!this._preventCancel) { + const result = ReadableStreamReaderGenericCancel(reader, value); + ReadableStreamReaderGenericRelease(reader); + return transformPromiseWith(result, () => ({ value, done: true })); + } + ReadableStreamReaderGenericRelease(reader); + return promiseResolvedWith({ value, done: true }); + } + } + const ReadableStreamAsyncIteratorPrototype = { + next() { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next")); + } + return this._asyncIteratorImpl.next(); + }, + return(value) { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return")); + } + return this._asyncIteratorImpl.return(value); + } + }; + Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); + function AcquireReadableStreamAsyncIterator(stream4, preventCancel) { + const reader = AcquireReadableStreamDefaultReader(stream4); + const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); + const iterator = Object.create(ReadableStreamAsyncIteratorPrototype); + iterator._asyncIteratorImpl = impl; + return iterator; + } + function IsReadableStreamAsyncIterator(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_asyncIteratorImpl")) { + return false; + } + try { + return x2._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl; + } catch (_a5) { + return false; + } + } + function streamAsyncIteratorBrandCheckException(name) { + return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`); + } + const NumberIsNaN = Number.isNaN || function(x2) { + return x2 !== x2; + }; + var _a4, _b2, _c2; + function CreateArrayFromList(elements) { + return elements.slice(); + } + function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) { + new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset); + } + let TransferArrayBuffer = (O3) => { + if (typeof O3.transfer === "function") { + TransferArrayBuffer = (buffer) => buffer.transfer(); + } else if (typeof structuredClone === "function") { + TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] }); + } else { + TransferArrayBuffer = (buffer) => buffer; + } + return TransferArrayBuffer(O3); + }; + let IsDetachedBuffer = (O3) => { + if (typeof O3.detached === "boolean") { + IsDetachedBuffer = (buffer) => buffer.detached; + } else { + IsDetachedBuffer = (buffer) => buffer.byteLength === 0; + } + return IsDetachedBuffer(O3); + }; + function ArrayBufferSlice(buffer, begin, end) { + if (buffer.slice) { + return buffer.slice(begin, end); + } + const length = end - begin; + const slice = new ArrayBuffer(length); + CopyDataBlockBytes(slice, 0, buffer, begin, length); + return slice; + } + function GetMethod(receiver, prop) { + const func = receiver[prop]; + if (func === void 0 || func === null) { + return void 0; + } + if (typeof func !== "function") { + throw new TypeError(`${String(prop)} is not a function`); + } + return func; + } + function CreateAsyncFromSyncIterator(syncIteratorRecord) { + const syncIterable = { + [Symbol.iterator]: () => syncIteratorRecord.iterator + }; + const asyncIterator2 = async function* () { + return yield* syncIterable; + }(); + const nextMethod = asyncIterator2.next; + return { iterator: asyncIterator2, nextMethod, done: false }; + } + const SymbolAsyncIterator = (_c2 = (_a4 = Symbol.asyncIterator) !== null && _a4 !== void 0 ? _a4 : (_b2 = Symbol.for) === null || _b2 === void 0 ? void 0 : _b2.call(Symbol, "Symbol.asyncIterator")) !== null && _c2 !== void 0 ? _c2 : "@@asyncIterator"; + function GetIterator(obj, hint = "sync", method) { + if (method === void 0) { + if (hint === "async") { + method = GetMethod(obj, SymbolAsyncIterator); + if (method === void 0) { + const syncMethod = GetMethod(obj, Symbol.iterator); + const syncIteratorRecord = GetIterator(obj, "sync", syncMethod); + return CreateAsyncFromSyncIterator(syncIteratorRecord); + } + } else { + method = GetMethod(obj, Symbol.iterator); + } + } + if (method === void 0) { + throw new TypeError("The object is not iterable"); + } + const iterator = reflectCall(method, obj, []); + if (!typeIsObject(iterator)) { + throw new TypeError("The iterator method must return an object"); + } + const nextMethod = iterator.next; + return { iterator, nextMethod, done: false }; + } + function IteratorNext(iteratorRecord) { + const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []); + if (!typeIsObject(result)) { + throw new TypeError("The iterator.next() method must return an object"); + } + return result; + } + function IteratorComplete(iterResult) { + return Boolean(iterResult.done); + } + function IteratorValue(iterResult) { + return iterResult.value; + } + function IsNonNegativeNumber(v2) { + if (typeof v2 !== "number") { + return false; + } + if (NumberIsNaN(v2)) { + return false; + } + if (v2 < 0) { + return false; + } + return true; + } + function CloneAsUint8Array(O3) { + const buffer = ArrayBufferSlice(O3.buffer, O3.byteOffset, O3.byteOffset + O3.byteLength); + return new Uint8Array(buffer); + } + function DequeueValue(container) { + const pair = container._queue.shift(); + container._queueTotalSize -= pair.size; + if (container._queueTotalSize < 0) { + container._queueTotalSize = 0; + } + return pair.value; + } + function EnqueueValueWithSize(container, value, size) { + if (!IsNonNegativeNumber(size) || size === Infinity) { + throw new RangeError("Size must be a finite, non-NaN, non-negative number."); + } + container._queue.push({ value, size }); + container._queueTotalSize += size; + } + function PeekQueueValue(container) { + const pair = container._queue.peek(); + return pair.value; + } + function ResetQueue(container) { + container._queue = new SimpleQueue(); + container._queueTotalSize = 0; + } + function isDataViewConstructor(ctor) { + return ctor === DataView; + } + function isDataView(view) { + return isDataViewConstructor(view.constructor); + } + function arrayBufferViewElementSize(ctor) { + if (isDataViewConstructor(ctor)) { + return 1; + } + return ctor.BYTES_PER_ELEMENT; + } + class ReadableStreamBYOBRequest2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get view() { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("view"); + } + return this._view; + } + respond(bytesWritten) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respond"); + } + assertRequiredArgument(bytesWritten, 1, "respond"); + bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter"); + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(this._view.buffer)) { + throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`); + } + ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); + } + respondWithNewView(view) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException("respondWithNewView"); + } + assertRequiredArgument(view, 1, "respondWithNewView"); + if (!ArrayBuffer.isView(view)) { + throw new TypeError("You can only respond with array buffer views"); + } + if (this._associatedReadableByteStreamController === void 0) { + throw new TypeError("This BYOB request has been invalidated"); + } + if (IsDetachedBuffer(view.buffer)) { + throw new TypeError("The given view's buffer has been detached and so cannot be used as a response"); + } + ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); + } + } + Object.defineProperties(ReadableStreamBYOBRequest2.prototype, { + respond: { enumerable: true }, + respondWithNewView: { enumerable: true }, + view: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respond, "respond"); + setFunctionName(ReadableStreamBYOBRequest2.prototype.respondWithNewView, "respondWithNewView"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBRequest2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBRequest", + configurable: true + }); + } + class ReadableByteStreamController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get byobRequest() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("byobRequest"); + } + return ReadableByteStreamControllerGetBYOBRequest(this); + } + get desiredSize() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("desiredSize"); + } + return ReadableByteStreamControllerGetDesiredSize(this); + } + close() { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("close"); + } + if (this._closeRequested) { + throw new TypeError("The stream has already been closed; do not close it again!"); + } + const state2 = this._controlledReadableByteStream._state; + if (state2 !== "readable") { + throw new TypeError(`The stream (in ${state2} state) is not in the readable state and cannot be closed`); + } + ReadableByteStreamControllerClose(this); + } + enqueue(chunk) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("enqueue"); + } + assertRequiredArgument(chunk, 1, "enqueue"); + if (!ArrayBuffer.isView(chunk)) { + throw new TypeError("chunk must be an array buffer view"); + } + if (chunk.byteLength === 0) { + throw new TypeError("chunk must have non-zero byteLength"); + } + if (chunk.buffer.byteLength === 0) { + throw new TypeError(`chunk's buffer must have non-zero byteLength`); + } + if (this._closeRequested) { + throw new TypeError("stream is closed or draining"); + } + const state2 = this._controlledReadableByteStream._state; + if (state2 !== "readable") { + throw new TypeError(`The stream (in ${state2} state) is not in the readable state and cannot be enqueued to`); + } + ReadableByteStreamControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException("error"); + } + ReadableByteStreamControllerError(this, e3); + } + [CancelSteps](reason) { + ReadableByteStreamControllerClearPendingPullIntos(this); + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableByteStreamControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) { + ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest); + return; + } + const autoAllocateChunkSize = this._autoAllocateChunkSize; + if (autoAllocateChunkSize !== void 0) { + let buffer; + try { + buffer = new ArrayBuffer(autoAllocateChunkSize); + } catch (bufferE) { + readRequest._errorSteps(bufferE); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: autoAllocateChunkSize, + byteOffset: 0, + byteLength: autoAllocateChunkSize, + bytesFilled: 0, + minimumFill: 1, + elementSize: 1, + viewConstructor: Uint8Array, + readerType: "default" + }; + this._pendingPullIntos.push(pullIntoDescriptor); + } + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableByteStreamControllerCallPullIfNeeded(this); + } + [ReleaseSteps]() { + if (this._pendingPullIntos.length > 0) { + const firstPullInto = this._pendingPullIntos.peek(); + firstPullInto.readerType = "none"; + this._pendingPullIntos = new SimpleQueue(); + this._pendingPullIntos.push(firstPullInto); + } + } + } + Object.defineProperties(ReadableByteStreamController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + byobRequest: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableByteStreamController2.prototype.close, "close"); + setFunctionName(ReadableByteStreamController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableByteStreamController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableByteStreamController2.prototype, Symbol.toStringTag, { + value: "ReadableByteStreamController", + configurable: true + }); + } + function IsReadableByteStreamController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableByteStream")) { + return false; + } + return x2 instanceof ReadableByteStreamController2; + } + function IsReadableStreamBYOBRequest(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_associatedReadableByteStreamController")) { + return false; + } + return x2 instanceof ReadableStreamBYOBRequest2; + } + function ReadableByteStreamControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableByteStreamControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableByteStreamControllerError(controller, e3); + return null; + }); + } + function ReadableByteStreamControllerClearPendingPullIntos(controller) { + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + controller._pendingPullIntos = new SimpleQueue(); + } + function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) { + let done = false; + if (stream4._state === "closed") { + done = true; + } + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "default") { + ReadableStreamFulfillReadRequest(stream4, filledView, done); + } else { + ReadableStreamFulfillReadIntoRequest(stream4, filledView, done); + } + } + function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { + const bytesFilled = pullIntoDescriptor.bytesFilled; + const elementSize = pullIntoDescriptor.elementSize; + return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); + } + function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { + controller._queue.push({ buffer, byteOffset, byteLength }); + controller._queueTotalSize += byteLength; + } + function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) { + let clonedChunk; + try { + clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength); + } catch (cloneE) { + ReadableByteStreamControllerError(controller, cloneE); + throw cloneE; + } + ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength); + } + function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) { + if (firstDescriptor.bytesFilled > 0) { + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled); + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { + const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); + const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; + let totalBytesToCopyRemaining = maxBytesToCopy; + let ready = false; + const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize; + const maxAlignedBytes = maxBytesFilled - remainderBytes; + if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { + totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; + ready = true; + } + const queue = controller._queue; + while (totalBytesToCopyRemaining > 0) { + const headOfQueue = queue.peek(); + const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); + const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); + if (headOfQueue.byteLength === bytesToCopy) { + queue.shift(); + } else { + headOfQueue.byteOffset += bytesToCopy; + headOfQueue.byteLength -= bytesToCopy; + } + controller._queueTotalSize -= bytesToCopy; + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); + totalBytesToCopyRemaining -= bytesToCopy; + } + return ready; + } + function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { + pullIntoDescriptor.bytesFilled += size; + } + function ReadableByteStreamControllerHandleQueueDrain(controller) { + if (controller._queueTotalSize === 0 && controller._closeRequested) { + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(controller._controlledReadableByteStream); + } else { + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + } + function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { + if (controller._byobRequest === null) { + return; + } + controller._byobRequest._associatedReadableByteStreamController = void 0; + controller._byobRequest._view = null; + controller._byobRequest = null; + } + function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { + while (controller._pendingPullIntos.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const pullIntoDescriptor = controller._pendingPullIntos.peek(); + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) { + const reader = controller._controlledReadableByteStream._reader; + while (reader._readRequests.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + const readRequest = reader._readRequests.shift(); + ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest); + } + } + function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) { + const stream4 = controller._controlledReadableByteStream; + const ctor = view.constructor; + const elementSize = arrayBufferViewElementSize(ctor); + const { byteOffset, byteLength } = view; + const minimumFill = min * elementSize; + let buffer; + try { + buffer = TransferArrayBuffer(view.buffer); + } catch (e3) { + readIntoRequest._errorSteps(e3); + return; + } + const pullIntoDescriptor = { + buffer, + bufferByteLength: buffer.byteLength, + byteOffset, + byteLength, + bytesFilled: 0, + minimumFill, + elementSize, + viewConstructor: ctor, + readerType: "byob" + }; + if (controller._pendingPullIntos.length > 0) { + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + return; + } + if (stream4._state === "closed") { + const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); + readIntoRequest._closeSteps(emptyView); + return; + } + if (controller._queueTotalSize > 0) { + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + ReadableByteStreamControllerHandleQueueDrain(controller); + readIntoRequest._chunkSteps(filledView); + return; + } + if (controller._closeRequested) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + readIntoRequest._errorSteps(e3); + return; + } + } + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream4, readIntoRequest); + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { + if (firstDescriptor.readerType === "none") { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const stream4 = controller._controlledReadableByteStream; + if (ReadableStreamHasBYOBReader(stream4)) { + while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { + ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); + if (pullIntoDescriptor.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + return; + } + if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { + return; + } + ReadableByteStreamControllerShiftPendingPullInto(controller); + const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; + if (remainderSize > 0) { + const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; + ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize); + } + pullIntoDescriptor.bytesFilled -= remainderSize; + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } + function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); + } else { + ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerShiftPendingPullInto(controller) { + const descriptor = controller._pendingPullIntos.shift(); + return descriptor; + } + function ReadableByteStreamControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return false; + } + if (controller._closeRequested) { + return false; + } + if (!controller._started) { + return false; + } + if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableByteStreamControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function ReadableByteStreamControllerClose(controller) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + if (controller._queueTotalSize > 0) { + controller._closeRequested = true; + return; + } + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) { + const e3 = new TypeError("Insufficient bytes to fill elements in the given buffer"); + ReadableByteStreamControllerError(controller, e3); + throw e3; + } + } + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + function ReadableByteStreamControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledReadableByteStream; + if (controller._closeRequested || stream4._state !== "readable") { + return; + } + const { buffer, byteOffset, byteLength } = chunk; + if (IsDetachedBuffer(buffer)) { + throw new TypeError("chunk's buffer is detached and so cannot be enqueued"); + } + const transferredBuffer = TransferArrayBuffer(buffer); + if (controller._pendingPullIntos.length > 0) { + const firstPendingPullInto = controller._pendingPullIntos.peek(); + if (IsDetachedBuffer(firstPendingPullInto.buffer)) { + throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk"); + } + ReadableByteStreamControllerInvalidateBYOBRequest(controller); + firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer); + if (firstPendingPullInto.readerType === "none") { + ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto); + } + } + if (ReadableStreamHasDefaultReader(stream4)) { + ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller); + if (ReadableStreamGetNumReadRequests(stream4) === 0) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } else { + if (controller._pendingPullIntos.length > 0) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + } + const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); + ReadableStreamFulfillReadRequest(stream4, transferredView, false); + } + } else if (ReadableStreamHasBYOBReader(stream4)) { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); + } else { + ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); + } + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerError(controller, e3) { + const stream4 = controller._controlledReadableByteStream; + if (stream4._state !== "readable") { + return; + } + ReadableByteStreamControllerClearPendingPullIntos(controller); + ResetQueue(controller); + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) { + const entry = controller._queue.shift(); + controller._queueTotalSize -= entry.byteLength; + ReadableByteStreamControllerHandleQueueDrain(controller); + const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); + readRequest._chunkSteps(view); + } + function ReadableByteStreamControllerGetBYOBRequest(controller) { + if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); + const byobRequest = Object.create(ReadableStreamBYOBRequest2.prototype); + SetUpReadableStreamBYOBRequest(byobRequest, controller, view); + controller._byobRequest = byobRequest; + } + return controller._byobRequest; + } + function ReadableByteStreamControllerGetDesiredSize(controller) { + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "errored") { + return null; + } + if (state2 === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableByteStreamControllerRespond(controller, bytesWritten) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + if (bytesWritten !== 0) { + throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream"); + } + } else { + if (bytesWritten === 0) { + throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream"); + } + if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) { + throw new RangeError("bytesWritten out of range"); + } + } + firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); + ReadableByteStreamControllerRespondInternal(controller, bytesWritten); + } + function ReadableByteStreamControllerRespondWithNewView(controller, view) { + const firstDescriptor = controller._pendingPullIntos.peek(); + const state2 = controller._controlledReadableByteStream._state; + if (state2 === "closed") { + if (view.byteLength !== 0) { + throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream"); + } + } else { + if (view.byteLength === 0) { + throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream"); + } + } + if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { + throw new RangeError("The region specified by view does not match byobRequest"); + } + if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) { + throw new RangeError("The buffer of view has different capacity than byobRequest"); + } + if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) { + throw new RangeError("The region specified by view is larger than byobRequest"); + } + const viewByteLength = view.byteLength; + firstDescriptor.buffer = TransferArrayBuffer(view.buffer); + ReadableByteStreamControllerRespondInternal(controller, viewByteLength); + } + function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { + controller._controlledReadableByteStream = stream4; + controller._pullAgain = false; + controller._pulling = false; + controller._byobRequest = null; + controller._queue = controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._closeRequested = false; + controller._started = false; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._autoAllocateChunkSize = autoAllocateChunkSize; + controller._pendingPullIntos = new SimpleQueue(); + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableByteStreamControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableByteStreamControllerError(controller, r3); + return null; + }); + } + function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) { + const controller = Object.create(ReadableByteStreamController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingByteSource.start !== void 0) { + startAlgorithm = () => underlyingByteSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingByteSource.pull !== void 0) { + pullAlgorithm = () => underlyingByteSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingByteSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; + if (autoAllocateChunkSize === 0) { + throw new TypeError("autoAllocateChunkSize must be greater than 0"); + } + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); + } + function SetUpReadableStreamBYOBRequest(request3, controller, view) { + request3._associatedReadableByteStreamController = controller; + request3._view = view; + } + function byobRequestBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`); + } + function byteStreamControllerBrandCheckException(name) { + return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`); + } + function convertReaderOptions(options, context2) { + assertDictionary(options, context2); + const mode4 = options === null || options === void 0 ? void 0 : options.mode; + return { + mode: mode4 === void 0 ? void 0 : convertReadableStreamReaderMode(mode4, `${context2} has member 'mode' that`) + }; + } + function convertReadableStreamReaderMode(mode4, context2) { + mode4 = `${mode4}`; + if (mode4 !== "byob") { + throw new TypeError(`${context2} '${mode4}' is not a valid enumeration value for ReadableStreamReaderMode`); + } + return mode4; + } + function convertByobReadOptions(options, context2) { + var _a5; + assertDictionary(options, context2); + const min = (_a5 = options === null || options === void 0 ? void 0 : options.min) !== null && _a5 !== void 0 ? _a5 : 1; + return { + min: convertUnsignedLongLongWithEnforceRange(min, `${context2} has member 'min' that`) + }; + } + function AcquireReadableStreamBYOBReader(stream4) { + return new ReadableStreamBYOBReader2(stream4); + } + function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) { + stream4._reader._readIntoRequests.push(readIntoRequest); + } + function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) { + const reader = stream4._reader; + const readIntoRequest = reader._readIntoRequests.shift(); + if (done) { + readIntoRequest._closeSteps(chunk); + } else { + readIntoRequest._chunkSteps(chunk); + } + } + function ReadableStreamGetNumReadIntoRequests(stream4) { + return stream4._reader._readIntoRequests.length; + } + function ReadableStreamHasBYOBReader(stream4) { + const reader = stream4._reader; + if (reader === void 0) { + return false; + } + if (!IsReadableStreamBYOBReader(reader)) { + return false; + } + return true; + } + class ReadableStreamBYOBReader2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader"); + assertReadableStream(stream4, "First parameter"); + if (IsReadableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive reading by another reader"); + } + if (!IsReadableByteStreamController(stream4._readableStreamController)) { + throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source"); + } + ReadableStreamReaderGenericInitialize(this, stream4); + this._readIntoRequests = new SimpleQueue(); + } + get closed() { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("closed")); + } + return this._closedPromise; + } + cancel(reason = void 0) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("cancel")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("cancel")); + } + return ReadableStreamReaderGenericCancel(this, reason); + } + read(view, rawOptions = {}) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException("read")); + } + if (!ArrayBuffer.isView(view)) { + return promiseRejectedWith(new TypeError("view must be an array buffer view")); + } + if (view.byteLength === 0) { + return promiseRejectedWith(new TypeError("view must have non-zero byteLength")); + } + if (view.buffer.byteLength === 0) { + return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`)); + } + if (IsDetachedBuffer(view.buffer)) { + return promiseRejectedWith(new TypeError("view's buffer has been detached")); + } + let options; + try { + options = convertByobReadOptions(rawOptions, "options"); + } catch (e3) { + return promiseRejectedWith(e3); + } + const min = options.min; + if (min === 0) { + return promiseRejectedWith(new TypeError("options.min must be greater than 0")); + } + if (!isDataView(view)) { + if (min > view.length) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length")); + } + } else if (min > view.byteLength) { + return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength")); + } + if (this._ownerReadableStream === void 0) { + return promiseRejectedWith(readerLockException("read from")); + } + let resolvePromise; + let rejectPromise; + const promise = newPromise((resolve, reject) => { + resolvePromise = resolve; + rejectPromise = reject; + }); + const readIntoRequest = { + _chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }), + _closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }), + _errorSteps: (e3) => rejectPromise(e3) + }; + ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest); + return promise; + } + releaseLock() { + if (!IsReadableStreamBYOBReader(this)) { + throw byobReaderBrandCheckException("releaseLock"); + } + if (this._ownerReadableStream === void 0) { + return; + } + ReadableStreamBYOBReaderRelease(this); + } + } + Object.defineProperties(ReadableStreamBYOBReader2.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + setFunctionName(ReadableStreamBYOBReader2.prototype.cancel, "cancel"); + setFunctionName(ReadableStreamBYOBReader2.prototype.read, "read"); + setFunctionName(ReadableStreamBYOBReader2.prototype.releaseLock, "releaseLock"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamBYOBReader2.prototype, Symbol.toStringTag, { + value: "ReadableStreamBYOBReader", + configurable: true + }); + } + function IsReadableStreamBYOBReader(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readIntoRequests")) { + return false; + } + return x2 instanceof ReadableStreamBYOBReader2; + } + function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { + const stream4 = reader._ownerReadableStream; + stream4._disturbed = true; + if (stream4._state === "errored") { + readIntoRequest._errorSteps(stream4._storedError); + } else { + ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest); + } + } + function ReadableStreamBYOBReaderRelease(reader) { + ReadableStreamReaderGenericRelease(reader); + const e3 = new TypeError("Reader was released"); + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._errorSteps(e3); + }); + } + function byobReaderBrandCheckException(name) { + return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`); + } + function ExtractHighWaterMark(strategy, defaultHWM) { + const { highWaterMark } = strategy; + if (highWaterMark === void 0) { + return defaultHWM; + } + if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { + throw new RangeError("Invalid highWaterMark"); + } + return highWaterMark; + } + function ExtractSizeAlgorithm(strategy) { + const { size } = strategy; + if (!size) { + return () => 1; + } + return size; + } + function convertQueuingStrategy(init, context2) { + assertDictionary(init, context2); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + const size = init === null || init === void 0 ? void 0 : init.size; + return { + highWaterMark: highWaterMark === void 0 ? void 0 : convertUnrestrictedDouble(highWaterMark), + size: size === void 0 ? void 0 : convertQueuingStrategySize(size, `${context2} has member 'size' that`) + }; + } + function convertQueuingStrategySize(fn, context2) { + assertFunction(fn, context2); + return (chunk) => convertUnrestrictedDouble(fn(chunk)); + } + function convertUnderlyingSink(original, context2) { + assertDictionary(original, context2); + const abort = original === null || original === void 0 ? void 0 : original.abort; + const close = original === null || original === void 0 ? void 0 : original.close; + const start = original === null || original === void 0 ? void 0 : original.start; + const type2 = original === null || original === void 0 ? void 0 : original.type; + const write = original === null || original === void 0 ? void 0 : original.write; + return { + abort: abort === void 0 ? void 0 : convertUnderlyingSinkAbortCallback(abort, original, `${context2} has member 'abort' that`), + close: close === void 0 ? void 0 : convertUnderlyingSinkCloseCallback(close, original, `${context2} has member 'close' that`), + start: start === void 0 ? void 0 : convertUnderlyingSinkStartCallback(start, original, `${context2} has member 'start' that`), + write: write === void 0 ? void 0 : convertUnderlyingSinkWriteCallback(write, original, `${context2} has member 'write' that`), + type: type2 + }; + } + function convertUnderlyingSinkAbortCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSinkCloseCallback(fn, original, context2) { + assertFunction(fn, context2); + return () => promiseCall(fn, original, []); + } + function convertUnderlyingSinkStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertUnderlyingSinkWriteCallback(fn, original, context2) { + assertFunction(fn, context2); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function assertWritableStream(x2, context2) { + if (!IsWritableStream(x2)) { + throw new TypeError(`${context2} is not a WritableStream.`); + } + } + function isAbortSignal(value) { + if (typeof value !== "object" || value === null) { + return false; + } + try { + return typeof value.aborted === "boolean"; + } catch (_a5) { + return false; + } + } + const supportsAbortController = typeof AbortController === "function"; + function createAbortController() { + if (supportsAbortController) { + return new AbortController(); + } + return void 0; + } + class WritableStream2 { + constructor(rawUnderlyingSink = {}, rawStrategy = {}) { + if (rawUnderlyingSink === void 0) { + rawUnderlyingSink = null; + } else { + assertObject(rawUnderlyingSink, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter"); + InitializeWritableStream(this); + const type2 = underlyingSink.type; + if (type2 !== void 0) { + throw new RangeError("Invalid type is specified"); + } + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); + } + get locked() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("locked"); + } + return IsWritableStreamLocked(this); + } + abort(reason = void 0) { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("abort")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")); + } + return WritableStreamAbort(this, reason); + } + close() { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2("close")); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")); + } + if (WritableStreamCloseQueuedOrInFlight(this)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamClose(this); + } + getWriter() { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2("getWriter"); + } + return AcquireWritableStreamDefaultWriter(this); + } + } + Object.defineProperties(WritableStream2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + getWriter: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(WritableStream2.prototype.abort, "abort"); + setFunctionName(WritableStream2.prototype.close, "close"); + setFunctionName(WritableStream2.prototype.getWriter, "getWriter"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, { + value: "WritableStream", + configurable: true + }); + } + function AcquireWritableStreamDefaultWriter(stream4) { + return new WritableStreamDefaultWriter2(stream4); + } + function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(WritableStream2.prototype); + InitializeWritableStream(stream4); + const controller = Object.create(WritableStreamDefaultController2.prototype); + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function InitializeWritableStream(stream4) { + stream4._state = "writable"; + stream4._storedError = void 0; + stream4._writer = void 0; + stream4._writableStreamController = void 0; + stream4._writeRequests = new SimpleQueue(); + stream4._inFlightWriteRequest = void 0; + stream4._closeRequest = void 0; + stream4._inFlightCloseRequest = void 0; + stream4._pendingAbortRequest = void 0; + stream4._backpressure = false; + } + function IsWritableStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_writableStreamController")) { + return false; + } + return x2 instanceof WritableStream2; + } + function IsWritableStreamLocked(stream4) { + if (stream4._writer === void 0) { + return false; + } + return true; + } + function WritableStreamAbort(stream4, reason) { + var _a5; + if (stream4._state === "closed" || stream4._state === "errored") { + return promiseResolvedWith(void 0); + } + stream4._writableStreamController._abortReason = reason; + (_a5 = stream4._writableStreamController._abortController) === null || _a5 === void 0 ? void 0 : _a5.abort(reason); + const state2 = stream4._state; + if (state2 === "closed" || state2 === "errored") { + return promiseResolvedWith(void 0); + } + if (stream4._pendingAbortRequest !== void 0) { + return stream4._pendingAbortRequest._promise; + } + let wasAlreadyErroring = false; + if (state2 === "erroring") { + wasAlreadyErroring = true; + reason = void 0; + } + const promise = newPromise((resolve, reject) => { + stream4._pendingAbortRequest = { + _promise: void 0, + _resolve: resolve, + _reject: reject, + _reason: reason, + _wasAlreadyErroring: wasAlreadyErroring + }; + }); + stream4._pendingAbortRequest._promise = promise; + if (!wasAlreadyErroring) { + WritableStreamStartErroring(stream4, reason); + } + return promise; + } + function WritableStreamClose(stream4) { + const state2 = stream4._state; + if (state2 === "closed" || state2 === "errored") { + return promiseRejectedWith(new TypeError(`The stream (in ${state2} state) is not in the writable state and cannot be closed`)); + } + const promise = newPromise((resolve, reject) => { + const closeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._closeRequest = closeRequest; + }); + const writer = stream4._writer; + if (writer !== void 0 && stream4._backpressure && state2 === "writable") { + defaultWriterReadyPromiseResolve(writer); + } + WritableStreamDefaultControllerClose(stream4._writableStreamController); + return promise; + } + function WritableStreamAddWriteRequest(stream4) { + const promise = newPromise((resolve, reject) => { + const writeRequest = { + _resolve: resolve, + _reject: reject + }; + stream4._writeRequests.push(writeRequest); + }); + return promise; + } + function WritableStreamDealWithRejection(stream4, error) { + const state2 = stream4._state; + if (state2 === "writable") { + WritableStreamStartErroring(stream4, error); + return; + } + WritableStreamFinishErroring(stream4); + } + function WritableStreamStartErroring(stream4, reason) { + const controller = stream4._writableStreamController; + stream4._state = "erroring"; + stream4._storedError = reason; + const writer = stream4._writer; + if (writer !== void 0) { + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); + } + if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) { + WritableStreamFinishErroring(stream4); + } + } + function WritableStreamFinishErroring(stream4) { + stream4._state = "errored"; + stream4._writableStreamController[ErrorSteps](); + const storedError = stream4._storedError; + stream4._writeRequests.forEach((writeRequest) => { + writeRequest._reject(storedError); + }); + stream4._writeRequests = new SimpleQueue(); + if (stream4._pendingAbortRequest === void 0) { + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const abortRequest = stream4._pendingAbortRequest; + stream4._pendingAbortRequest = void 0; + if (abortRequest._wasAlreadyErroring) { + abortRequest._reject(storedError); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return; + } + const promise = stream4._writableStreamController[AbortSteps](abortRequest._reason); + uponPromise(promise, () => { + abortRequest._resolve(); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }, (reason) => { + abortRequest._reject(reason); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4); + return null; + }); + } + function WritableStreamFinishInFlightWrite(stream4) { + stream4._inFlightWriteRequest._resolve(void 0); + stream4._inFlightWriteRequest = void 0; + } + function WritableStreamFinishInFlightWriteWithError(stream4, error) { + stream4._inFlightWriteRequest._reject(error); + stream4._inFlightWriteRequest = void 0; + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamFinishInFlightClose(stream4) { + stream4._inFlightCloseRequest._resolve(void 0); + stream4._inFlightCloseRequest = void 0; + const state2 = stream4._state; + if (state2 === "erroring") { + stream4._storedError = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._resolve(); + stream4._pendingAbortRequest = void 0; + } + } + stream4._state = "closed"; + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseResolve(writer); + } + } + function WritableStreamFinishInFlightCloseWithError(stream4, error) { + stream4._inFlightCloseRequest._reject(error); + stream4._inFlightCloseRequest = void 0; + if (stream4._pendingAbortRequest !== void 0) { + stream4._pendingAbortRequest._reject(error); + stream4._pendingAbortRequest = void 0; + } + WritableStreamDealWithRejection(stream4, error); + } + function WritableStreamCloseQueuedOrInFlight(stream4) { + if (stream4._closeRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamHasOperationMarkedInFlight(stream4) { + if (stream4._inFlightWriteRequest === void 0 && stream4._inFlightCloseRequest === void 0) { + return false; + } + return true; + } + function WritableStreamMarkCloseRequestInFlight(stream4) { + stream4._inFlightCloseRequest = stream4._closeRequest; + stream4._closeRequest = void 0; + } + function WritableStreamMarkFirstWriteRequestInFlight(stream4) { + stream4._inFlightWriteRequest = stream4._writeRequests.shift(); + } + function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) { + if (stream4._closeRequest !== void 0) { + stream4._closeRequest._reject(stream4._storedError); + stream4._closeRequest = void 0; + } + const writer = stream4._writer; + if (writer !== void 0) { + defaultWriterClosedPromiseReject(writer, stream4._storedError); + } + } + function WritableStreamUpdateBackpressure(stream4, backpressure) { + const writer = stream4._writer; + if (writer !== void 0 && backpressure !== stream4._backpressure) { + if (backpressure) { + defaultWriterReadyPromiseReset(writer); + } else { + defaultWriterReadyPromiseResolve(writer); + } + } + stream4._backpressure = backpressure; + } + class WritableStreamDefaultWriter2 { + constructor(stream4) { + assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter"); + assertWritableStream(stream4, "First parameter"); + if (IsWritableStreamLocked(stream4)) { + throw new TypeError("This stream has already been locked for exclusive writing by another writer"); + } + this._ownerWritableStream = stream4; + stream4._writer = this; + const state2 = stream4._state; + if (state2 === "writable") { + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) { + defaultWriterReadyPromiseInitialize(this); + } else { + defaultWriterReadyPromiseInitializeAsResolved(this); + } + defaultWriterClosedPromiseInitialize(this); + } else if (state2 === "erroring") { + defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError); + defaultWriterClosedPromiseInitialize(this); + } else if (state2 === "closed") { + defaultWriterReadyPromiseInitializeAsResolved(this); + defaultWriterClosedPromiseInitializeAsResolved(this); + } else { + const storedError = stream4._storedError; + defaultWriterReadyPromiseInitializeAsRejected(this, storedError); + defaultWriterClosedPromiseInitializeAsRejected(this, storedError); + } + } + get closed() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("closed")); + } + return this._closedPromise; + } + get desiredSize() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("desiredSize"); + } + if (this._ownerWritableStream === void 0) { + throw defaultWriterLockException("desiredSize"); + } + return WritableStreamDefaultWriterGetDesiredSize(this); + } + get ready() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("ready")); + } + return this._readyPromise; + } + abort(reason = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("abort")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("abort")); + } + return WritableStreamDefaultWriterAbort(this, reason); + } + close() { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("close")); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return promiseRejectedWith(defaultWriterLockException("close")); + } + if (WritableStreamCloseQueuedOrInFlight(stream4)) { + return promiseRejectedWith(new TypeError("Cannot close an already-closing stream")); + } + return WritableStreamDefaultWriterClose(this); + } + releaseLock() { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException("releaseLock"); + } + const stream4 = this._ownerWritableStream; + if (stream4 === void 0) { + return; + } + WritableStreamDefaultWriterRelease(this); + } + write(chunk = void 0) { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException("write")); + } + if (this._ownerWritableStream === void 0) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + return WritableStreamDefaultWriterWrite(this, chunk); + } + } + Object.defineProperties(WritableStreamDefaultWriter2.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + releaseLock: { enumerable: true }, + write: { enumerable: true }, + closed: { enumerable: true }, + desiredSize: { enumerable: true }, + ready: { enumerable: true } + }); + setFunctionName(WritableStreamDefaultWriter2.prototype.abort, "abort"); + setFunctionName(WritableStreamDefaultWriter2.prototype.close, "close"); + setFunctionName(WritableStreamDefaultWriter2.prototype.releaseLock, "releaseLock"); + setFunctionName(WritableStreamDefaultWriter2.prototype.write, "write"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultWriter2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultWriter", + configurable: true + }); + } + function IsWritableStreamDefaultWriter(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_ownerWritableStream")) { + return false; + } + return x2 instanceof WritableStreamDefaultWriter2; + } + function WritableStreamDefaultWriterAbort(writer, reason) { + const stream4 = writer._ownerWritableStream; + return WritableStreamAbort(stream4, reason); + } + function WritableStreamDefaultWriterClose(writer) { + const stream4 = writer._ownerWritableStream; + return WritableStreamClose(stream4); + } + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { + const stream4 = writer._ownerWritableStream; + const state2 = stream4._state; + if (WritableStreamCloseQueuedOrInFlight(stream4) || state2 === "closed") { + return promiseResolvedWith(void 0); + } + if (state2 === "errored") { + return promiseRejectedWith(stream4._storedError); + } + return WritableStreamDefaultWriterClose(writer); + } + function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { + if (writer._closedPromiseState === "pending") { + defaultWriterClosedPromiseReject(writer, error); + } else { + defaultWriterClosedPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { + if (writer._readyPromiseState === "pending") { + defaultWriterReadyPromiseReject(writer, error); + } else { + defaultWriterReadyPromiseResetToRejected(writer, error); + } + } + function WritableStreamDefaultWriterGetDesiredSize(writer) { + const stream4 = writer._ownerWritableStream; + const state2 = stream4._state; + if (state2 === "errored" || state2 === "erroring") { + return null; + } + if (state2 === "closed") { + return 0; + } + return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController); + } + function WritableStreamDefaultWriterRelease(writer) { + const stream4 = writer._ownerWritableStream; + const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`); + WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); + WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); + stream4._writer = void 0; + writer._ownerWritableStream = void 0; + } + function WritableStreamDefaultWriterWrite(writer, chunk) { + const stream4 = writer._ownerWritableStream; + const controller = stream4._writableStreamController; + const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); + if (stream4 !== writer._ownerWritableStream) { + return promiseRejectedWith(defaultWriterLockException("write to")); + } + const state2 = stream4._state; + if (state2 === "errored") { + return promiseRejectedWith(stream4._storedError); + } + if (WritableStreamCloseQueuedOrInFlight(stream4) || state2 === "closed") { + return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to")); + } + if (state2 === "erroring") { + return promiseRejectedWith(stream4._storedError); + } + const promise = WritableStreamAddWriteRequest(stream4); + WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); + return promise; + } + const closeSentinel = {}; + class WritableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get abortReason() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("abortReason"); + } + return this._abortReason; + } + get signal() { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("signal"); + } + if (this._abortController === void 0) { + throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported"); + } + return this._abortController.signal; + } + error(e3 = void 0) { + if (!IsWritableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$2("error"); + } + const state2 = this._controlledWritableStream._state; + if (state2 !== "writable") { + return; + } + WritableStreamDefaultControllerError(this, e3); + } + [AbortSteps](reason) { + const result = this._abortAlgorithm(reason); + WritableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [ErrorSteps]() { + ResetQueue(this); + } + } + Object.defineProperties(WritableStreamDefaultController2.prototype, { + abortReason: { enumerable: true }, + signal: { enumerable: true }, + error: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(WritableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "WritableStreamDefaultController", + configurable: true + }); + } + function IsWritableStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledWritableStream")) { + return false; + } + return x2 instanceof WritableStreamDefaultController2; + } + function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledWritableStream = stream4; + stream4._writableStreamController = controller; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._abortReason = void 0; + controller._abortController = createAbortController(); + controller._started = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._writeAlgorithm = writeAlgorithm; + controller._closeAlgorithm = closeAlgorithm; + controller._abortAlgorithm = abortAlgorithm; + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + const startResult = startAlgorithm(); + const startPromise = promiseResolvedWith(startResult); + uponPromise(startPromise, () => { + controller._started = true; + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (r3) => { + controller._started = true; + WritableStreamDealWithRejection(stream4, r3); + return null; + }); + } + function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) { + const controller = Object.create(WritableStreamDefaultController2.prototype); + let startAlgorithm; + let writeAlgorithm; + let closeAlgorithm; + let abortAlgorithm; + if (underlyingSink.start !== void 0) { + startAlgorithm = () => underlyingSink.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSink.write !== void 0) { + writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller); + } else { + writeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.close !== void 0) { + closeAlgorithm = () => underlyingSink.close(); + } else { + closeAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSink.abort !== void 0) { + abortAlgorithm = (reason) => underlyingSink.abort(reason); + } else { + abortAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); + } + function WritableStreamDefaultControllerClearAlgorithms(controller) { + controller._writeAlgorithm = void 0; + controller._closeAlgorithm = void 0; + controller._abortAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function WritableStreamDefaultControllerClose(controller) { + EnqueueValueWithSize(controller, closeSentinel, 0); + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { + try { + return controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); + return 1; + } + } + function WritableStreamDefaultControllerGetDesiredSize(controller) { + return controller._strategyHWM - controller._queueTotalSize; + } + function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); + return; + } + const stream4 = controller._controlledWritableStream; + if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { + const stream4 = controller._controlledWritableStream; + if (!controller._started) { + return; + } + if (stream4._inFlightWriteRequest !== void 0) { + return; + } + const state2 = stream4._state; + if (state2 === "erroring") { + WritableStreamFinishErroring(stream4); + return; + } + if (controller._queue.length === 0) { + return; + } + const value = PeekQueueValue(controller); + if (value === closeSentinel) { + WritableStreamDefaultControllerProcessClose(controller); + } else { + WritableStreamDefaultControllerProcessWrite(controller, value); + } + } + function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { + if (controller._controlledWritableStream._state === "writable") { + WritableStreamDefaultControllerError(controller, error); + } + } + function WritableStreamDefaultControllerProcessClose(controller) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkCloseRequestInFlight(stream4); + DequeueValue(controller); + const sinkClosePromise = controller._closeAlgorithm(); + WritableStreamDefaultControllerClearAlgorithms(controller); + uponPromise(sinkClosePromise, () => { + WritableStreamFinishInFlightClose(stream4); + return null; + }, (reason) => { + WritableStreamFinishInFlightCloseWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerProcessWrite(controller, chunk) { + const stream4 = controller._controlledWritableStream; + WritableStreamMarkFirstWriteRequestInFlight(stream4); + const sinkWritePromise = controller._writeAlgorithm(chunk); + uponPromise(sinkWritePromise, () => { + WritableStreamFinishInFlightWrite(stream4); + const state2 = stream4._state; + DequeueValue(controller); + if (!WritableStreamCloseQueuedOrInFlight(stream4) && state2 === "writable") { + const backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream4, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + return null; + }, (reason) => { + if (stream4._state === "writable") { + WritableStreamDefaultControllerClearAlgorithms(controller); + } + WritableStreamFinishInFlightWriteWithError(stream4, reason); + return null; + }); + } + function WritableStreamDefaultControllerGetBackpressure(controller) { + const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); + return desiredSize <= 0; + } + function WritableStreamDefaultControllerError(controller, error) { + const stream4 = controller._controlledWritableStream; + WritableStreamDefaultControllerClearAlgorithms(controller); + WritableStreamStartErroring(stream4, error); + } + function streamBrandCheckException$2(name) { + return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`); + } + function defaultControllerBrandCheckException$2(name) { + return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`); + } + function defaultWriterBrandCheckException(name) { + return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`); + } + function defaultWriterLockException(name) { + return new TypeError("Cannot " + name + " a stream using a released writer"); + } + function defaultWriterClosedPromiseInitialize(writer) { + writer._closedPromise = newPromise((resolve, reject) => { + writer._closedPromise_resolve = resolve; + writer._closedPromise_reject = reject; + writer._closedPromiseState = "pending"; + }); + } + function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseReject(writer, reason); + } + function defaultWriterClosedPromiseInitializeAsResolved(writer) { + defaultWriterClosedPromiseInitialize(writer); + defaultWriterClosedPromiseResolve(writer); + } + function defaultWriterClosedPromiseReject(writer, reason) { + if (writer._closedPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._closedPromise); + writer._closedPromise_reject(reason); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "rejected"; + } + function defaultWriterClosedPromiseResetToRejected(writer, reason) { + defaultWriterClosedPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterClosedPromiseResolve(writer) { + if (writer._closedPromise_resolve === void 0) { + return; + } + writer._closedPromise_resolve(void 0); + writer._closedPromise_resolve = void 0; + writer._closedPromise_reject = void 0; + writer._closedPromiseState = "resolved"; + } + function defaultWriterReadyPromiseInitialize(writer) { + writer._readyPromise = newPromise((resolve, reject) => { + writer._readyPromise_resolve = resolve; + writer._readyPromise_reject = reject; + }); + writer._readyPromiseState = "pending"; + } + function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseReject(writer, reason); + } + function defaultWriterReadyPromiseInitializeAsResolved(writer) { + defaultWriterReadyPromiseInitialize(writer); + defaultWriterReadyPromiseResolve(writer); + } + function defaultWriterReadyPromiseReject(writer, reason) { + if (writer._readyPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(writer._readyPromise); + writer._readyPromise_reject(reason); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "rejected"; + } + function defaultWriterReadyPromiseReset(writer) { + defaultWriterReadyPromiseInitialize(writer); + } + function defaultWriterReadyPromiseResetToRejected(writer, reason) { + defaultWriterReadyPromiseInitializeAsRejected(writer, reason); + } + function defaultWriterReadyPromiseResolve(writer) { + if (writer._readyPromise_resolve === void 0) { + return; + } + writer._readyPromise_resolve(void 0); + writer._readyPromise_resolve = void 0; + writer._readyPromise_reject = void 0; + writer._readyPromiseState = "fulfilled"; + } + function getGlobals() { + if (typeof globalThis !== "undefined") { + return globalThis; + } else if (typeof self !== "undefined") { + return self; + } else if (typeof global !== "undefined") { + return global; + } + return void 0; + } + const globals = getGlobals(); + function isDOMExceptionConstructor(ctor) { + if (!(typeof ctor === "function" || typeof ctor === "object")) { + return false; + } + if (ctor.name !== "DOMException") { + return false; + } + try { + new ctor(); + return true; + } catch (_a5) { + return false; + } + } + function getFromGlobal() { + const ctor = globals === null || globals === void 0 ? void 0 : globals.DOMException; + return isDOMExceptionConstructor(ctor) ? ctor : void 0; + } + function createPolyfill() { + const ctor = function DOMException4(message, name) { + this.message = message || ""; + this.name = name || "Error"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + }; + setFunctionName(ctor, "DOMException"); + ctor.prototype = Object.create(Error.prototype); + Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true }); + return ctor; + } + const DOMException3 = getFromGlobal() || createPolyfill(); + function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { + const reader = AcquireReadableStreamDefaultReader(source); + const writer = AcquireWritableStreamDefaultWriter(dest); + source._disturbed = true; + let shuttingDown = false; + let currentWrite = promiseResolvedWith(void 0); + return newPromise((resolve, reject) => { + let abortAlgorithm; + if (signal !== void 0) { + abortAlgorithm = () => { + const error = signal.reason !== void 0 ? signal.reason : new DOMException3("Aborted", "AbortError"); + const actions = []; + if (!preventAbort) { + actions.push(() => { + if (dest._state === "writable") { + return WritableStreamAbort(dest, error); + } + return promiseResolvedWith(void 0); + }); + } + if (!preventCancel) { + actions.push(() => { + if (source._state === "readable") { + return ReadableStreamCancel(source, error); + } + return promiseResolvedWith(void 0); + }); + } + shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error); + }; + if (signal.aborted) { + abortAlgorithm(); + return; + } + signal.addEventListener("abort", abortAlgorithm); + } + function pipeLoop() { + return newPromise((resolveLoop, rejectLoop) => { + function next(done) { + if (done) { + resolveLoop(); + } else { + PerformPromiseThen(pipeStep(), next, rejectLoop); + } + } + next(false); + }); + } + function pipeStep() { + if (shuttingDown) { + return promiseResolvedWith(true); + } + return PerformPromiseThen(writer._readyPromise, () => { + return newPromise((resolveRead, rejectRead) => { + ReadableStreamDefaultReaderRead(reader, { + _chunkSteps: (chunk) => { + currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), void 0, noop2); + resolveRead(false); + }, + _closeSteps: () => resolveRead(true), + _errorSteps: rejectRead + }); + }); + }); + } + isOrBecomesErrored(source, reader._closedPromise, (storedError) => { + if (!preventAbort) { + shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesErrored(dest, writer._closedPromise, (storedError) => { + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError); + } else { + shutdown(true, storedError); + } + return null; + }); + isOrBecomesClosed(source, reader._closedPromise, () => { + if (!preventClose) { + shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer)); + } else { + shutdown(); + } + return null; + }); + if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") { + const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it"); + if (!preventCancel) { + shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed); + } else { + shutdown(true, destClosed); + } + } + setPromiseIsHandledToTrue(pipeLoop()); + function waitForWritesToFinish() { + const oldCurrentWrite = currentWrite; + return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0); + } + function isOrBecomesErrored(stream4, promise, action) { + if (stream4._state === "errored") { + action(stream4._storedError); + } else { + uponRejection(promise, action); + } + } + function isOrBecomesClosed(stream4, promise, action) { + if (stream4._state === "closed") { + action(); + } else { + uponFulfillment(promise, action); + } + } + function shutdownWithAction(action, originalIsError, originalError) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), doTheRest); + } else { + doTheRest(); + } + function doTheRest() { + uponPromise(action(), () => finalize(originalIsError, originalError), (newError) => finalize(true, newError)); + return null; + } + } + function shutdown(isError2, error) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), () => finalize(isError2, error)); + } else { + finalize(isError2, error); + } + } + function finalize(isError2, error) { + WritableStreamDefaultWriterRelease(writer); + ReadableStreamReaderGenericRelease(reader); + if (signal !== void 0) { + signal.removeEventListener("abort", abortAlgorithm); + } + if (isError2) { + reject(error); + } else { + resolve(void 0); + } + return null; + } + }); + } + class ReadableStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("desiredSize"); + } + return ReadableStreamDefaultControllerGetDesiredSize(this); + } + close() { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("close"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits close"); + } + ReadableStreamDefaultControllerClose(this); + } + enqueue(chunk = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("enqueue"); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError("The stream is not in a state that permits enqueue"); + } + return ReadableStreamDefaultControllerEnqueue(this, chunk); + } + error(e3 = void 0) { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1("error"); + } + ReadableStreamDefaultControllerError(this, e3); + } + [CancelSteps](reason) { + ResetQueue(this); + const result = this._cancelAlgorithm(reason); + ReadableStreamDefaultControllerClearAlgorithms(this); + return result; + } + [PullSteps](readRequest) { + const stream4 = this._controlledReadableStream; + if (this._queue.length > 0) { + const chunk = DequeueValue(this); + if (this._closeRequested && this._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(this); + ReadableStreamClose(stream4); + } else { + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + readRequest._chunkSteps(chunk); + } else { + ReadableStreamAddReadRequest(stream4, readRequest); + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + } + [ReleaseSteps]() { + } + } + Object.defineProperties(ReadableStreamDefaultController2.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(ReadableStreamDefaultController2.prototype.close, "close"); + setFunctionName(ReadableStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(ReadableStreamDefaultController2.prototype.error, "error"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "ReadableStreamDefaultController", + configurable: true + }); + } + function IsReadableStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledReadableStream")) { + return false; + } + return x2 instanceof ReadableStreamDefaultController2; + } + function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { + const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); + if (!shouldPull) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + const pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, () => { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + return null; + }, (e3) => { + ReadableStreamDefaultControllerError(controller, e3); + return null; + }); + } + function ReadableStreamDefaultControllerShouldCallPull(controller) { + const stream4 = controller._controlledReadableStream; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return false; + } + if (!controller._started) { + return false; + } + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + return true; + } + const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); + if (desiredSize > 0) { + return true; + } + return false; + } + function ReadableStreamDefaultControllerClearAlgorithms(controller) { + controller._pullAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + controller._strategySizeAlgorithm = void 0; + } + function ReadableStreamDefaultControllerClose(controller) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + controller._closeRequested = true; + if (controller._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamClose(stream4); + } + } + function ReadableStreamDefaultControllerEnqueue(controller, chunk) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + const stream4 = controller._controlledReadableStream; + if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) { + ReadableStreamFulfillReadRequest(stream4, chunk, false); + } else { + let chunkSize; + try { + chunkSize = controller._strategySizeAlgorithm(chunk); + } catch (chunkSizeE) { + ReadableStreamDefaultControllerError(controller, chunkSizeE); + throw chunkSizeE; + } + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + ReadableStreamDefaultControllerError(controller, enqueueE); + throw enqueueE; + } + } + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + function ReadableStreamDefaultControllerError(controller, e3) { + const stream4 = controller._controlledReadableStream; + if (stream4._state !== "readable") { + return; + } + ResetQueue(controller); + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamError(stream4, e3); + } + function ReadableStreamDefaultControllerGetDesiredSize(controller) { + const state2 = controller._controlledReadableStream._state; + if (state2 === "errored") { + return null; + } + if (state2 === "closed") { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableStreamDefaultControllerHasBackpressure(controller) { + if (ReadableStreamDefaultControllerShouldCallPull(controller)) { + return false; + } + return true; + } + function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { + const state2 = controller._controlledReadableStream._state; + if (!controller._closeRequested && state2 === "readable") { + return true; + } + return false; + } + function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { + controller._controlledReadableStream = stream4; + controller._queue = void 0; + controller._queueTotalSize = void 0; + ResetQueue(controller); + controller._started = false; + controller._closeRequested = false; + controller._pullAgain = false; + controller._pulling = false; + controller._strategySizeAlgorithm = sizeAlgorithm; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + stream4._readableStreamController = controller; + const startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), () => { + controller._started = true; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(controller, r3); + return null; + }); + } + function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) { + const controller = Object.create(ReadableStreamDefaultController2.prototype); + let startAlgorithm; + let pullAlgorithm; + let cancelAlgorithm; + if (underlyingSource.start !== void 0) { + startAlgorithm = () => underlyingSource.start(controller); + } else { + startAlgorithm = () => void 0; + } + if (underlyingSource.pull !== void 0) { + pullAlgorithm = () => underlyingSource.pull(controller); + } else { + pullAlgorithm = () => promiseResolvedWith(void 0); + } + if (underlyingSource.cancel !== void 0) { + cancelAlgorithm = (reason) => underlyingSource.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + } + function defaultControllerBrandCheckException$1(name) { + return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`); + } + function ReadableStreamTee(stream4, cloneForBranch2) { + if (IsReadableByteStreamController(stream4._readableStreamController)) { + return ReadableByteStreamTee(stream4); + } + return ReadableStreamDefaultTee(stream4); + } + function ReadableStreamDefaultTee(stream4, cloneForBranch2) { + const reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgain = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function pullAlgorithm() { + if (reading) { + readAgain = true; + return promiseResolvedWith(void 0); + } + reading = true; + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgain = false; + const chunk1 = chunk; + const chunk2 = chunk; + if (!canceled1) { + ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgain) { + pullAlgorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableStreamDefaultControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableStreamDefaultControllerClose(branch2._readableStreamController); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + } + branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); + branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); + uponRejection(reader._closedPromise, (r3) => { + ReadableStreamDefaultControllerError(branch1._readableStreamController, r3); + ReadableStreamDefaultControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + return [branch1, branch2]; + } + function ReadableByteStreamTee(stream4) { + let reader = AcquireReadableStreamDefaultReader(stream4); + let reading = false; + let readAgainForBranch1 = false; + let readAgainForBranch2 = false; + let canceled1 = false; + let canceled2 = false; + let reason1; + let reason2; + let branch1; + let branch2; + let resolveCancelPromise; + const cancelPromise = newPromise((resolve) => { + resolveCancelPromise = resolve; + }); + function forwardReaderError(thisReader) { + uponRejection(thisReader._closedPromise, (r3) => { + if (thisReader !== reader) { + return null; + } + ReadableByteStreamControllerError(branch1._readableStreamController, r3); + ReadableByteStreamControllerError(branch2._readableStreamController, r3); + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + return null; + }); + } + function pullWithDefaultReader() { + if (IsReadableStreamBYOBReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamDefaultReader(stream4); + forwardReaderError(reader); + } + const readRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const chunk1 = chunk; + let chunk2 = chunk; + if (!canceled1 && !canceled2) { + try { + chunk2 = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(branch1._readableStreamController, cloneE); + ReadableByteStreamControllerError(branch2._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + } + if (!canceled1) { + ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1); + } + if (!canceled2) { + ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: () => { + reading = false; + if (!canceled1) { + ReadableByteStreamControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableByteStreamControllerClose(branch2._readableStreamController); + } + if (branch1._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch1._readableStreamController, 0); + } + if (branch2._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(branch2._readableStreamController, 0); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + } + function pullWithBYOBReader(view, forBranch2) { + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamReaderGenericRelease(reader); + reader = AcquireReadableStreamBYOBReader(stream4); + forwardReaderError(reader); + } + const byobBranch = forBranch2 ? branch2 : branch1; + const otherBranch = forBranch2 ? branch1 : branch2; + const readIntoRequest = { + _chunkSteps: (chunk) => { + _queueMicrotask(() => { + readAgainForBranch1 = false; + readAgainForBranch2 = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!otherCanceled) { + let clonedChunk; + try { + clonedChunk = CloneAsUint8Array(chunk); + } catch (cloneE) { + ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE); + ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE); + resolveCancelPromise(ReadableStreamCancel(stream4, cloneE)); + return; + } + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk); + } else if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + reading = false; + if (readAgainForBranch1) { + pull1Algorithm(); + } else if (readAgainForBranch2) { + pull2Algorithm(); + } + }); + }, + _closeSteps: (chunk) => { + reading = false; + const byobCanceled = forBranch2 ? canceled2 : canceled1; + const otherCanceled = forBranch2 ? canceled1 : canceled2; + if (!byobCanceled) { + ReadableByteStreamControllerClose(byobBranch._readableStreamController); + } + if (!otherCanceled) { + ReadableByteStreamControllerClose(otherBranch._readableStreamController); + } + if (chunk !== void 0) { + if (!byobCanceled) { + ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk); + } + if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) { + ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0); + } + } + if (!byobCanceled || !otherCanceled) { + resolveCancelPromise(void 0); + } + }, + _errorSteps: () => { + reading = false; + } + }; + ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); + } + function pull1Algorithm() { + if (reading) { + readAgainForBranch1 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, false); + } + return promiseResolvedWith(void 0); + } + function pull2Algorithm() { + if (reading) { + readAgainForBranch2 = true; + return promiseResolvedWith(void 0); + } + reading = true; + const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController); + if (byobRequest === null) { + pullWithDefaultReader(); + } else { + pullWithBYOBReader(byobRequest._view, true); + } + return promiseResolvedWith(void 0); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + const compositeReason = CreateArrayFromList([reason1, reason2]); + const cancelResult = ReadableStreamCancel(stream4, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function startAlgorithm() { + return; + } + branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm); + branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm); + forwardReaderError(reader); + return [branch1, branch2]; + } + function isReadableStreamLike(stream4) { + return typeIsObject(stream4) && typeof stream4.getReader !== "undefined"; + } + function ReadableStreamFrom(source) { + if (isReadableStreamLike(source)) { + return ReadableStreamFromDefaultReader(source.getReader()); + } + return ReadableStreamFromIterable(source); + } + function ReadableStreamFromIterable(asyncIterable) { + let stream4; + const iteratorRecord = GetIterator(asyncIterable, "async"); + const startAlgorithm = noop2; + function pullAlgorithm() { + let nextResult; + try { + nextResult = IteratorNext(iteratorRecord); + } catch (e3) { + return promiseRejectedWith(e3); + } + const nextPromise = promiseResolvedWith(nextResult); + return transformPromiseWith(nextPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object"); + } + const done = IteratorComplete(iterResult); + if (done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = IteratorValue(iterResult); + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + const iterator = iteratorRecord.iterator; + let returnMethod; + try { + returnMethod = GetMethod(iterator, "return"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (returnMethod === void 0) { + return promiseResolvedWith(void 0); + } + let returnResult; + try { + returnResult = reflectCall(returnMethod, iterator, [reason]); + } catch (e3) { + return promiseRejectedWith(e3); + } + const returnPromise = promiseResolvedWith(returnResult); + return transformPromiseWith(returnPromise, (iterResult) => { + if (!typeIsObject(iterResult)) { + throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object"); + } + return void 0; + }); + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function ReadableStreamFromDefaultReader(reader) { + let stream4; + const startAlgorithm = noop2; + function pullAlgorithm() { + let readPromise; + try { + readPromise = reader.read(); + } catch (e3) { + return promiseRejectedWith(e3); + } + return transformPromiseWith(readPromise, (readResult) => { + if (!typeIsObject(readResult)) { + throw new TypeError("The promise returned by the reader.read() method must fulfill with an object"); + } + if (readResult.done) { + ReadableStreamDefaultControllerClose(stream4._readableStreamController); + } else { + const value = readResult.value; + ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value); + } + }); + } + function cancelAlgorithm(reason) { + try { + return promiseResolvedWith(reader.cancel(reason)); + } catch (e3) { + return promiseRejectedWith(e3); + } + } + stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0); + return stream4; + } + function convertUnderlyingDefaultOrByteSource(source, context2) { + assertDictionary(source, context2); + const original = source; + const autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const pull = original === null || original === void 0 ? void 0 : original.pull; + const start = original === null || original === void 0 ? void 0 : original.start; + const type2 = original === null || original === void 0 ? void 0 : original.type; + return { + autoAllocateChunkSize: autoAllocateChunkSize === void 0 ? void 0 : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context2} has member 'autoAllocateChunkSize' that`), + cancel: cancel === void 0 ? void 0 : convertUnderlyingSourceCancelCallback(cancel, original, `${context2} has member 'cancel' that`), + pull: pull === void 0 ? void 0 : convertUnderlyingSourcePullCallback(pull, original, `${context2} has member 'pull' that`), + start: start === void 0 ? void 0 : convertUnderlyingSourceStartCallback(start, original, `${context2} has member 'start' that`), + type: type2 === void 0 ? void 0 : convertReadableStreamType(type2, `${context2} has member 'type' that`) + }; + } + function convertUnderlyingSourceCancelCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + function convertUnderlyingSourcePullCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertUnderlyingSourceStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertReadableStreamType(type2, context2) { + type2 = `${type2}`; + if (type2 !== "bytes") { + throw new TypeError(`${context2} '${type2}' is not a valid enumeration value for ReadableStreamType`); + } + return type2; + } + function convertIteratorOptions(options, context2) { + assertDictionary(options, context2); + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + return { preventCancel: Boolean(preventCancel) }; + } + function convertPipeOptions(options, context2) { + assertDictionary(options, context2); + const preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; + const preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + const preventClose = options === null || options === void 0 ? void 0 : options.preventClose; + const signal = options === null || options === void 0 ? void 0 : options.signal; + if (signal !== void 0) { + assertAbortSignal(signal, `${context2} has member 'signal' that`); + } + return { + preventAbort: Boolean(preventAbort), + preventCancel: Boolean(preventCancel), + preventClose: Boolean(preventClose), + signal + }; + } + function assertAbortSignal(signal, context2) { + if (!isAbortSignal(signal)) { + throw new TypeError(`${context2} is not an AbortSignal.`); + } + } + function convertReadableWritablePair(pair, context2) { + assertDictionary(pair, context2); + const readable = pair === null || pair === void 0 ? void 0 : pair.readable; + assertRequiredField(readable, "readable", "ReadableWritablePair"); + assertReadableStream(readable, `${context2} has member 'readable' that`); + const writable = pair === null || pair === void 0 ? void 0 : pair.writable; + assertRequiredField(writable, "writable", "ReadableWritablePair"); + assertWritableStream(writable, `${context2} has member 'writable' that`); + return { readable, writable }; + } + class ReadableStream5 { + constructor(rawUnderlyingSource = {}, rawStrategy = {}) { + if (rawUnderlyingSource === void 0) { + rawUnderlyingSource = null; + } else { + assertObject(rawUnderlyingSource, "First parameter"); + } + const strategy = convertQueuingStrategy(rawStrategy, "Second parameter"); + const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter"); + InitializeReadableStream(this); + if (underlyingSource.type === "bytes") { + if (strategy.size !== void 0) { + throw new RangeError("The strategy for a byte stream cannot have a size function"); + } + const highWaterMark = ExtractHighWaterMark(strategy, 0); + SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); + } else { + const sizeAlgorithm = ExtractSizeAlgorithm(strategy); + const highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); + } + } + get locked() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("locked"); + } + return IsReadableStreamLocked(this); + } + cancel(reason = void 0) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("cancel")); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")); + } + return ReadableStreamCancel(this, reason); + } + getReader(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("getReader"); + } + const options = convertReaderOptions(rawOptions, "First parameter"); + if (options.mode === void 0) { + return AcquireReadableStreamDefaultReader(this); + } + return AcquireReadableStreamBYOBReader(this); + } + pipeThrough(rawTransform, rawOptions = {}) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("pipeThrough"); + } + assertRequiredArgument(rawTransform, 1, "pipeThrough"); + const transform = convertReadableWritablePair(rawTransform, "First parameter"); + const options = convertPipeOptions(rawOptions, "Second parameter"); + if (IsReadableStreamLocked(this)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream"); + } + if (IsWritableStreamLocked(transform.writable)) { + throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream"); + } + const promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + setPromiseIsHandledToTrue(promise); + return transform.readable; + } + pipeTo(destination, rawOptions = {}) { + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1("pipeTo")); + } + if (destination === void 0) { + return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`); + } + if (!IsWritableStream(destination)) { + return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)); + } + let options; + try { + options = convertPipeOptions(rawOptions, "Second parameter"); + } catch (e3) { + return promiseRejectedWith(e3); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")); + } + if (IsWritableStreamLocked(destination)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")); + } + return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + } + tee() { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("tee"); + } + const branches = ReadableStreamTee(this); + return CreateArrayFromList(branches); + } + values(rawOptions = void 0) { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1("values"); + } + const options = convertIteratorOptions(rawOptions, "First parameter"); + return AcquireReadableStreamAsyncIterator(this, options.preventCancel); + } + [SymbolAsyncIterator](options) { + return this.values(options); + } + static from(asyncIterable) { + return ReadableStreamFrom(asyncIterable); + } + } + Object.defineProperties(ReadableStream5, { + from: { enumerable: true } + }); + Object.defineProperties(ReadableStream5.prototype, { + cancel: { enumerable: true }, + getReader: { enumerable: true }, + pipeThrough: { enumerable: true }, + pipeTo: { enumerable: true }, + tee: { enumerable: true }, + values: { enumerable: true }, + locked: { enumerable: true } + }); + setFunctionName(ReadableStream5.from, "from"); + setFunctionName(ReadableStream5.prototype.cancel, "cancel"); + setFunctionName(ReadableStream5.prototype.getReader, "getReader"); + setFunctionName(ReadableStream5.prototype.pipeThrough, "pipeThrough"); + setFunctionName(ReadableStream5.prototype.pipeTo, "pipeTo"); + setFunctionName(ReadableStream5.prototype.tee, "tee"); + setFunctionName(ReadableStream5.prototype.values, "values"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ReadableStream5.prototype, Symbol.toStringTag, { + value: "ReadableStream", + configurable: true + }); + } + Object.defineProperty(ReadableStream5.prototype, SymbolAsyncIterator, { + value: ReadableStream5.prototype.values, + writable: true, + configurable: true + }); + function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) { + const stream4 = Object.create(ReadableStream5.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableStreamDefaultController2.prototype); + SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + return stream4; + } + function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) { + const stream4 = Object.create(ReadableStream5.prototype); + InitializeReadableStream(stream4); + const controller = Object.create(ReadableByteStreamController2.prototype); + SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, void 0); + return stream4; + } + function InitializeReadableStream(stream4) { + stream4._state = "readable"; + stream4._reader = void 0; + stream4._storedError = void 0; + stream4._disturbed = false; + } + function IsReadableStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_readableStreamController")) { + return false; + } + return x2 instanceof ReadableStream5; + } + function IsReadableStreamLocked(stream4) { + if (stream4._reader === void 0) { + return false; + } + return true; + } + function ReadableStreamCancel(stream4, reason) { + stream4._disturbed = true; + if (stream4._state === "closed") { + return promiseResolvedWith(void 0); + } + if (stream4._state === "errored") { + return promiseRejectedWith(stream4._storedError); + } + ReadableStreamClose(stream4); + const reader = stream4._reader; + if (reader !== void 0 && IsReadableStreamBYOBReader(reader)) { + const readIntoRequests = reader._readIntoRequests; + reader._readIntoRequests = new SimpleQueue(); + readIntoRequests.forEach((readIntoRequest) => { + readIntoRequest._closeSteps(void 0); + }); + } + const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason); + return transformPromiseWith(sourceCancelPromise, noop2); + } + function ReadableStreamClose(stream4) { + stream4._state = "closed"; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseResolve(reader); + if (IsReadableStreamDefaultReader(reader)) { + const readRequests = reader._readRequests; + reader._readRequests = new SimpleQueue(); + readRequests.forEach((readRequest) => { + readRequest._closeSteps(); + }); + } + } + function ReadableStreamError(stream4, e3) { + stream4._state = "errored"; + stream4._storedError = e3; + const reader = stream4._reader; + if (reader === void 0) { + return; + } + defaultReaderClosedPromiseReject(reader, e3); + if (IsReadableStreamDefaultReader(reader)) { + ReadableStreamDefaultReaderErrorReadRequests(reader, e3); + } else { + ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e3); + } + } + function streamBrandCheckException$1(name) { + return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`); + } + function convertQueuingStrategyInit(init, context2) { + assertDictionary(init, context2); + const highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit"); + return { + highWaterMark: convertUnrestrictedDouble(highWaterMark) + }; + } + const byteLengthSizeFunction = (chunk) => { + return chunk.byteLength; + }; + setFunctionName(byteLengthSizeFunction, "size"); + class ByteLengthQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("highWaterMark"); + } + return this._byteLengthQueuingStrategyHighWaterMark; + } + get size() { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException("size"); + } + return byteLengthSizeFunction; + } + } + Object.defineProperties(ByteLengthQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(ByteLengthQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "ByteLengthQueuingStrategy", + configurable: true + }); + } + function byteLengthBrandCheckException(name) { + return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`); + } + function IsByteLengthQueuingStrategy(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_byteLengthQueuingStrategyHighWaterMark")) { + return false; + } + return x2 instanceof ByteLengthQueuingStrategy2; + } + const countSizeFunction = () => { + return 1; + }; + setFunctionName(countSizeFunction, "size"); + class CountQueuingStrategy2 { + constructor(options) { + assertRequiredArgument(options, 1, "CountQueuingStrategy"); + options = convertQueuingStrategyInit(options, "First parameter"); + this._countQueuingStrategyHighWaterMark = options.highWaterMark; + } + get highWaterMark() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("highWaterMark"); + } + return this._countQueuingStrategyHighWaterMark; + } + get size() { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException("size"); + } + return countSizeFunction; + } + } + Object.defineProperties(CountQueuingStrategy2.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, { + value: "CountQueuingStrategy", + configurable: true + }); + } + function countBrandCheckException(name) { + return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`); + } + function IsCountQueuingStrategy(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_countQueuingStrategyHighWaterMark")) { + return false; + } + return x2 instanceof CountQueuingStrategy2; + } + function convertTransformer(original, context2) { + assertDictionary(original, context2); + const cancel = original === null || original === void 0 ? void 0 : original.cancel; + const flush = original === null || original === void 0 ? void 0 : original.flush; + const readableType = original === null || original === void 0 ? void 0 : original.readableType; + const start = original === null || original === void 0 ? void 0 : original.start; + const transform = original === null || original === void 0 ? void 0 : original.transform; + const writableType = original === null || original === void 0 ? void 0 : original.writableType; + return { + cancel: cancel === void 0 ? void 0 : convertTransformerCancelCallback(cancel, original, `${context2} has member 'cancel' that`), + flush: flush === void 0 ? void 0 : convertTransformerFlushCallback(flush, original, `${context2} has member 'flush' that`), + readableType, + start: start === void 0 ? void 0 : convertTransformerStartCallback(start, original, `${context2} has member 'start' that`), + transform: transform === void 0 ? void 0 : convertTransformerTransformCallback(transform, original, `${context2} has member 'transform' that`), + writableType + }; + } + function convertTransformerFlushCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => promiseCall(fn, original, [controller]); + } + function convertTransformerStartCallback(fn, original, context2) { + assertFunction(fn, context2); + return (controller) => reflectCall(fn, original, [controller]); + } + function convertTransformerTransformCallback(fn, original, context2) { + assertFunction(fn, context2); + return (chunk, controller) => promiseCall(fn, original, [chunk, controller]); + } + function convertTransformerCancelCallback(fn, original, context2) { + assertFunction(fn, context2); + return (reason) => promiseCall(fn, original, [reason]); + } + class TransformStream3 { + constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) { + if (rawTransformer === void 0) { + rawTransformer = null; + } + const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter"); + const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter"); + const transformer = convertTransformer(rawTransformer, "First parameter"); + if (transformer.readableType !== void 0) { + throw new RangeError("Invalid readableType specified"); + } + if (transformer.writableType !== void 0) { + throw new RangeError("Invalid writableType specified"); + } + const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); + const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); + const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); + const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); + let startPromise_resolve; + const startPromise = newPromise((resolve) => { + startPromise_resolve = resolve; + }); + InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); + if (transformer.start !== void 0) { + startPromise_resolve(transformer.start(this._transformStreamController)); + } else { + startPromise_resolve(void 0); + } + } + get readable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("readable"); + } + return this._readable; + } + get writable() { + if (!IsTransformStream(this)) { + throw streamBrandCheckException("writable"); + } + return this._writable; + } + } + Object.defineProperties(TransformStream3.prototype, { + readable: { enumerable: true }, + writable: { enumerable: true } + }); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStream3.prototype, Symbol.toStringTag, { + value: "TransformStream", + configurable: true + }); + } + function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { + function startAlgorithm() { + return startPromise; + } + function writeAlgorithm(chunk) { + return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk); + } + function abortAlgorithm(reason) { + return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason); + } + function closeAlgorithm() { + return TransformStreamDefaultSinkCloseAlgorithm(stream4); + } + stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); + function pullAlgorithm() { + return TransformStreamDefaultSourcePullAlgorithm(stream4); + } + function cancelAlgorithm(reason) { + return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason); + } + stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + stream4._backpressure = void 0; + stream4._backpressureChangePromise = void 0; + stream4._backpressureChangePromise_resolve = void 0; + TransformStreamSetBackpressure(stream4, true); + stream4._transformStreamController = void 0; + } + function IsTransformStream(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_transformStreamController")) { + return false; + } + return x2 instanceof TransformStream3; + } + function TransformStreamError(stream4, e3) { + ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e3); + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + } + function TransformStreamErrorWritableAndUnblockWrite(stream4, e3) { + TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController); + WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e3); + TransformStreamUnblockWrite(stream4); + } + function TransformStreamUnblockWrite(stream4) { + if (stream4._backpressure) { + TransformStreamSetBackpressure(stream4, false); + } + } + function TransformStreamSetBackpressure(stream4, backpressure) { + if (stream4._backpressureChangePromise !== void 0) { + stream4._backpressureChangePromise_resolve(); + } + stream4._backpressureChangePromise = newPromise((resolve) => { + stream4._backpressureChangePromise_resolve = resolve; + }); + stream4._backpressure = backpressure; + } + class TransformStreamDefaultController2 { + constructor() { + throw new TypeError("Illegal constructor"); + } + get desiredSize() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("desiredSize"); + } + const readableController = this._controlledTransformStream._readable._readableStreamController; + return ReadableStreamDefaultControllerGetDesiredSize(readableController); + } + enqueue(chunk = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("enqueue"); + } + TransformStreamDefaultControllerEnqueue(this, chunk); + } + error(reason = void 0) { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("error"); + } + TransformStreamDefaultControllerError(this, reason); + } + terminate() { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException("terminate"); + } + TransformStreamDefaultControllerTerminate(this); + } + } + Object.defineProperties(TransformStreamDefaultController2.prototype, { + enqueue: { enumerable: true }, + error: { enumerable: true }, + terminate: { enumerable: true }, + desiredSize: { enumerable: true } + }); + setFunctionName(TransformStreamDefaultController2.prototype.enqueue, "enqueue"); + setFunctionName(TransformStreamDefaultController2.prototype.error, "error"); + setFunctionName(TransformStreamDefaultController2.prototype.terminate, "terminate"); + if (typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(TransformStreamDefaultController2.prototype, Symbol.toStringTag, { + value: "TransformStreamDefaultController", + configurable: true + }); + } + function IsTransformStreamDefaultController(x2) { + if (!typeIsObject(x2)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x2, "_controlledTransformStream")) { + return false; + } + return x2 instanceof TransformStreamDefaultController2; + } + function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) { + controller._controlledTransformStream = stream4; + stream4._transformStreamController = controller; + controller._transformAlgorithm = transformAlgorithm; + controller._flushAlgorithm = flushAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._finishPromise = void 0; + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) { + const controller = Object.create(TransformStreamDefaultController2.prototype); + let transformAlgorithm; + let flushAlgorithm; + let cancelAlgorithm; + if (transformer.transform !== void 0) { + transformAlgorithm = (chunk) => transformer.transform(chunk, controller); + } else { + transformAlgorithm = (chunk) => { + try { + TransformStreamDefaultControllerEnqueue(controller, chunk); + return promiseResolvedWith(void 0); + } catch (transformResultE) { + return promiseRejectedWith(transformResultE); + } + }; + } + if (transformer.flush !== void 0) { + flushAlgorithm = () => transformer.flush(controller); + } else { + flushAlgorithm = () => promiseResolvedWith(void 0); + } + if (transformer.cancel !== void 0) { + cancelAlgorithm = (reason) => transformer.cancel(reason); + } else { + cancelAlgorithm = () => promiseResolvedWith(void 0); + } + SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm); + } + function TransformStreamDefaultControllerClearAlgorithms(controller) { + controller._transformAlgorithm = void 0; + controller._flushAlgorithm = void 0; + controller._cancelAlgorithm = void 0; + } + function TransformStreamDefaultControllerEnqueue(controller, chunk) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) { + throw new TypeError("Readable side is not in a state that permits enqueue"); + } + try { + ReadableStreamDefaultControllerEnqueue(readableController, chunk); + } catch (e3) { + TransformStreamErrorWritableAndUnblockWrite(stream4, e3); + throw stream4._readable._storedError; + } + const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); + if (backpressure !== stream4._backpressure) { + TransformStreamSetBackpressure(stream4, true); + } + } + function TransformStreamDefaultControllerError(controller, e3) { + TransformStreamError(controller._controlledTransformStream, e3); + } + function TransformStreamDefaultControllerPerformTransform(controller, chunk) { + const transformPromise = controller._transformAlgorithm(chunk); + return transformPromiseWith(transformPromise, void 0, (r3) => { + TransformStreamError(controller._controlledTransformStream, r3); + throw r3; + }); + } + function TransformStreamDefaultControllerTerminate(controller) { + const stream4 = controller._controlledTransformStream; + const readableController = stream4._readable._readableStreamController; + ReadableStreamDefaultControllerClose(readableController); + const error = new TypeError("TransformStream terminated"); + TransformStreamErrorWritableAndUnblockWrite(stream4, error); + } + function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) { + const controller = stream4._transformStreamController; + if (stream4._backpressure) { + const backpressureChangePromise = stream4._backpressureChangePromise; + return transformPromiseWith(backpressureChangePromise, () => { + const writable = stream4._writable; + const state2 = writable._state; + if (state2 === "erroring") { + throw writable._storedError; + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + }); + } + return TransformStreamDefaultControllerPerformTransform(controller, chunk); + } + function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerError(readable._readableStreamController, reason); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSinkCloseAlgorithm(stream4) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const readable = stream4._readable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const flushPromise = controller._flushAlgorithm(); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(flushPromise, () => { + if (readable._state === "errored") { + defaultControllerFinishPromiseReject(controller, readable._storedError); + } else { + ReadableStreamDefaultControllerClose(readable._readableStreamController); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + ReadableStreamDefaultControllerError(readable._readableStreamController, r3); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function TransformStreamDefaultSourcePullAlgorithm(stream4) { + TransformStreamSetBackpressure(stream4, false); + return stream4._backpressureChangePromise; + } + function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) { + const controller = stream4._transformStreamController; + if (controller._finishPromise !== void 0) { + return controller._finishPromise; + } + const writable = stream4._writable; + controller._finishPromise = newPromise((resolve, reject) => { + controller._finishPromise_resolve = resolve; + controller._finishPromise_reject = reject; + }); + const cancelPromise = controller._cancelAlgorithm(reason); + TransformStreamDefaultControllerClearAlgorithms(controller); + uponPromise(cancelPromise, () => { + if (writable._state === "errored") { + defaultControllerFinishPromiseReject(controller, writable._storedError); + } else { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, reason); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseResolve(controller); + } + return null; + }, (r3) => { + WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController, r3); + TransformStreamUnblockWrite(stream4); + defaultControllerFinishPromiseReject(controller, r3); + return null; + }); + return controller._finishPromise; + } + function defaultControllerBrandCheckException(name) { + return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`); + } + function defaultControllerFinishPromiseResolve(controller) { + if (controller._finishPromise_resolve === void 0) { + return; + } + controller._finishPromise_resolve(); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function defaultControllerFinishPromiseReject(controller, reason) { + if (controller._finishPromise_reject === void 0) { + return; + } + setPromiseIsHandledToTrue(controller._finishPromise); + controller._finishPromise_reject(reason); + controller._finishPromise_resolve = void 0; + controller._finishPromise_reject = void 0; + } + function streamBrandCheckException(name) { + return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`); + } + exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy2; + exports2.CountQueuingStrategy = CountQueuingStrategy2; + exports2.ReadableByteStreamController = ReadableByteStreamController2; + exports2.ReadableStream = ReadableStream5; + exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader2; + exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest2; + exports2.ReadableStreamDefaultController = ReadableStreamDefaultController2; + exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader2; + exports2.TransformStream = TransformStream3; + exports2.TransformStreamDefaultController = TransformStreamDefaultController2; + exports2.WritableStream = WritableStream2; + exports2.WritableStreamDefaultController = WritableStreamDefaultController2; + exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter2; + }); + } +}); + +// node_modules/node-domexception/index.js +var require_node_domexception = __commonJS({ + "node_modules/node-domexception/index.js"(exports, module2) { + if (!globalThis.DOMException) { + try { + const { MessageChannel } = require("worker_threads"), port = new MessageChannel().port1, ab = new ArrayBuffer(); + port.postMessage(ab, [ab, ab]); + } catch (err) { + err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor); + } + } + module2.exports = globalThis.DOMException; + } +}); + +// node_modules/formdata-node/lib/esm/isPlainObject.js +function isPlainObject3(value) { + if (getType2(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var getType2, isPlainObject_default2; +var init_isPlainObject = __esm({ + "node_modules/formdata-node/lib/esm/isPlainObject.js"() { + getType2 = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); + isPlainObject_default2 = isPlainObject3; + } +}); + +// node_modules/formdata-node/lib/esm/fileFromPath.js +var fileFromPath_exports = {}; +__export(fileFromPath_exports, { + fileFromPath: () => fileFromPath2, + fileFromPathSync: () => fileFromPathSync, + isFile: () => isFile2 +}); +function createFileFromPath(path2, { mtimeMs, size }, filenameOrOptions, options = {}) { + let filename; + if (isPlainObject_default2(filenameOrOptions)) { + [options, filename] = [filenameOrOptions, void 0]; + } else { + filename = filenameOrOptions; + } + const file = new FileFromPath({ path: path2, size, lastModified: mtimeMs }); + if (!filename) { + filename = file.name; + } + return new File3([file], filename, { + ...options, + lastModified: file.lastModified + }); +} +function fileFromPathSync(path2, filenameOrOptions, options = {}) { + const stats = (0, import_fs2.statSync)(path2); + return createFileFromPath(path2, stats, filenameOrOptions, options); +} +async function fileFromPath2(path2, filenameOrOptions, options) { + const stats = await import_fs2.promises.stat(path2); + return createFileFromPath(path2, stats, filenameOrOptions, options); +} +var import_fs2, import_path3, import_node_domexception, __classPrivateFieldSet5, __classPrivateFieldGet6, _FileFromPath_path, _FileFromPath_start, MESSAGE, FileFromPath; +var init_fileFromPath = __esm({ + "node_modules/formdata-node/lib/esm/fileFromPath.js"() { + import_fs2 = require("fs"); + import_path3 = require("path"); + import_node_domexception = __toESM(require_node_domexception(), 1); + init_File(); + init_isPlainObject(); + init_isFile(); + __classPrivateFieldSet5 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; + }; + __classPrivateFieldGet6 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); + }; + MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."; + FileFromPath = class { + constructor(input) { + _FileFromPath_path.set(this, void 0); + _FileFromPath_start.set(this, void 0); + __classPrivateFieldSet5(this, _FileFromPath_path, input.path, "f"); + __classPrivateFieldSet5(this, _FileFromPath_start, input.start || 0, "f"); + this.name = (0, import_path3.basename)(__classPrivateFieldGet6(this, _FileFromPath_path, "f")); + this.size = input.size; + this.lastModified = input.lastModified; + } + slice(start, end) { + return new FileFromPath({ + path: __classPrivateFieldGet6(this, _FileFromPath_path, "f"), + lastModified: this.lastModified, + size: end - start, + start + }); + } + async *stream() { + const { mtimeMs } = await import_fs2.promises.stat(__classPrivateFieldGet6(this, _FileFromPath_path, "f")); + if (mtimeMs > this.lastModified) { + throw new import_node_domexception.default(MESSAGE, "NotReadableError"); + } + if (this.size) { + yield* (0, import_fs2.createReadStream)(__classPrivateFieldGet6(this, _FileFromPath_path, "f"), { + start: __classPrivateFieldGet6(this, _FileFromPath_start, "f"), + end: __classPrivateFieldGet6(this, _FileFromPath_start, "f") + this.size - 1 + }); + } + } + get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() { + return "File"; + } + }; + } +}); + // src/github-action.ts -var import_fs2 = require("fs"); -var import_core3 = __toESM(require_core(), 1); +var import_fs3 = require("fs"); +var import_core5 = __toESM(require_core(), 1); var import_exec = __toESM(require_exec(), 1); var import_github = __toESM(require_github(), 1); @@ -23161,105 +48456,110 @@ var import_github = __toESM(require_github(), 1); var import_sisteransi = __toESM(require_src(), 1); var import_node_process = require("node:process"); var f = __toESM(require("node:readline"), 1); -var m = {}; -var G = { get exports() { - return m; -}, set exports(t) { - m = t; -} }; -(function(t) { - var u2 = {}; - t.exports = u2, u2.eastAsianWidth = function(e2) { - var s = e2.charCodeAt(0), C2 = e2.length == 2 ? e2.charCodeAt(1) : 0, D3 = s; - return 55296 <= s && s <= 56319 && 56320 <= C2 && C2 <= 57343 && (s &= 1023, C2 &= 1023, D3 = s << 10 | C2, D3 += 65536), D3 == 12288 || 65281 <= D3 && D3 <= 65376 || 65504 <= D3 && D3 <= 65510 ? "F" : D3 == 8361 || 65377 <= D3 && D3 <= 65470 || 65474 <= D3 && D3 <= 65479 || 65482 <= D3 && D3 <= 65487 || 65490 <= D3 && D3 <= 65495 || 65498 <= D3 && D3 <= 65500 || 65512 <= D3 && D3 <= 65518 ? "H" : 4352 <= D3 && D3 <= 4447 || 4515 <= D3 && D3 <= 4519 || 4602 <= D3 && D3 <= 4607 || 9001 <= D3 && D3 <= 9002 || 11904 <= D3 && D3 <= 11929 || 11931 <= D3 && D3 <= 12019 || 12032 <= D3 && D3 <= 12245 || 12272 <= D3 && D3 <= 12283 || 12289 <= D3 && D3 <= 12350 || 12353 <= D3 && D3 <= 12438 || 12441 <= D3 && D3 <= 12543 || 12549 <= D3 && D3 <= 12589 || 12593 <= D3 && D3 <= 12686 || 12688 <= D3 && D3 <= 12730 || 12736 <= D3 && D3 <= 12771 || 12784 <= D3 && D3 <= 12830 || 12832 <= D3 && D3 <= 12871 || 12880 <= D3 && D3 <= 13054 || 13056 <= D3 && D3 <= 19903 || 19968 <= D3 && D3 <= 42124 || 42128 <= D3 && D3 <= 42182 || 43360 <= D3 && D3 <= 43388 || 44032 <= D3 && D3 <= 55203 || 55216 <= D3 && D3 <= 55238 || 55243 <= D3 && D3 <= 55291 || 63744 <= D3 && D3 <= 64255 || 65040 <= D3 && D3 <= 65049 || 65072 <= D3 && D3 <= 65106 || 65108 <= D3 && D3 <= 65126 || 65128 <= D3 && D3 <= 65131 || 110592 <= D3 && D3 <= 110593 || 127488 <= D3 && D3 <= 127490 || 127504 <= D3 && D3 <= 127546 || 127552 <= D3 && D3 <= 127560 || 127568 <= D3 && D3 <= 127569 || 131072 <= D3 && D3 <= 194367 || 177984 <= D3 && D3 <= 196605 || 196608 <= D3 && D3 <= 262141 ? "W" : 32 <= D3 && D3 <= 126 || 162 <= D3 && D3 <= 163 || 165 <= D3 && D3 <= 166 || D3 == 172 || D3 == 175 || 10214 <= D3 && D3 <= 10221 || 10629 <= D3 && D3 <= 10630 ? "Na" : D3 == 161 || D3 == 164 || 167 <= D3 && D3 <= 168 || D3 == 170 || 173 <= D3 && D3 <= 174 || 176 <= D3 && D3 <= 180 || 182 <= D3 && D3 <= 186 || 188 <= D3 && D3 <= 191 || D3 == 198 || D3 == 208 || 215 <= D3 && D3 <= 216 || 222 <= D3 && D3 <= 225 || D3 == 230 || 232 <= D3 && D3 <= 234 || 236 <= D3 && D3 <= 237 || D3 == 240 || 242 <= D3 && D3 <= 243 || 247 <= D3 && D3 <= 250 || D3 == 252 || D3 == 254 || D3 == 257 || D3 == 273 || D3 == 275 || D3 == 283 || 294 <= D3 && D3 <= 295 || D3 == 299 || 305 <= D3 && D3 <= 307 || D3 == 312 || 319 <= D3 && D3 <= 322 || D3 == 324 || 328 <= D3 && D3 <= 331 || D3 == 333 || 338 <= D3 && D3 <= 339 || 358 <= D3 && D3 <= 359 || D3 == 363 || D3 == 462 || D3 == 464 || D3 == 466 || D3 == 468 || D3 == 470 || D3 == 472 || D3 == 474 || D3 == 476 || D3 == 593 || D3 == 609 || D3 == 708 || D3 == 711 || 713 <= D3 && D3 <= 715 || D3 == 717 || D3 == 720 || 728 <= D3 && D3 <= 731 || D3 == 733 || D3 == 735 || 768 <= D3 && D3 <= 879 || 913 <= D3 && D3 <= 929 || 931 <= D3 && D3 <= 937 || 945 <= D3 && D3 <= 961 || 963 <= D3 && D3 <= 969 || D3 == 1025 || 1040 <= D3 && D3 <= 1103 || D3 == 1105 || D3 == 8208 || 8211 <= D3 && D3 <= 8214 || 8216 <= D3 && D3 <= 8217 || 8220 <= D3 && D3 <= 8221 || 8224 <= D3 && D3 <= 8226 || 8228 <= D3 && D3 <= 8231 || D3 == 8240 || 8242 <= D3 && D3 <= 8243 || D3 == 8245 || D3 == 8251 || D3 == 8254 || D3 == 8308 || D3 == 8319 || 8321 <= D3 && D3 <= 8324 || D3 == 8364 || D3 == 8451 || D3 == 8453 || D3 == 8457 || D3 == 8467 || D3 == 8470 || 8481 <= D3 && D3 <= 8482 || D3 == 8486 || D3 == 8491 || 8531 <= D3 && D3 <= 8532 || 8539 <= D3 && D3 <= 8542 || 8544 <= D3 && D3 <= 8555 || 8560 <= D3 && D3 <= 8569 || D3 == 8585 || 8592 <= D3 && D3 <= 8601 || 8632 <= D3 && D3 <= 8633 || D3 == 8658 || D3 == 8660 || D3 == 8679 || D3 == 8704 || 8706 <= D3 && D3 <= 8707 || 8711 <= D3 && D3 <= 8712 || D3 == 8715 || D3 == 8719 || D3 == 8721 || D3 == 8725 || D3 == 8730 || 8733 <= D3 && D3 <= 8736 || D3 == 8739 || D3 == 8741 || 8743 <= D3 && D3 <= 8748 || D3 == 8750 || 8756 <= D3 && D3 <= 8759 || 8764 <= D3 && D3 <= 8765 || D3 == 8776 || D3 == 8780 || D3 == 8786 || 8800 <= D3 && D3 <= 8801 || 8804 <= D3 && D3 <= 8807 || 8810 <= D3 && D3 <= 8811 || 8814 <= D3 && D3 <= 8815 || 8834 <= D3 && D3 <= 8835 || 8838 <= D3 && D3 <= 8839 || D3 == 8853 || D3 == 8857 || D3 == 8869 || D3 == 8895 || D3 == 8978 || 9312 <= D3 && D3 <= 9449 || 9451 <= D3 && D3 <= 9547 || 9552 <= D3 && D3 <= 9587 || 9600 <= D3 && D3 <= 9615 || 9618 <= D3 && D3 <= 9621 || 9632 <= D3 && D3 <= 9633 || 9635 <= D3 && D3 <= 9641 || 9650 <= D3 && D3 <= 9651 || 9654 <= D3 && D3 <= 9655 || 9660 <= D3 && D3 <= 9661 || 9664 <= D3 && D3 <= 9665 || 9670 <= D3 && D3 <= 9672 || D3 == 9675 || 9678 <= D3 && D3 <= 9681 || 9698 <= D3 && D3 <= 9701 || D3 == 9711 || 9733 <= D3 && D3 <= 9734 || D3 == 9737 || 9742 <= D3 && D3 <= 9743 || 9748 <= D3 && D3 <= 9749 || D3 == 9756 || D3 == 9758 || D3 == 9792 || D3 == 9794 || 9824 <= D3 && D3 <= 9825 || 9827 <= D3 && D3 <= 9829 || 9831 <= D3 && D3 <= 9834 || 9836 <= D3 && D3 <= 9837 || D3 == 9839 || 9886 <= D3 && D3 <= 9887 || 9918 <= D3 && D3 <= 9919 || 9924 <= D3 && D3 <= 9933 || 9935 <= D3 && D3 <= 9953 || D3 == 9955 || 9960 <= D3 && D3 <= 9983 || D3 == 10045 || D3 == 10071 || 10102 <= D3 && D3 <= 10111 || 11093 <= D3 && D3 <= 11097 || 12872 <= D3 && D3 <= 12879 || 57344 <= D3 && D3 <= 63743 || 65024 <= D3 && D3 <= 65039 || D3 == 65533 || 127232 <= D3 && D3 <= 127242 || 127248 <= D3 && D3 <= 127277 || 127280 <= D3 && D3 <= 127337 || 127344 <= D3 && D3 <= 127386 || 917760 <= D3 && D3 <= 917999 || 983040 <= D3 && D3 <= 1048573 || 1048576 <= D3 && D3 <= 1114109 ? "A" : "N"; - }, u2.characterLength = function(e2) { - var s = this.eastAsianWidth(e2); - return s == "F" || s == "W" || s == "A" ? 2 : 1; +function j(t2) { + return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; +} +var M = { exports: {} }; +(function(t2) { + var u3 = {}; + t2.exports = u3, u3.eastAsianWidth = function(e3) { + var s2 = e3.charCodeAt(0), C3 = e3.length == 2 ? e3.charCodeAt(1) : 0, D4 = s2; + return 55296 <= s2 && s2 <= 56319 && 56320 <= C3 && C3 <= 57343 && (s2 &= 1023, C3 &= 1023, D4 = s2 << 10 | C3, D4 += 65536), D4 == 12288 || 65281 <= D4 && D4 <= 65376 || 65504 <= D4 && D4 <= 65510 ? "F" : D4 == 8361 || 65377 <= D4 && D4 <= 65470 || 65474 <= D4 && D4 <= 65479 || 65482 <= D4 && D4 <= 65487 || 65490 <= D4 && D4 <= 65495 || 65498 <= D4 && D4 <= 65500 || 65512 <= D4 && D4 <= 65518 ? "H" : 4352 <= D4 && D4 <= 4447 || 4515 <= D4 && D4 <= 4519 || 4602 <= D4 && D4 <= 4607 || 9001 <= D4 && D4 <= 9002 || 11904 <= D4 && D4 <= 11929 || 11931 <= D4 && D4 <= 12019 || 12032 <= D4 && D4 <= 12245 || 12272 <= D4 && D4 <= 12283 || 12289 <= D4 && D4 <= 12350 || 12353 <= D4 && D4 <= 12438 || 12441 <= D4 && D4 <= 12543 || 12549 <= D4 && D4 <= 12589 || 12593 <= D4 && D4 <= 12686 || 12688 <= D4 && D4 <= 12730 || 12736 <= D4 && D4 <= 12771 || 12784 <= D4 && D4 <= 12830 || 12832 <= D4 && D4 <= 12871 || 12880 <= D4 && D4 <= 13054 || 13056 <= D4 && D4 <= 19903 || 19968 <= D4 && D4 <= 42124 || 42128 <= D4 && D4 <= 42182 || 43360 <= D4 && D4 <= 43388 || 44032 <= D4 && D4 <= 55203 || 55216 <= D4 && D4 <= 55238 || 55243 <= D4 && D4 <= 55291 || 63744 <= D4 && D4 <= 64255 || 65040 <= D4 && D4 <= 65049 || 65072 <= D4 && D4 <= 65106 || 65108 <= D4 && D4 <= 65126 || 65128 <= D4 && D4 <= 65131 || 110592 <= D4 && D4 <= 110593 || 127488 <= D4 && D4 <= 127490 || 127504 <= D4 && D4 <= 127546 || 127552 <= D4 && D4 <= 127560 || 127568 <= D4 && D4 <= 127569 || 131072 <= D4 && D4 <= 194367 || 177984 <= D4 && D4 <= 196605 || 196608 <= D4 && D4 <= 262141 ? "W" : 32 <= D4 && D4 <= 126 || 162 <= D4 && D4 <= 163 || 165 <= D4 && D4 <= 166 || D4 == 172 || D4 == 175 || 10214 <= D4 && D4 <= 10221 || 10629 <= D4 && D4 <= 10630 ? "Na" : D4 == 161 || D4 == 164 || 167 <= D4 && D4 <= 168 || D4 == 170 || 173 <= D4 && D4 <= 174 || 176 <= D4 && D4 <= 180 || 182 <= D4 && D4 <= 186 || 188 <= D4 && D4 <= 191 || D4 == 198 || D4 == 208 || 215 <= D4 && D4 <= 216 || 222 <= D4 && D4 <= 225 || D4 == 230 || 232 <= D4 && D4 <= 234 || 236 <= D4 && D4 <= 237 || D4 == 240 || 242 <= D4 && D4 <= 243 || 247 <= D4 && D4 <= 250 || D4 == 252 || D4 == 254 || D4 == 257 || D4 == 273 || D4 == 275 || D4 == 283 || 294 <= D4 && D4 <= 295 || D4 == 299 || 305 <= D4 && D4 <= 307 || D4 == 312 || 319 <= D4 && D4 <= 322 || D4 == 324 || 328 <= D4 && D4 <= 331 || D4 == 333 || 338 <= D4 && D4 <= 339 || 358 <= D4 && D4 <= 359 || D4 == 363 || D4 == 462 || D4 == 464 || D4 == 466 || D4 == 468 || D4 == 470 || D4 == 472 || D4 == 474 || D4 == 476 || D4 == 593 || D4 == 609 || D4 == 708 || D4 == 711 || 713 <= D4 && D4 <= 715 || D4 == 717 || D4 == 720 || 728 <= D4 && D4 <= 731 || D4 == 733 || D4 == 735 || 768 <= D4 && D4 <= 879 || 913 <= D4 && D4 <= 929 || 931 <= D4 && D4 <= 937 || 945 <= D4 && D4 <= 961 || 963 <= D4 && D4 <= 969 || D4 == 1025 || 1040 <= D4 && D4 <= 1103 || D4 == 1105 || D4 == 8208 || 8211 <= D4 && D4 <= 8214 || 8216 <= D4 && D4 <= 8217 || 8220 <= D4 && D4 <= 8221 || 8224 <= D4 && D4 <= 8226 || 8228 <= D4 && D4 <= 8231 || D4 == 8240 || 8242 <= D4 && D4 <= 8243 || D4 == 8245 || D4 == 8251 || D4 == 8254 || D4 == 8308 || D4 == 8319 || 8321 <= D4 && D4 <= 8324 || D4 == 8364 || D4 == 8451 || D4 == 8453 || D4 == 8457 || D4 == 8467 || D4 == 8470 || 8481 <= D4 && D4 <= 8482 || D4 == 8486 || D4 == 8491 || 8531 <= D4 && D4 <= 8532 || 8539 <= D4 && D4 <= 8542 || 8544 <= D4 && D4 <= 8555 || 8560 <= D4 && D4 <= 8569 || D4 == 8585 || 8592 <= D4 && D4 <= 8601 || 8632 <= D4 && D4 <= 8633 || D4 == 8658 || D4 == 8660 || D4 == 8679 || D4 == 8704 || 8706 <= D4 && D4 <= 8707 || 8711 <= D4 && D4 <= 8712 || D4 == 8715 || D4 == 8719 || D4 == 8721 || D4 == 8725 || D4 == 8730 || 8733 <= D4 && D4 <= 8736 || D4 == 8739 || D4 == 8741 || 8743 <= D4 && D4 <= 8748 || D4 == 8750 || 8756 <= D4 && D4 <= 8759 || 8764 <= D4 && D4 <= 8765 || D4 == 8776 || D4 == 8780 || D4 == 8786 || 8800 <= D4 && D4 <= 8801 || 8804 <= D4 && D4 <= 8807 || 8810 <= D4 && D4 <= 8811 || 8814 <= D4 && D4 <= 8815 || 8834 <= D4 && D4 <= 8835 || 8838 <= D4 && D4 <= 8839 || D4 == 8853 || D4 == 8857 || D4 == 8869 || D4 == 8895 || D4 == 8978 || 9312 <= D4 && D4 <= 9449 || 9451 <= D4 && D4 <= 9547 || 9552 <= D4 && D4 <= 9587 || 9600 <= D4 && D4 <= 9615 || 9618 <= D4 && D4 <= 9621 || 9632 <= D4 && D4 <= 9633 || 9635 <= D4 && D4 <= 9641 || 9650 <= D4 && D4 <= 9651 || 9654 <= D4 && D4 <= 9655 || 9660 <= D4 && D4 <= 9661 || 9664 <= D4 && D4 <= 9665 || 9670 <= D4 && D4 <= 9672 || D4 == 9675 || 9678 <= D4 && D4 <= 9681 || 9698 <= D4 && D4 <= 9701 || D4 == 9711 || 9733 <= D4 && D4 <= 9734 || D4 == 9737 || 9742 <= D4 && D4 <= 9743 || 9748 <= D4 && D4 <= 9749 || D4 == 9756 || D4 == 9758 || D4 == 9792 || D4 == 9794 || 9824 <= D4 && D4 <= 9825 || 9827 <= D4 && D4 <= 9829 || 9831 <= D4 && D4 <= 9834 || 9836 <= D4 && D4 <= 9837 || D4 == 9839 || 9886 <= D4 && D4 <= 9887 || 9918 <= D4 && D4 <= 9919 || 9924 <= D4 && D4 <= 9933 || 9935 <= D4 && D4 <= 9953 || D4 == 9955 || 9960 <= D4 && D4 <= 9983 || D4 == 10045 || D4 == 10071 || 10102 <= D4 && D4 <= 10111 || 11093 <= D4 && D4 <= 11097 || 12872 <= D4 && D4 <= 12879 || 57344 <= D4 && D4 <= 63743 || 65024 <= D4 && D4 <= 65039 || D4 == 65533 || 127232 <= D4 && D4 <= 127242 || 127248 <= D4 && D4 <= 127277 || 127280 <= D4 && D4 <= 127337 || 127344 <= D4 && D4 <= 127386 || 917760 <= D4 && D4 <= 917999 || 983040 <= D4 && D4 <= 1048573 || 1048576 <= D4 && D4 <= 1114109 ? "A" : "N"; + }, u3.characterLength = function(e3) { + var s2 = this.eastAsianWidth(e3); + return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1; }; - function F2(e2) { - return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; + function F3(e3) { + return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || []; } - u2.length = function(e2) { - for (var s = F2(e2), C2 = 0, D3 = 0; D3 < s.length; D3++) - C2 = C2 + this.characterLength(s[D3]); - return C2; - }, u2.slice = function(e2, s, C2) { - textLen = u2.length(e2), s = s || 0, C2 = C2 || 1, s < 0 && (s = textLen + s), C2 < 0 && (C2 = textLen + C2); - for (var D3 = "", i2 = 0, o2 = F2(e2), E2 = 0; E2 < o2.length; E2++) { - var a2 = o2[E2], n = u2.length(a2); - if (i2 >= s - (n == 2 ? 1 : 0)) - if (i2 + n <= C2) - D3 += a2; + u3.length = function(e3) { + for (var s2 = F3(e3), C3 = 0, D4 = 0; D4 < s2.length; D4++) + C3 = C3 + this.characterLength(s2[D4]); + return C3; + }, u3.slice = function(e3, s2, C3) { + textLen = u3.length(e3), s2 = s2 || 0, C3 = C3 || 1, s2 < 0 && (s2 = textLen + s2), C3 < 0 && (C3 = textLen + C3); + for (var D4 = "", i3 = 0, n2 = F3(e3), E3 = 0; E3 < n2.length; E3++) { + var h3 = n2[E3], o3 = u3.length(h3); + if (i3 >= s2 - (o3 == 2 ? 1 : 0)) + if (i3 + o3 <= C3) + D4 += h3; else break; - i2 += n; + i3 += o3; } - return D3; + return D4; }; -})(G); -var v = 10; -var L = (t = 0) => (u2) => `\x1B[${u2 + t}m`; -var M = (t = 0) => (u2) => `\x1B[${38 + t};5;${u2}m`; -var T = (t = 0) => (u2, F2, e2) => `\x1B[${38 + t};2;${u2};${F2};${e2}m`; +})(M); +var J = M.exports; +var Q = j(J); +var X = function() { + return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; +}; +var DD = j(X); +var m = 10; +var T = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`; +var P = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`; +var W = (t2 = 0) => (u3, F3, e3) => `\x1B[${38 + t2};2;${u3};${F3};${e3}m`; var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; Object.keys(r.modifier); -var Z = Object.keys(r.color); -var H = Object.keys(r.bgColor); -[...Z, ...H]; -function U() { - const t = /* @__PURE__ */ new Map(); - for (const [u2, F2] of Object.entries(r)) { - for (const [e2, s] of Object.entries(F2)) - r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F2[e2] = r[e2], t.set(s[0], s[1]); - Object.defineProperty(r, u2, { value: F2, enumerable: false }); +var uD = Object.keys(r.color); +var FD = Object.keys(r.bgColor); +[...uD, ...FD]; +function tD() { + const t2 = /* @__PURE__ */ new Map(); + for (const [u3, F3] of Object.entries(r)) { + for (const [e3, s2] of Object.entries(F3)) + r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F3[e3] = r[e3], t2.set(s2[0], s2[1]); + Object.defineProperty(r, u3, { value: F3, enumerable: false }); } - return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L(), r.color.ansi256 = M(), r.color.ansi16m = T(), r.bgColor.ansi = L(v), r.bgColor.ansi256 = M(v), r.bgColor.ansi16m = T(v), Object.defineProperties(r, { rgbToAnsi256: { value: (u2, F2, e2) => u2 === F2 && F2 === e2 ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(F2 / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - const F2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u2.toString(16)); - if (!F2) + return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T(), r.color.ansi256 = P(), r.color.ansi16m = W(), r.bgColor.ansi = T(m), r.bgColor.ansi256 = P(m), r.bgColor.ansi16m = W(m), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F3, e3) => u3 === F3 && F3 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F3 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + const F3 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16)); + if (!F3) return [0, 0, 0]; - let [e2] = F2; - e2.length === 3 && (e2 = [...e2].map((C2) => C2 + C2).join("")); - const s = Number.parseInt(e2, 16); - return [s >> 16 & 255, s >> 8 & 255, s & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => r.rgbToAnsi256(...r.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let F2, e2, s; - if (u2 >= 232) - F2 = ((u2 - 232) * 10 + 8) / 255, e2 = F2, s = F2; + let [e3] = F3; + e3.length === 3 && (e3 = [...e3].map((C3) => C3 + C3).join("")); + const s2 = Number.parseInt(e3, 16); + return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let F3, e3, s2; + if (u3 >= 232) + F3 = ((u3 - 232) * 10 + 8) / 255, e3 = F3, s2 = F3; else { - u2 -= 16; - const i2 = u2 % 36; - F2 = Math.floor(u2 / 36) / 5, e2 = Math.floor(i2 / 6) / 5, s = i2 % 6 / 5; + u3 -= 16; + const i3 = u3 % 36; + F3 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5; } - const C2 = Math.max(F2, e2, s) * 2; - if (C2 === 0) + const C3 = Math.max(F3, e3, s2) * 2; + if (C3 === 0) return 30; - let D3 = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F2)); - return C2 === 2 && (D3 += 60), D3; - }, enumerable: false }, rgbToAnsi: { value: (u2, F2, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u2, F2, e2)), enumerable: false }, hexToAnsi: { value: (u2) => r.ansi256ToAnsi(r.hexToAnsi256(u2)), enumerable: false } }), r; + let D4 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F3)); + return C3 === 2 && (D4 += 60), D4; + }, enumerable: false }, rgbToAnsi: { value: (u3, F3, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F3, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r; } -var q = U(); -var Q = "]"; -var w = `${Q}8;;`; -var R = Symbol("clack:cancel"); -function aD({ input: t = import_node_process.stdin, output: u2 = import_node_process.stdout, overwrite: F2 = true, hideCursor: e2 = true } = {}) { - const s = f.createInterface({ input: t, output: u2, prompt: "", tabSize: 1 }); - f.emitKeypressEvents(t, s), t.isTTY && t.setRawMode(true); - const C2 = (D3, { name: i2 }) => { - if (String(D3) === "" && process.exit(0), !F2) +var eD = tD(); +var CD = "]"; +var w = `${CD}8;;`; +var V = Symbol("clack:cancel"); +var PD = globalThis.process.platform.startsWith("win"); +function WD({ input: t2 = import_node_process.stdin, output: u3 = import_node_process.stdout, overwrite: F3 = true, hideCursor: e3 = true } = {}) { + const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 }); + f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true); + const C3 = (D4, { name: i3 }) => { + if (String(D4) === "" && process.exit(0), !F3) return; - let E2 = i2 === "return" ? 0 : -1, a2 = i2 === "return" ? -1 : 0; - f.moveCursor(u2, E2, a2, () => { - f.clearLine(u2, 1, () => { - t.once("keypress", C2); + let n2 = i3 === "return" ? 0 : -1, E3 = i3 === "return" ? -1 : 0; + f.moveCursor(u3, n2, E3, () => { + f.clearLine(u3, 1, () => { + t2.once("keypress", C3); }); }); }; - return e2 && process.stdout.write(import_sisteransi.cursor.hide), t.once("keypress", C2), () => { - t.off("keypress", C2), e2 && process.stdout.write(import_sisteransi.cursor.show), s.terminal = false, s.close(); + return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C3), () => { + t2.off("keypress", C3), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close(); }; } @@ -23271,78 +48571,78 @@ function N() { return import_node_process2.default.platform !== "win32" ? import_node_process2.default.env.TERM !== "linux" : Boolean(import_node_process2.default.env.CI) || Boolean(import_node_process2.default.env.WT_SESSION) || Boolean(import_node_process2.default.env.TERMINUS_SUBLIME) || import_node_process2.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process2.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process2.default.env.TERM_PROGRAM === "vscode" || import_node_process2.default.env.TERM === "xterm-256color" || import_node_process2.default.env.TERM === "alacritty" || import_node_process2.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"; } var p = N(); -var u = (r2, n) => p ? r2 : n; -var W = u("\u25C6", "*"); +var u = (r3, n2) => p ? r3 : n2; +var W2 = u("\u25C6", "*"); var D = u("\u25A0", "x"); var F = u("\u25B2", "x"); var f2 = u("\u25C7", "o"); -var L2 = u("\u250C", "T"); +var L = u("\u250C", "T"); var a = u("\u2502", "|"); var o = u("\u2514", "\u2014"); var w2 = u("\u25CF", ">"); var S = u("\u25CB", " "); var _ = u("\u25FB", "[\u2022]"); -var y2 = u("\u25FC", "[+]"); +var y = u("\u25FC", "[+]"); var A = u("\u25FB", "[ ]"); -var q2 = u("\u25AA", "\u2022"); -var R2 = u("\u2500", "-"); -var G2 = u("\u256E", "+"); -var H2 = u("\u251C", "+"); +var q = u("\u25AA", "\u2022"); +var R = u("\u2500", "-"); +var G = u("\u256E", "+"); +var H = u("\u251C", "+"); var K = u("\u256F", "+"); -var U2 = u("\u25CF", "\u2022"); -var Z2 = u("\u25C6", "*"); +var U = u("\u25CF", "\u2022"); +var Z = u("\u25C6", "*"); var z = u("\u25B2", "!"); -var X = u("\u25A0", "x"); -var b = (r2) => r2.replace(ue(), ""); -var ie = (r2 = "", n = "") => { - const s = ` -${r2} +var X2 = u("\u25A0", "x"); +var b = (r3) => r3.replace(ue(), ""); +var ie = (r3 = "", n2 = "") => { + const s2 = ` +${r3} `.split(` -`), t = Math.max(s.reduce((c, l) => (l = b(l), l.length > c ? l.length : c), 0), b(n).length) + 2, i2 = s.map((c) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c)}${" ".repeat(t - b(c).length)}${import_picocolors.default.gray(a)}`).join(` +`), t2 = Math.max(s2.reduce((c2, l3) => (l3 = b(l3), l3.length > c2 ? l3.length : c2), 0), b(n2).length) + 2, i3 = s2.map((c2) => `${import_picocolors.default.gray(a)} ${import_picocolors.default.dim(c2)}${" ".repeat(t2 - b(c2).length)}${import_picocolors.default.gray(a)}`).join(` `); process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n)} ${import_picocolors.default.gray(R2.repeat(Math.max(t - n.length - 1, 1)) + G2)} -${i2} -${import_picocolors.default.gray(H2 + R2.repeat(t + 2) + K)} +${import_picocolors.default.green(f2)} ${import_picocolors.default.reset(n2)} ${import_picocolors.default.gray(R.repeat(Math.max(t2 - n2.length - 1, 1)) + G)} +${i3} +${import_picocolors.default.gray(H + R.repeat(t2 + 2) + K)} `); }; -var ae = (r2 = "") => { - process.stdout.write(`${import_picocolors.default.gray(L2)} ${r2} +var ae = (r3 = "") => { + process.stdout.write(`${import_picocolors.default.gray(L)} ${r3} `); }; -var ce = (r2 = "") => { +var ce = (r3 = "") => { process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.gray(o)} ${r2} +${import_picocolors.default.gray(o)} ${r3} `); }; var C = p ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"]; var le = () => { - let r2, n; - const s = p ? 80 : 120; - return { start(t = "") { - t = t.replace(/\.?\.?\.$/, ""), r2 = aD(), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.magenta("\u25CB")} ${t} + let r3, n2; + const s2 = p ? 80 : 120; + return { start(t2 = "") { + t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.magenta("\u25CB")} ${t2} `); - let i2 = 0, c = 0; - n = setInterval(() => { - let l = C[i2]; - process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l)} ${t}${Math.floor(c) >= 1 ? ".".repeat(Math.floor(c)).slice(0, 3) : ""} -`), i2 = i2 === C.length - 1 ? 0 : i2 + 1, c = c === C.length ? 0 : c + 0.125; - }, s); - }, stop(t = "") { - process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n), process.stdout.write(`${import_picocolors.default.gray(a)} -${import_picocolors.default.green(f2)} ${t} -`), r2(); + let i3 = 0, c2 = 0; + n2 = setInterval(() => { + let l3 = C[i3]; + process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors.default.magenta(l3)} ${t2}${Math.floor(c2) >= 1 ? ".".repeat(Math.floor(c2)).slice(0, 3) : ""} +`), i3 = i3 === C.length - 1 ? 0 : i3 + 1, c2 = c2 === C.length ? 0 : c2 + 0.125; + }, s2); + }, stop(t2 = "") { + process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors.default.gray(a)} +${import_picocolors.default.green(f2)} ${t2} +`), r3(); } }; }; function ue() { - const r2 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); - return new RegExp(r2, "g"); + const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r3, "g"); } // src/generateCommitMessageFromGitDiff.ts -var import_openai4 = __toESM(require_dist2(), 1); +var import_openai5 = __toESM(require_dist2(), 1); // node_modules/chalk/source/vendor/ansi-styles/index.js var ANSI_BACKGROUND_OFFSET = 10; @@ -23595,7 +48895,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { return 1; } if ("CI" in env) { - if ("GITHUB_ACTIONS" in env) { + if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { return 3; } if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { @@ -23722,20 +49022,20 @@ styles2.visible = { return builder; } }; -var getModelAnsi = (model, level, type, ...arguments_) => { +var getModelAnsi = (model, level, type2, ...arguments_) => { if (model === "rgb") { if (level === "ansi16m") { - return ansi_styles_default[type].ansi16m(...arguments_); + return ansi_styles_default[type2].ansi16m(...arguments_); } if (level === "ansi256") { - return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); + return ansi_styles_default[type2].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); } - return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); + return ansi_styles_default[type2].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); } if (model === "hex") { - return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_)); + return getModelAnsi("rgb", level, type2, ...ansi_styles_default.hexToRgb(...arguments_)); } - return ansi_styles_default[type][model](...arguments_); + return ansi_styles_default[type2][model](...arguments_); }; var usedModels = ["rgb", "hex", "ansi256"]; for (const model of usedModels) { @@ -23832,28 +49132,28 @@ var { hasOwnProperty: D2 } = Object.prototype; var import_tty = __toESM(require("tty"), 1); // node_modules/terminal-columns/dist/index.mjs -var DD = Object.create; +var DD2 = Object.create; var m2 = Object.defineProperty; -var FD = Object.getOwnPropertyDescriptor; -var tD = Object.getOwnPropertyNames; -var ED2 = Object.getPrototypeOf; -var L3 = Object.prototype.hasOwnProperty; -var nD2 = (D3) => m2(D3, "__esModule", { value: true }); -var rD2 = (D3, F2) => () => (D3 && (F2 = D3(D3 = 0)), F2); -var iD2 = (D3, F2) => () => (F2 || D3((F2 = { exports: {} }).exports, F2), F2.exports); -var oD2 = (D3, F2, u2, C2) => { - if (F2 && typeof F2 == "object" || typeof F2 == "function") - for (let t of tD(F2)) - !L3.call(D3, t) && (u2 || t !== "default") && m2(D3, t, { get: () => F2[t], enumerable: !(C2 = FD(F2, t)) || C2.enumerable }); - return D3; +var FD2 = Object.getOwnPropertyDescriptor; +var tD2 = Object.getOwnPropertyNames; +var ED = Object.getPrototypeOf; +var L2 = Object.prototype.hasOwnProperty; +var nD = (D4) => m2(D4, "__esModule", { value: true }); +var rD = (D4, F3) => () => (D4 && (F3 = D4(D4 = 0)), F3); +var iD = (D4, F3) => () => (F3 || D4((F3 = { exports: {} }).exports, F3), F3.exports); +var oD = (D4, F3, u3, C3) => { + if (F3 && typeof F3 == "object" || typeof F3 == "function") + for (let t2 of tD2(F3)) + !L2.call(D4, t2) && (u3 || t2 !== "default") && m2(D4, t2, { get: () => F3[t2], enumerable: !(C3 = FD2(F3, t2)) || C3.enumerable }); + return D4; }; -var BD = (D3, F2) => oD2(nD2(m2(D3 != null ? DD(ED2(D3)) : {}, "default", !F2 && D3 && D3.__esModule ? { get: () => D3.default, enumerable: true } : { value: D3, enumerable: true })), D3); -var i = rD2(() => { +var BD = (D4, F3) => oD(nD(m2(D4 != null ? DD2(ED(D4)) : {}, "default", !F3 && D4 && D4.__esModule ? { get: () => D4.default, enumerable: true } : { value: D4, enumerable: true })), D4); +var i = rD(() => { }); -var $ = iD2((LD, N3) => { +var $2 = iD((LD, N4) => { "use strict"; i(); - N3.exports = function() { + N4.exports = function() { return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; }; }); @@ -23866,73 +49166,73 @@ i(); i(); i(); i(); -var j = BD($(), 1); +var j2 = BD($2(), 1); i(); i(); i(); i(); var O = 10; -var U3 = (D3 = 0) => (F2) => `\x1B[${F2 + D3}m`; -var V = (D3 = 0) => (F2) => `\x1B[${38 + D3};5;${F2}m`; -var Y = (D3 = 0) => (F2, u2, C2) => `\x1B[${38 + D3};2;${F2};${u2};${C2}m`; -function AD() { - let D3 = /* @__PURE__ */ new Map(), F2 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; - F2.color.gray = F2.color.blackBright, F2.bgColor.bgGray = F2.bgColor.bgBlackBright, F2.color.grey = F2.color.blackBright, F2.bgColor.bgGrey = F2.bgColor.bgBlackBright; - for (let [u2, C2] of Object.entries(F2)) { - for (let [t, E2] of Object.entries(C2)) - F2[t] = { open: `\x1B[${E2[0]}m`, close: `\x1B[${E2[1]}m` }, C2[t] = F2[t], D3.set(E2[0], E2[1]); - Object.defineProperty(F2, u2, { value: C2, enumerable: false }); +var U2 = (D4 = 0) => (F3) => `\x1B[${F3 + D4}m`; +var V2 = (D4 = 0) => (F3) => `\x1B[${38 + D4};5;${F3}m`; +var Y = (D4 = 0) => (F3, u3, C3) => `\x1B[${38 + D4};2;${F3};${u3};${C3}m`; +function AD2() { + let D4 = /* @__PURE__ */ new Map(), F3 = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; + F3.color.gray = F3.color.blackBright, F3.bgColor.bgGray = F3.bgColor.bgBlackBright, F3.color.grey = F3.color.blackBright, F3.bgColor.bgGrey = F3.bgColor.bgBlackBright; + for (let [u3, C3] of Object.entries(F3)) { + for (let [t2, E3] of Object.entries(C3)) + F3[t2] = { open: `\x1B[${E3[0]}m`, close: `\x1B[${E3[1]}m` }, C3[t2] = F3[t2], D4.set(E3[0], E3[1]); + Object.defineProperty(F3, u3, { value: C3, enumerable: false }); } - return Object.defineProperty(F2, "codes", { value: D3, enumerable: false }), F2.color.close = "\x1B[39m", F2.bgColor.close = "\x1B[49m", F2.color.ansi = U3(), F2.color.ansi256 = V(), F2.color.ansi16m = Y(), F2.bgColor.ansi = U3(O), F2.bgColor.ansi256 = V(O), F2.bgColor.ansi16m = Y(O), Object.defineProperties(F2, { rgbToAnsi256: { value: (u2, C2, t) => u2 === C2 && C2 === t ? u2 < 8 ? 16 : u2 > 248 ? 231 : Math.round((u2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u2 / 255 * 5) + 6 * Math.round(C2 / 255 * 5) + Math.round(t / 255 * 5), enumerable: false }, hexToRgb: { value: (u2) => { - let C2 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u2.toString(16)); - if (!C2) + return Object.defineProperty(F3, "codes", { value: D4, enumerable: false }), F3.color.close = "\x1B[39m", F3.bgColor.close = "\x1B[49m", F3.color.ansi = U2(), F3.color.ansi256 = V2(), F3.color.ansi16m = Y(), F3.bgColor.ansi = U2(O), F3.bgColor.ansi256 = V2(O), F3.bgColor.ansi16m = Y(O), Object.defineProperties(F3, { rgbToAnsi256: { value: (u3, C3, t2) => u3 === C3 && C3 === t2 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(C3 / 255 * 5) + Math.round(t2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => { + let C3 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(u3.toString(16)); + if (!C3) return [0, 0, 0]; - let { colorString: t } = C2.groups; - t.length === 3 && (t = t.split("").map((e2) => e2 + e2).join("")); - let E2 = Number.parseInt(t, 16); - return [E2 >> 16 & 255, E2 >> 8 & 255, E2 & 255]; - }, enumerable: false }, hexToAnsi256: { value: (u2) => F2.rgbToAnsi256(...F2.hexToRgb(u2)), enumerable: false }, ansi256ToAnsi: { value: (u2) => { - if (u2 < 8) - return 30 + u2; - if (u2 < 16) - return 90 + (u2 - 8); - let C2, t, E2; - if (u2 >= 232) - C2 = ((u2 - 232) * 10 + 8) / 255, t = C2, E2 = C2; + let { colorString: t2 } = C3.groups; + t2.length === 3 && (t2 = t2.split("").map((e3) => e3 + e3).join("")); + let E3 = Number.parseInt(t2, 16); + return [E3 >> 16 & 255, E3 >> 8 & 255, E3 & 255]; + }, enumerable: false }, hexToAnsi256: { value: (u3) => F3.rgbToAnsi256(...F3.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => { + if (u3 < 8) + return 30 + u3; + if (u3 < 16) + return 90 + (u3 - 8); + let C3, t2, E3; + if (u3 >= 232) + C3 = ((u3 - 232) * 10 + 8) / 255, t2 = C3, E3 = C3; else { - u2 -= 16; - let n = u2 % 36; - C2 = Math.floor(u2 / 36) / 5, t = Math.floor(n / 6) / 5, E2 = n % 6 / 5; + u3 -= 16; + let n2 = u3 % 36; + C3 = Math.floor(u3 / 36) / 5, t2 = Math.floor(n2 / 6) / 5, E3 = n2 % 6 / 5; } - let e2 = Math.max(C2, t, E2) * 2; - if (e2 === 0) + let e3 = Math.max(C3, t2, E3) * 2; + if (e3 === 0) return 30; - let r2 = 30 + (Math.round(E2) << 2 | Math.round(t) << 1 | Math.round(C2)); - return e2 === 2 && (r2 += 60), r2; - }, enumerable: false }, rgbToAnsi: { value: (u2, C2, t) => F2.ansi256ToAnsi(F2.rgbToAnsi256(u2, C2, t)), enumerable: false }, hexToAnsi: { value: (u2) => F2.ansi256ToAnsi(F2.hexToAnsi256(u2)), enumerable: false } }), F2; + let r3 = 30 + (Math.round(E3) << 2 | Math.round(t2) << 1 | Math.round(C3)); + return e3 === 2 && (r3 += 60), r3; + }, enumerable: false }, rgbToAnsi: { value: (u3, C3, t2) => F3.ansi256ToAnsi(F3.rgbToAnsi256(u3, C3, t2)), enumerable: false }, hexToAnsi: { value: (u3) => F3.ansi256ToAnsi(F3.hexToAnsi256(u3)), enumerable: false } }), F3; } -var fD = AD(); +var fD = AD2(); var pD = "]"; var M2 = `${pD}8;;`; i(); // node_modules/cleye/dist/index.mjs -var J = import_tty.default.WriteStream.prototype.hasColors(); -var y3 = /^[\w.-]+$/; +var J2 = import_tty.default.WriteStream.prototype.hasColors(); +var y2 = /^[\w.-]+$/; var { stringify: d3 } = JSON; -function G3(t, e2) { - if (!t) +function G2(t2, e3) { + if (!t2) throw new Error("Command options are required"); - const { name: r2 } = t; - if (t.name === void 0) + const { name: r3 } = t2; + if (t2.name === void 0) throw new Error("Command name is required"); - if (!y3.test(r2)) - throw new Error(`Invalid command name ${JSON.stringify(r2)}. Command names must be one word.`); - return { options: t, callback: e2 }; + if (!y2.test(r3)) + throw new Error(`Invalid command name ${JSON.stringify(r3)}. Command names must be one word.`); + return { options: t2, callback: e3 }; } // src/commands/config.ts -var dotenv = __toESM(require_main(), 1); +var dotenv = __toESM(require_main2(), 1); var import_fs = require("fs"); var import_ini = __toESM(require_ini(), 1); var import_os = require("os"); @@ -24144,7 +49444,32 @@ function getI18nLocal(value) { } // src/commands/config.ts -dotenv.config(); +var MODEL_LIST = { + openai: [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", + "gpt-4", + "gpt-4-turbo", + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" + ], + anthropic: [ + "claude-3-haiku-20240307", + "claude-3-sonnet-20240229", + "claude-3-opus-20240229" + ] +}; +var getDefaultModel = (provider4) => { + switch (provider4) { + case "ollama": + return ""; + case "anthropic": + return MODEL_LIST.anthropic[0]; + default: + return MODEL_LIST.openai[0]; + } +}; var validateConfig = (key, condition, validationMessage) => { if (!condition) { ce( @@ -24154,21 +49479,32 @@ var validateConfig = (key, condition, validationMessage) => { } }; var configValidators = { - ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) { + ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config9 = {}) { validateConfig( - "API_KEY", - value || config7.OCO_AI_PROVIDER.startsWith("ollama"), - "You need to provide an API key" + "OpenAI API_KEY", + value || config9.OCO_ANTHROPIC_API_KEY || config9.OCO_AI_PROVIDER.startsWith("ollama") || config9.OCO_AZURE_API_KEY || config9.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - value.startsWith("sk-"), - 'Must start with "sk-"' + value.startsWith("sk-") || config9.OCO_AI_PROVIDER != "openai", + 'Must start with "sk-" for openai provider' ); + return value; + }, + ["OCO_AZURE_API_KEY" /* OCO_AZURE_API_KEY */](value, config9 = {}) { validateConfig( - "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, - config7["OCO_OPENAI_BASE_PATH" /* OCO_OPENAI_BASE_PATH */] || value.length === 51, - "Must be 51 characters long" + "ANTHROPIC_API_KEY", + value || config9.OCO_OPENAI_API_KEY || config9.OCO_AZURE_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" + ); + return value; + }, + ["OCO_ANTHROPIC_API_KEY" /* OCO_ANTHROPIC_API_KEY */](value, config9 = {}) { + validateConfig( + "ANTHROPIC_API_KEY", + value || config9.OCO_OPENAI_API_KEY || config9.OCO_AI_PROVIDER == "ollama" || config9.OCO_AI_PROVIDER == "test", + "You need to provide an OpenAI/Anthropic/Azure API key" ); return value; }, @@ -24236,18 +49572,16 @@ var configValidators = { ); return value; }, - ["OCO_MODEL" /* OCO_MODEL */](value) { + ["OCO_MODEL" /* OCO_MODEL */](value, config9 = {}) { validateConfig( "OCO_MODEL" /* OCO_MODEL */, - [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0125", - "gpt-4", - "gpt-4-1106-preview", - "gpt-4-turbo-preview", - "gpt-4-0125-preview" - ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value) || config9.OCO_AI_PROVIDER == "azure", + `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` + ); + validateConfig( + "OCO_MODEL" /* OCO_MODEL */, + typeof value === "string" && value.match(/^[a-zA-Z0-9~\-]{1,63}[a-zA-Z0-9]$/) || config9.OCO_AI_PROVIDER != "azure", + `${value} is not model deployed name.` ); return value; }, @@ -24267,11 +49601,25 @@ var configValidators = { ); return value; }, + ["OCO_GITPUSH" /* OCO_GITPUSH */](value) { + validateConfig( + "OCO_GITPUSH" /* OCO_GITPUSH */, + typeof value === "boolean", + "Must be true or false" + ); + return value; + }, ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) { validateConfig( "OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */, - ["", "openai", "ollama"].includes(value) || value.startsWith("ollama/"), - `${value} is not supported yet, use 'ollama/{model}', 'ollama' or 'openai' (default)` + [ + "", + "openai", + "anthropic", + "azure", + "test" + ].includes(value) || value.startsWith("ollama"), + `${value} is not supported yet, use 'ollama/{model}', 'azure', 'anthropic' or 'openai' (default)` ); return value; }, @@ -24282,53 +49630,70 @@ var configValidators = { "Must be true or false" ); return value; + }, + ["OCO_AZURE_ENDPOINT" /* OCO_AZURE_ENDPOINT */](value) { + validateConfig( + "OCO_AZURE_ENDPOINT" /* OCO_AZURE_ENDPOINT */, + value.includes("openai.azure.com"), + 'Must be in format "https://<resource name>.openai.azure.com/"' + ); + return value; } }; -var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); -var getConfig = () => { +var defaultConfigPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); +var defaultEnvPath = (0, import_path.resolve)(process.cwd(), ".env"); +var getConfig = ({ + configPath = defaultConfigPath, + envPath = defaultEnvPath +} = {}) => { + dotenv.config({ path: envPath }); const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, + OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, + OCO_AZURE_API_KEY: process.env.OCO_AZURE_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : void 0, OCO_TOKENS_MAX_OUTPUT: process.env.OCO_TOKENS_MAX_OUTPUT ? Number(process.env.OCO_TOKENS_MAX_OUTPUT) : void 0, OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", + OCO_MODEL: process.env.OCO_MODEL || getDefaultModel(process.env.OCO_AI_PROVIDER), OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", - OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false + OCO_GITPUSH: process.env.OCO_GITPUSH === "false" ? false : true, + OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false, + OCO_AZURE_ENDPOINT: process.env.OCO_AZURE_ENDPOINT || "" }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) return configFromEnv; const configFile = (0, import_fs.readFileSync)(configPath, "utf8"); - const config7 = (0, import_ini.parse)(configFile); - for (const configKey of Object.keys(config7)) { - if (!config7[configKey] || ["null", "undefined"].includes(config7[configKey])) { - config7[configKey] = void 0; + const config9 = (0, import_ini.parse)(configFile); + for (const configKey of Object.keys(config9)) { + if (["null", "undefined"].includes(config9[configKey])) { + config9[configKey] = void 0; continue; } try { const validator = configValidators[configKey]; const validValue = validator( - config7[configKey] ?? configFromEnv[configKey], - config7 + config9[configKey] ?? configFromEnv[configKey], + config9 ); - config7[configKey] = validValue; + config9[configKey] = validValue; } catch (error) { - ce(`Unknown '${configKey}' config option.`); + ce(`Unknown '${configKey}' config option or missing validator.`); ce( `Manually fix the '.env' file or global '~/.opencommit' config file.` ); process.exit(1); } } - return config7; + return config9; }; -var setConfig = (keyValues) => { - const config7 = getConfig() || {}; +var setConfig = (keyValues, configPath = defaultConfigPath) => { + const config9 = getConfig() || {}; for (const [configKey, configValue] of keyValues) { if (!configValidators.hasOwnProperty(configKey)) { throw new Error(`Unsupported config key: ${configKey}`); @@ -24340,12 +49705,12 @@ var setConfig = (keyValues) => { parsedConfigValue = configValue; } const validValue = configValidators[configKey](parsedConfigValue); - config7[configKey] = validValue; + config9[configKey] = validValue; } - (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config7), "utf8"); + (0, import_fs.writeFileSync)(configPath, (0, import_ini.stringify)(config9), "utf8"); ce(`${source_default.green("\u2714")} Config successfully set`); }; -var configCommand = G3( +var configCommand = G2( { name: "config" /* config */, parameters: ["<mode>", "<key=values...>"] @@ -24353,19 +49718,19 @@ var configCommand = G3( async (argv) => { ae("opencommit \u2014 config"); try { - const { mode: mode2, keyValues } = argv._; - if (mode2 === "get" /* get */) { - const config7 = getConfig() || {}; + const { mode: mode4, keyValues } = argv._; + if (mode4 === "get" /* get */) { + const config9 = getConfig() || {}; for (const key of keyValues) { - ce(`${key}=${config7[key]}`); + ce(`${key}=${config9[key]}`); } - } else if (mode2 === "set" /* set */) { + } else if (mode4 === "set" /* set */) { await setConfig( keyValues.map((keyValue) => keyValue.split("=")) ); } else { throw new Error( - `Unsupported mode: ${mode2}. Valid modes are: "set" and "get"` + `Unsupported mode: ${mode4}. Valid modes are: "set" and "get"` ); } } catch (error) { @@ -24376,7 +49741,7 @@ var configCommand = G3( ); // src/prompts.ts -var import_openai3 = __toESM(require_dist2(), 1); +var import_openai4 = __toESM(require_dist2(), 1); // src/modules/commitlint/constants.ts var COMMITLINT_LLM_CONFIG_PATH = `${process.env.PWD}/.opencommit-commitlint`; @@ -24399,7 +49764,7 @@ var import_openai = __toESM(require_dist2(), 1); var import_types = __toESM(require_lib4(), 1); var config2 = getConfig(); var translation = i18n[config2?.OCO_LANGUAGE || "en"]; -var getTypeRuleExtraDescription = (type, prompt) => prompt?.questions?.type?.enum?.[type]?.description; +var getTypeRuleExtraDescription = (type2, prompt) => prompt?.questions?.type?.enum?.[type2]?.description; var llmReadableRules = { blankline: (key, applicable) => `There should ${applicable} be a blank line at the beginning of the ${key}.`, caseRule: (key, applicable, value) => `The ${key} should ${applicable} be in ${Array.isArray(value) ? `one of the following case: @@ -24466,8 +49831,8 @@ var getPrompt = (ruleName, ruleConfig, prompt) => { ce(`${source_default.red("\u2716")} No prompt handler for rule "${ruleName}".`); return `Please manualy set the prompt for rule "${ruleName}".`; }; -var inferPromptsFromCommitlintConfig = (config7) => { - const { rules, prompt } = config7; +var inferPromptsFromCommitlintConfig = (config9) => { + const { rules, prompt } = config9; if (!rules) return []; return Object.keys(rules).map( @@ -24573,7 +49938,7 @@ var commitlintLLMConfigExists = async () => { try { await import_promises.default.access(COMMITLINT_LLM_CONFIG_PATH); exists = true; - } catch (e2) { + } catch (e3) { exists = false; } return exists; @@ -24606,11 +49971,11 @@ var kindOf = ((cache) => (thing) => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(/* @__PURE__ */ Object.create(null)); -var kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type; +var kindOfTest = (type2) => { + type2 = type2.toLowerCase(); + return (thing) => kindOf(thing) === type2; }; -var typeOfTest = (type) => (thing) => typeof thing === type; +var typeOfTest = (type2) => (thing) => typeof thing === type2; var { isArray } = Array; var isUndefined = typeOfTest("undefined"); function isBuffer(val) { @@ -24644,8 +50009,8 @@ var isBlob = kindOfTest("Blob"); var isFileList = kindOfTest("FileList"); var isStream = (val) => isObject(val) && isFunction(val.pipe); var isFormData = (thing) => { - const pattern = "[object FormData]"; - return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); + let kind2; + return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind2 = kindOf(thing)) === "formdata" || kind2 === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); }; var isURLSearchParams = kindOfTest("URLSearchParams"); var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); @@ -24653,21 +50018,21 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { if (obj === null || typeof obj === "undefined") { return; } - let i2; - let l; + let i3; + let l3; if (typeof obj !== "object") { obj = [obj]; } if (isArray(obj)) { - for (i2 = 0, l = obj.length; i2 < l; i2++) { - fn.call(null, obj[i2], i2, obj); + for (i3 = 0, l3 = obj.length; i3 < l3; i3++) { + fn.call(null, obj[i3], i3, obj); } } else { const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; fn.call(null, obj[key], key, obj); } } @@ -24675,10 +50040,10 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); - let i2 = keys.length; + let i3 = keys.length; let _key; - while (i2-- > 0) { - _key = keys[i2]; + while (i3-- > 0) { + _key = keys[i3]; if (key === _key.toLowerCase()) { return _key; } @@ -24706,20 +50071,20 @@ function merge() { result[targetKey] = val; } }; - for (let i2 = 0, l = arguments.length; i2 < l; i2++) { - arguments[i2] && forEach(arguments[i2], assignValue); + for (let i3 = 0, l3 = arguments.length; i3 < l3; i3++) { + arguments[i3] && forEach(arguments[i3], assignValue); } return result; } -var extend = (a2, b2, thisArg, { allOwnKeys } = {}) => { - forEach(b2, (val, key) => { +var extend = (a3, b3, thisArg, { allOwnKeys } = {}) => { + forEach(b3, (val, key) => { if (thisArg && isFunction(val)) { - a2[key] = bind(val, thisArg); + a3[key] = bind(val, thisArg); } else { - a2[key] = val; + a3[key] = val; } }, { allOwnKeys }); - return a2; + return a3; }; var stripBOM = (content) => { if (content.charCodeAt(0) === 65279) { @@ -24737,7 +50102,7 @@ var inherits = (constructor, superConstructor, props, descriptors2) => { }; var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { let props; - let i2; + let i3; let prop; const merged = {}; destObj = destObj || {}; @@ -24745,9 +50110,9 @@ var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { return destObj; do { props = Object.getOwnPropertyNames(sourceObj); - i2 = props.length; - while (i2-- > 0) { - prop = props[i2]; + i3 = props.length; + while (i3-- > 0) { + prop = props[i3]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; @@ -24771,12 +50136,12 @@ var toArray = (thing) => { return null; if (isArray(thing)) return thing; - let i2 = thing.length; - if (!isNumber(i2)) + let i3 = thing.length; + if (!isNumber(i3)) return null; - const arr = new Array(i2); - while (i2-- > 0) { - arr[i2] = thing[i2]; + const arr = new Array(i3); + while (i3-- > 0) { + arr[i3] = thing[i3]; } return arr; }; @@ -24806,8 +50171,8 @@ var isHTMLForm = kindOfTest("HTMLFormElement"); var toCamelCase = (str) => { return str.toLowerCase().replace( /[-_\s]([a-z\d])(\w*)/g, - function replacer(m3, p1, p2) { - return p1.toUpperCase() + p2; + function replacer(m4, p1, p22) { + return p1.toUpperCase() + p22; } ); }; @@ -24817,8 +50182,9 @@ var reduceDescriptors = (obj, reducer) => { const descriptors2 = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors2, (descriptor, name) => { - if (reducer(descriptor, name, obj) !== false) { - reducedDescriptors[name] = descriptor; + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); @@ -24845,12 +50211,12 @@ var freezeMethods = (obj) => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define = (arr) => { + const define2 = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); return obj; }; var noop = () => { @@ -24866,11 +50232,11 @@ var ALPHABET = { ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; -var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { +var generateString = (size = 16, alphabet2 = ALPHABET.ALPHA_DIGIT) => { let str = ""; - const { length } = alphabet; + const { length } = alphabet2; while (size--) { - str += alphabet[Math.random() * length | 0]; + str += alphabet2[Math.random() * length | 0]; } return str; }; @@ -24879,19 +50245,19 @@ function isSpecCompliantForm(thing) { } var toJSONObject = (obj) => { const stack = new Array(10); - const visit = (source, i2) => { + const visit = (source, i3) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!("toJSON" in source)) { - stack[i2] = source; + stack[i3] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i2 + 1); + const reducedValue = visit(value, i3 + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i2] = void 0; + stack[i3] = void 0; return target; } } @@ -24899,6 +50265,8 @@ var toJSONObject = (obj) => { }; return visit(obj, 0); }; +var isAsyncFn = kindOfTest("AsyncFunction"); +var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils_default = { isArray, isArrayBuffer, @@ -24948,11 +50316,13 @@ var utils_default = { ALPHABET, generateString, isSpecCompliantForm, - toJSONObject + toJSONObject, + isAsyncFn, + isThenable }; // node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config7, request, response) { +function AxiosError(message, code, config9, request3, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -24962,8 +50332,8 @@ function AxiosError(message, code, config7, request, response) { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config7 && (this.config = config7); - request && (this.request = request); + config9 && (this.config = config9); + request3 && (this.request = request3); response && (this.response = response); } utils_default.inherits(AxiosError, Error, { @@ -25003,14 +50373,14 @@ var descriptors = {}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config7, request, response, customProps) => { +AxiosError.from = (error, code, config9, request3, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config7, request, response); + AxiosError.call(axiosError, error.message, code, config9, request3, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -25032,9 +50402,9 @@ function removeBrackets(key) { function renderKey(path2, key, dots) { if (!path2) return key; - return path2.concat(key).map(function each(token, i2) { + return path2.concat(key).map(function each(token, i3) { token = removeBrackets(token); - return !dots && i2 ? "[" + token + "]" : token; + return !dots && i3 ? "[" + token + "]" : token; }).join(dots ? "." : ""); } function isFlatArray(arr) { @@ -25220,9 +50590,9 @@ var InterceptorManager = class { } } forEach(fn) { - utils_default.forEach(this.handlers, function forEachHandler(h2) { - if (h2 !== null) { - fn(h2); + utils_default.forEach(this.handlers, function forEachHandler(h3) { + if (h3 !== null) { + fn(h3); } }); } @@ -25251,11 +50621,32 @@ var node_default = { protocols: ["http", "https", "file", "data"] }; +// node_modules/axios/lib/platform/common/utils.js +var utils_exports = {}; +__export(utils_exports, { + hasBrowserEnv: () => hasBrowserEnv, + hasStandardBrowserEnv: () => hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv +}); +var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; +var hasStandardBrowserEnv = ((product) => { + return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; +})(typeof navigator !== "undefined" && navigator.product); +var hasStandardBrowserWebWorkerEnv = (() => { + return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; +})(); + +// node_modules/axios/lib/platform/index.js +var platform_default = { + ...utils_exports, + ...node_default +}; + // node_modules/axios/lib/helpers/toURLEncodedForm.js function toURLEncodedForm(data, options) { - return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ + return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path2, helpers) { - if (node_default.isNode && utils_default.isBuffer(value)) { + if (platform_default.isNode && utils_default.isBuffer(value)) { this.append(key, value.toString("base64")); return false; } @@ -25273,11 +50664,11 @@ function parsePropPath(name) { function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); - let i2; + let i3; const len = keys.length; let key; - for (i2 = 0; i2 < len; i2++) { - key = keys[i2]; + for (i3 = 0; i3 < len; i3++) { + key = keys[i3]; obj[key] = arr[key]; } return obj; @@ -25285,6 +50676,8 @@ function arrayToObject(arr) { function formDataToJSON(formData) { function buildPath(path2, value, target, index) { let name = path2[index++]; + if (name === "__proto__") + return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path2.length; name = !name && utils_default.isArray(target) ? target.length : name; @@ -25317,17 +50710,14 @@ function formDataToJSON(formData) { var formDataToJSON_default = formDataToJSON; // node_modules/axios/lib/defaults/index.js -var DEFAULT_CONTENT_TYPE = { - "Content-Type": void 0 -}; function stringifySafely(rawValue, parser, encoder) { if (utils_default.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils_default.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; + } catch (e3) { + if (e3.name !== "SyntaxError") { + throw e3; } } } @@ -25343,11 +50733,8 @@ var defaults = { if (isObjectPayload && utils_default.isHTMLForm(data)) { data = new FormData(data); } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - if (!hasJSONContentType) { - return data; - } + const isFormData3 = utils_default.isFormData(data); + if (isFormData3) { return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; } if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { @@ -25389,12 +50776,12 @@ var defaults = { const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); - } catch (e2) { + } catch (e3) { if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw AxiosError_default.from(e2, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); + if (e3.name === "SyntaxError") { + throw AxiosError_default.from(e3, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); } - throw e2; + throw e3; } } } @@ -25406,24 +50793,22 @@ var defaults = { maxContentLength: -1, maxBodyLength: -1, env: { - FormData: node_default.classes.FormData, - Blob: node_default.classes.Blob + FormData: platform_default.classes.FormData, + Blob: platform_default.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { - "Accept": "application/json, text/plain, */*" + "Accept": "application/json, text/plain, */*", + "Content-Type": void 0 } } }; -utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { +utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { defaults.headers[method] = {}; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); -}); var defaults_default = defaults; // node_modules/axios/lib/helpers/parseHeaders.js @@ -25450,11 +50835,11 @@ var parseHeaders_default = (rawHeaders) => { const parsed = {}; let key; let val; - let i2; + let i3; rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i2 = line.indexOf(":"); - key = line.substring(0, i2).trim().toLowerCase(); - val = line.substring(i2 + 1).trim(); + i3 = line.indexOf(":"); + key = line.substring(0, i3).trim().toLowerCase(); + val = line.substring(i3 + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } @@ -25491,9 +50876,7 @@ function parseTokens(str) { } return tokens; } -function isValidHeaderName(str) { - return /^[-_a-zA-Z]+$/.test(str.trim()); -} +var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { return filter2.call(this, value, header); @@ -25511,7 +50894,7 @@ function matchHeaderValue(context2, value, header, filter2, isHeaderNameFilter) } } function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w3, char, str) => { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w4, char, str) => { return char.toUpperCase() + str; }); } @@ -25604,10 +50987,10 @@ var AxiosHeaders = class { } clear(matcher) { const keys = Object.keys(this); - let i2 = keys.length; + let i3 = keys.length; let deleted = false; - while (i2--) { - const key = keys[i2]; + while (i3--) { + const key = keys[i3]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; @@ -25679,18 +51062,26 @@ var AxiosHeaders = class { } }; AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.freezeMethods(AxiosHeaders.prototype); +utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + }; +}); utils_default.freezeMethods(AxiosHeaders); var AxiosHeaders_default = AxiosHeaders; // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config7 = this || defaults_default; - const context2 = response || config7; + const config9 = this || defaults_default; + const context2 = response || config9; const headers = AxiosHeaders_default.from(context2.headers); let data = context2.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config7, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config9, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -25702,8 +51093,8 @@ function isCancel(value) { } // node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config7, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config7, request); +function CanceledError(message, config9, request3) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config9, request3); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -25734,7 +51125,7 @@ function isAbsoluteURL(url2) { // node_modules/axios/lib/helpers/combineURLs.js function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } // node_modules/axios/lib/core/buildFullPath.js @@ -25754,7 +51145,7 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.3.4"; +var VERSION = "1.6.8"; // node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url2) { @@ -25765,7 +51156,7 @@ function parseProtocol(url2) { // node_modules/axios/lib/helpers/fromDataURI.js var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || node_default.classes.Blob; + const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === void 0 && _Blob) { asBlob = true; @@ -25840,11 +51231,11 @@ function speedometer(samplesCount, min) { } bytes[head] = chunkLength; timestamps[head] = now; - let i2 = tail; + let i3 = tail; let bytesCount = 0; - while (i2 !== head) { - bytesCount += bytes[i2++]; - i2 = i2 % samplesCount; + while (i3 !== head) { + bytesCount += bytes[i3++]; + i3 = i3 % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { @@ -26010,7 +51401,7 @@ var AxiosTransformStream = class extends import_stream.default.Transform { var AxiosTransformStream_default = AxiosTransformStream; // node_modules/axios/lib/adapters/http.js -var import_events = __toESM(require("events"), 1); +var import_events = require("events"); // node_modules/axios/lib/helpers/formDataToStream.js var import_util = require("util"); @@ -26039,9 +51430,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName } = this.constructor; + const { escapeName: escapeName2 } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -26132,6 +51523,21 @@ var ZlibHeaderTransformStream = class extends import_stream3.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; +// node_modules/axios/lib/helpers/callbackify.js +var callbackify = (fn, reducer) => { + return utils_default.isAsyncFn(fn) ? function(...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +}; +var callbackify_default = callbackify; + // node_modules/axios/lib/adapters/http.js var zlibOptions = { flush: import_zlib.default.constants.Z_SYNC_FLUSH, @@ -26144,15 +51550,15 @@ var brotliOptions = { var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var supportedProtocols = node_default.protocols.map((protocol) => { +var supportedProtocols = platform_default.protocols.map((protocol) => { return protocol + ":"; }); -function dispatchBeforeRedirect(options) { +function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { - options.beforeRedirects.config(options); + options.beforeRedirects.config(options, responseDetails); } } function setProxy(options, configProxy, location) { @@ -26210,21 +51616,43 @@ var wrapAsync = (asyncExecutor) => { asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); }); }; -var http_default = isHttpAdapterSupported && function httpAdapter(config7) { +var resolveFamily = ({ address, family }) => { + if (!utils_default.isString(address)) { + throw TypeError("address must be a string"); + } + return { + address, + family: family || (address.indexOf(".") < 0 ? 6 : 4) + }; +}; +var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); +var http_default = isHttpAdapterSupported && function httpAdapter(config9) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data } = config7; - const { responseType, responseEncoding } = config7; - const method = config7.method.toUpperCase(); + let { data, lookup, family } = config9; + const { responseType, responseEncoding } = config9; + const method = config9.method.toUpperCase(); let isDone; let rejected = false; let req; - const emitter = new import_events.default(); + if (lookup) { + const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + const emitter = new import_events.EventEmitter(); const onFinished = () => { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(abort); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(abort); } - if (config7.signal) { - config7.signal.removeEventListener("abort", abort); + if (config9.signal) { + config9.signal.removeEventListener("abort", abort); } emitter.removeAllListeners(); }; @@ -26236,16 +51664,16 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } }); function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config7, req) : reason); + emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config9, req) : reason); } emitter.once("abort", reject); - if (config7.cancelToken || config7.signal) { - config7.cancelToken && config7.cancelToken.subscribe(abort); - if (config7.signal) { - config7.signal.aborted ? abort() : config7.signal.addEventListener("abort", abort); + if (config9.cancelToken || config9.signal) { + config9.cancelToken && config9.cancelToken.subscribe(abort); + if (config9.signal) { + config9.signal.aborted ? abort() : config9.signal.addEventListener("abort", abort); } } - const fullPath = buildFullPath(config7.baseURL, config7.url); + const fullPath = buildFullPath(config9.baseURL, config9.url); const parsed = new URL(fullPath, "http://localhost"); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { @@ -26255,15 +51683,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: 405, statusText: "method not allowed", headers: {}, - config: config7 + config: config9 }); } try { - convertedData = fromDataURI(config7.url, responseType === "blob", { - Blob: config7.env && config7.env.Blob + convertedData = fromDataURI(config9.url, responseType === "blob", { + Blob: config9.env && config9.env.Blob }); } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config7); + throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config9); } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); @@ -26278,21 +51706,21 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: 200, statusText: "OK", headers: new AxiosHeaders_default(), - config: config7 + config: config9 }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError_default( "Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, - config7 + config9 )); } - const headers = AxiosHeaders_default.from(config7.headers).normalize(); + const headers = AxiosHeaders_default.from(config9.headers).normalize(); headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config7.onDownloadProgress; - const onUploadProgress = config7.onUploadProgress; - const maxRate = config7.maxRate; + const onDownloadProgress = config9.onDownloadProgress; + const onUploadProgress = config9.onUploadProgress; + const maxRate = config9.maxRate; let maxUploadRate = void 0; let maxDownloadRate = void 0; if (utils_default.isSpecCompliantForm(data)) { @@ -26309,7 +51737,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { try { const knownLength = await import_util2.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e2) { + } catch (e3) { } } } else if (utils_default.isBlob(data)) { @@ -26326,15 +51754,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { return reject(new AxiosError_default( "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, - config7 + config9 )); } headers.setContentLength(data.length, false); - if (config7.maxBodyLength > -1 && data.length > config7.maxBodyLength) { + if (config9.maxBodyLength > -1 && data.length > config9.maxBodyLength) { return reject(new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, - config7 + config9 )); } } @@ -26360,9 +51788,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }); } let auth = void 0; - if (config7.auth) { - const username = config7.auth.username || ""; - const password = config7.auth.password || ""; + if (config9.auth) { + const username = config9.auth.username || ""; + const password = config9.auth.password || ""; auth = username + ":" + password; } if (!auth && parsed.username) { @@ -26375,13 +51803,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { try { path2 = buildURL( parsed.pathname + parsed.search, - config7.params, - config7.paramsSerializer + config9.params, + config9.paramsSerializer ).replace(/^\?/, ""); } catch (err) { const customErr = new Error(err.message); - customErr.config = config7; - customErr.url = config7.url; + customErr.config = config9; + customErr.url = config9.url; customErr.exists = true; return reject(customErr); } @@ -26394,42 +51822,44 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { path: path2, method, headers: headers.toJSON(), - agents: { http: config7.httpAgent, https: config7.httpsAgent }, + agents: { http: config9.httpAgent, https: config9.httpsAgent }, auth, protocol, + family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; - if (config7.socketPath) { - options.socketPath = config7.socketPath; + !utils_default.isUndefined(lookup) && (options.lookup = lookup); + if (config9.socketPath) { + options.socketPath = config9.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; - setProxy(options, config7.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); + setProxy(options, config9.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config7.httpsAgent : config7.httpAgent; - if (config7.transport) { - transport = config7.transport; - } else if (config7.maxRedirects === 0) { + options.agent = isHttpsRequest ? config9.httpsAgent : config9.httpAgent; + if (config9.transport) { + transport = config9.transport; + } else if (config9.maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; } else { - if (config7.maxRedirects) { - options.maxRedirects = config7.maxRedirects; + if (config9.maxRedirects) { + options.maxRedirects = config9.maxRedirects; } - if (config7.beforeRedirect) { - options.beforeRedirects.config = config7.beforeRedirect; + if (config9.beforeRedirect) { + options.beforeRedirects.config = config9.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } - if (config7.maxBodyLength > -1) { - options.maxBodyLength = config7.maxBodyLength; + if (config9.maxBodyLength > -1) { + options.maxBodyLength = config9.maxBodyLength; } else { options.maxBodyLength = Infinity; } - if (config7.insecureHTTPParser) { - options.insecureHTTPParser = config7.insecureHTTPParser; + if (config9.insecureHTTPParser) { + options.insecureHTTPParser = config9.insecureHTTPParser; } req = transport.request(options, function handleResponse(res) { if (req.destroyed) @@ -26450,11 +51880,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } let responseStream = res; const lastRequest = res.req || req; - if (config7.decompress !== false && res.headers["content-encoding"]) { + if (config9.decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } - switch (res.headers["content-encoding"]) { + switch ((res.headers["content-encoding"] || "").toLowerCase()) { case "gzip": case "x-gzip": case "compress": @@ -26483,7 +51913,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders_default(res.headers), - config: config7, + config: config9, request: lastRequest }; if (responseType === "stream") { @@ -26495,13 +51925,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config7.maxContentLength > -1 && totalResponseBytes > config7.maxContentLength) { + if (config9.maxContentLength > -1 && totalResponseBytes > config9.maxContentLength) { rejected = true; responseStream.destroy(); reject(new AxiosError_default( - "maxContentLength size of " + config7.maxContentLength + " exceeded", + "maxContentLength size of " + config9.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config7, + config9, lastRequest )); } @@ -26511,9 +51941,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { return; } const err = new AxiosError_default( - "maxContentLength size of " + config7.maxContentLength + " exceeded", + "maxContentLength size of " + config9.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, - config7, + config9, lastRequest ); responseStream.destroy(err); @@ -26522,7 +51952,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { responseStream.on("error", function handleStreamError(err) { if (req.destroyed) return; - reject(AxiosError_default.from(err, null, config7, lastRequest)); + reject(AxiosError_default.from(err, null, config9, lastRequest)); }); responseStream.on("end", function handleStreamEnd() { try { @@ -26535,7 +51965,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { } response.data = responseData; } catch (err) { - reject(AxiosError_default.from(err, null, config7, response.request, response)); + return reject(AxiosError_default.from(err, null, config9, response.request, response)); } settle(resolve, reject, response); }); @@ -26552,18 +51982,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { req.destroy(err); }); req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config7, req)); + reject(AxiosError_default.from(err, null, config9, req)); }); req.on("socket", function handleRequestSocket(socket) { socket.setKeepAlive(true, 1e3 * 60); }); - if (config7.timeout) { - const timeout = parseInt(config7.timeout, 10); - if (isNaN(timeout)) { + if (config9.timeout) { + const timeout = parseInt(config9.timeout, 10); + if (Number.isNaN(timeout)) { reject(new AxiosError_default( "error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, - config7, + config9, req )); return; @@ -26571,15 +52001,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; - let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config7.transitional || transitional_default; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config9.transitional || transitional_default; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config7, + config9, req )); abort(); @@ -26597,7 +52027,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }); data.on("close", () => { if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config7, req)); + abort(new CanceledError_default("Request stream has been aborted", config9, req)); } }); data.pipe(req); @@ -26608,47 +52038,34 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config7) { }; // node_modules/axios/lib/helpers/cookies.js -var cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { - return { - write: function write(name, value, expires, path2, domain, secure) { - const cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - if (utils_default.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - if (utils_default.isString(path2)) { - cookie.push("path=" + path2); - } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); - } - if (secure === true) { - cookie.push("secure"); - } - document.cookie = cookie.join("; "); - }, - read: function read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, "", Date.now() - 864e5); - } - }; -}() : function nonStandardBrowserEnv() { - return { - write: function write() { - }, - read: function read() { - return null; - }, - remove: function remove() { - } - }; -}(); +var cookies_default = platform_default.hasStandardBrowserEnv ? { + write(name, value, expires, path2, domain, secure) { + const cookie = [name + "=" + encodeURIComponent(value)]; + utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); + utils_default.isString(path2) && cookie.push("path=" + path2); + utils_default.isString(domain) && cookie.push("domain=" + domain); + secure === true && cookie.push("secure"); + document.cookie = cookie.join("; "); + }, + read(name) { + const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove(name) { + this.write(name, "", Date.now() - 864e5); + } +} : { + write() { + }, + read() { + return null; + }, + remove() { + } +}; // node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { +var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement("a"); let originURL; @@ -26675,7 +52092,7 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; -}() : function nonStandardBrowserEnv2() { +}() : function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; @@ -26685,9 +52102,9 @@ var isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function stand function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); - return (e2) => { - const loaded = e2.loaded; - const total = e2.lengthComputable ? e2.total : void 0; + return (e3) => { + const loaded = e3.loaded; + const total = e3.lengthComputable ? e3.total : void 0; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; @@ -26699,54 +52116,60 @@ function progressEventReducer(listener, isDownloadStream) { bytes: progressBytes, rate: rate ? rate : void 0, estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e2 + event: e3 }; data[isDownloadStream ? "download" : "upload"] = true; listener(data); }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config7) { +var xhr_default = isXHRAdapterSupported && function(config9) { return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config7.data; - const requestHeaders = AxiosHeaders_default.from(config7.headers).normalize(); - const responseType = config7.responseType; + let requestData = config9.data; + const requestHeaders = AxiosHeaders_default.from(config9.headers).normalize(); + let { responseType, withXSRFToken } = config9; let onCanceled; function done() { - if (config7.cancelToken) { - config7.cancelToken.unsubscribe(onCanceled); + if (config9.cancelToken) { + config9.cancelToken.unsubscribe(onCanceled); } - if (config7.signal) { - config7.signal.removeEventListener("abort", onCanceled); + if (config9.signal) { + config9.signal.removeEventListener("abort", onCanceled); } } - if (utils_default.isFormData(requestData) && (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv)) { - requestHeaders.setContentType(false); + let contentType; + if (utils_default.isFormData(requestData)) { + if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { + requestHeaders.setContentType(false); + } else if ((contentType = requestHeaders.getContentType()) !== false) { + const [type2, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; + requestHeaders.setContentType([type2 || "multipart/form-data", ...tokens].join("; ")); + } } - let request = new XMLHttpRequest(); - if (config7.auth) { - const username = config7.auth.username || ""; - const password = config7.auth.password ? unescape(encodeURIComponent(config7.auth.password)) : ""; + let request3 = new XMLHttpRequest(); + if (config9.auth) { + const username = config9.auth.username || ""; + const password = config9.auth.password ? unescape(encodeURIComponent(config9.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config7.baseURL, config7.url); - request.open(config7.method.toUpperCase(), buildURL(fullPath, config7.params, config7.paramsSerializer), true); - request.timeout = config7.timeout; + const fullPath = buildFullPath(config9.baseURL, config9.url); + request3.open(config9.method.toUpperCase(), buildURL(fullPath, config9.params, config9.paramsSerializer), true); + request3.timeout = config9.timeout; function onloadend() { - if (!request) { + if (!request3) { return; } const responseHeaders = AxiosHeaders_default.from( - "getAllResponseHeaders" in request && request.getAllResponseHeaders() + "getAllResponseHeaders" in request3 && request3.getAllResponseHeaders() ); - const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; + const responseData = !responseType || responseType === "text" || responseType === "json" ? request3.responseText : request3.response; const response = { data: responseData, - status: request.status, - statusText: request.statusText, + status: request3.status, + statusText: request3.statusText, headers: responseHeaders, - config: config7, - request + config: config9, + request: request3 }; settle(function _resolve(value) { resolve(value); @@ -26755,90 +52178,93 @@ var xhr_default = isXHRAdapterSupported && function(config7) { reject(err); done(); }, response); - request = null; + request3 = null; } - if ("onloadend" in request) { - request.onloadend = onloadend; + if ("onloadend" in request3) { + request3.onloadend = onloadend; } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + request3.onreadystatechange = function handleLoad() { + if (!request3 || request3.readyState !== 4) { return; } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { + if (request3.status === 0 && !(request3.responseURL && request3.responseURL.indexOf("file:") === 0)) { return; } setTimeout(onloadend); }; } - request.onabort = function handleAbort() { - if (!request) { + request3.onabort = function handleAbort() { + if (!request3) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config7, request)); - request = null; + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config9, request3)); + request3 = null; }; - request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config7, request)); - request = null; + request3.onerror = function handleError() { + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config9, request3)); + request3 = null; }; - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config7.timeout ? "timeout of " + config7.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config7.transitional || transitional_default; - if (config7.timeoutErrorMessage) { - timeoutErrorMessage = config7.timeoutErrorMessage; + request3.ontimeout = function handleTimeout() { + let timeoutErrorMessage = config9.timeout ? "timeout of " + config9.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config9.transitional || transitional_default; + if (config9.timeoutErrorMessage) { + timeoutErrorMessage = config9.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config7, - request + config9, + request3 )); - request = null; + request3 = null; }; - if (node_default.isStandardBrowserEnv) { - const xsrfValue = (config7.withCredentials || isURLSameOrigin_default(fullPath)) && config7.xsrfCookieName && cookies_default.read(config7.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config7.xsrfHeaderName, xsrfValue); + if (platform_default.hasStandardBrowserEnv) { + withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config9)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(fullPath)) { + const xsrfValue = config9.xsrfHeaderName && config9.xsrfCookieName && cookies_default.read(config9.xsrfCookieName); + if (xsrfValue) { + requestHeaders.set(config9.xsrfHeaderName, xsrfValue); + } } } requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request) { + if ("setRequestHeader" in request3) { utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); + request3.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config7.withCredentials)) { - request.withCredentials = !!config7.withCredentials; + if (!utils_default.isUndefined(config9.withCredentials)) { + request3.withCredentials = !!config9.withCredentials; } if (responseType && responseType !== "json") { - request.responseType = config7.responseType; + request3.responseType = config9.responseType; } - if (typeof config7.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer(config7.onDownloadProgress, true)); + if (typeof config9.onDownloadProgress === "function") { + request3.addEventListener("progress", progressEventReducer(config9.onDownloadProgress, true)); } - if (typeof config7.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer(config7.onUploadProgress)); + if (typeof config9.onUploadProgress === "function" && request3.upload) { + request3.upload.addEventListener("progress", progressEventReducer(config9.onUploadProgress)); } - if (config7.cancelToken || config7.signal) { + if (config9.cancelToken || config9.signal) { onCanceled = (cancel) => { - if (!request) { + if (!request3) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config7, request) : cancel); - request.abort(); - request = null; + reject(!cancel || cancel.type ? new CanceledError_default(null, config9, request3) : cancel); + request3.abort(); + request3 = null; }; - config7.cancelToken && config7.cancelToken.subscribe(onCanceled); - if (config7.signal) { - config7.signal.aborted ? onCanceled() : config7.signal.addEventListener("abort", onCanceled); + config9.cancelToken && config9.cancelToken.subscribe(onCanceled); + if (config9.signal) { + config9.signal.aborted ? onCanceled() : config9.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); - if (protocol && node_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config7)); + if (protocol && platform_default.protocols.indexOf(protocol) === -1) { + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config9)); return; } - request.send(requestData || null); + request3.send(requestData || null); }); }; @@ -26851,36 +52277,44 @@ utils_default.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, "name", { value }); - } catch (e2) { + } catch (e3) { } Object.defineProperty(fn, "adapterName", { value }); } }); +var renderReason = (reason) => `- ${reason}`; +var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; var adapters_default = { getAdapter: (adapters) => { adapters = utils_default.isArray(adapters) ? adapters : [adapters]; const { length } = adapters; let nameOrAdapter; let adapter; - for (let i2 = 0; i2 < length; i2++) { - nameOrAdapter = adapters[i2]; - if (adapter = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { + const rejectedReasons = {}; + for (let i3 = 0; i3 < length; i3++) { + nameOrAdapter = adapters[i3]; + let id; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === void 0) { + throw new AxiosError_default(`Unknown adapter '${id}'`); + } + } + if (adapter) { break; } + rejectedReasons[id || "#" + i3] = adapter; } if (!adapter) { - if (adapter === false) { - throw new AxiosError_default( - `Adapter ${nameOrAdapter} is not supported by the environment`, - "ERR_NOT_SUPPORT" - ); - } - throw new Error( - utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` + const reasons = Object.entries(rejectedReasons).map( + ([id, state2]) => `adapter ${id} ` + (state2 === false ? "is not supported by the environment" : "is not available in the build") + ); + let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; + throw new AxiosError_default( + `There is no suitable adapter to dispatch the request ` + s2, + "ERR_NOT_SUPPORT" ); - } - if (!utils_default.isFunction(adapter)) { - throw new TypeError("adapter is not a function"); } return adapter; }, @@ -26888,41 +52322,41 @@ var adapters_default = { }; // node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config7) { - if (config7.cancelToken) { - config7.cancelToken.throwIfRequested(); +function throwIfCancellationRequested(config9) { + if (config9.cancelToken) { + config9.cancelToken.throwIfRequested(); } - if (config7.signal && config7.signal.aborted) { - throw new CanceledError_default(null, config7); + if (config9.signal && config9.signal.aborted) { + throw new CanceledError_default(null, config9); } } -function dispatchRequest(config7) { - throwIfCancellationRequested(config7); - config7.headers = AxiosHeaders_default.from(config7.headers); - config7.data = transformData.call( - config7, - config7.transformRequest +function dispatchRequest(config9) { + throwIfCancellationRequested(config9); + config9.headers = AxiosHeaders_default.from(config9.headers); + config9.data = transformData.call( + config9, + config9.transformRequest ); - if (["post", "put", "patch"].indexOf(config7.method) !== -1) { - config7.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config9.method) !== -1) { + config9.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config7.adapter || defaults_default.adapter); - return adapter(config7).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config7); + const adapter = adapters_default.getAdapter(config9.adapter || defaults_default.adapter); + return adapter(config9).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config9); response.data = transformData.call( - config7, - config7.transformResponse, + config9, + config9.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config7); + throwIfCancellationRequested(config9); if (reason && reason.response) { reason.response.data = transformData.call( - config7, - config7.transformResponse, + config9, + config9.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -26933,10 +52367,10 @@ function dispatchRequest(config7) { } // node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; +var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; function mergeConfig(config1, config22) { config22 = config22 || {}; - const config7 = {}; + const config9 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -26947,30 +52381,30 @@ function mergeConfig(config1, config22) { } return source; } - function mergeDeepProperties(a2, b2, caseless) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(a2, b2, caseless); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2, caseless); + function mergeDeepProperties(a3, b3, caseless) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(a3, b3, caseless); + } else if (!utils_default.isUndefined(a3)) { + return getMergedValue(void 0, a3, caseless); } } - function valueFromConfig2(a2, b2) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(void 0, b2); + function valueFromConfig2(a3, b3) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(void 0, b3); } } - function defaultToConfig2(a2, b2) { - if (!utils_default.isUndefined(b2)) { - return getMergedValue(void 0, b2); - } else if (!utils_default.isUndefined(a2)) { - return getMergedValue(void 0, a2); + function defaultToConfig2(a3, b3) { + if (!utils_default.isUndefined(b3)) { + return getMergedValue(void 0, b3); + } else if (!utils_default.isUndefined(a3)) { + return getMergedValue(void 0, a3); } } - function mergeDirectKeys(a2, b2, prop) { + function mergeDirectKeys(a3, b3, prop) { if (prop in config22) { - return getMergedValue(a2, b2); + return getMergedValue(a3, b3); } else if (prop in config1) { - return getMergedValue(void 0, a2); + return getMergedValue(void 0, a3); } } const mergeMap = { @@ -26984,6 +52418,7 @@ function mergeConfig(config1, config22) { timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, @@ -27001,21 +52436,21 @@ function mergeConfig(config1, config22) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true) + headers: (a3, b3) => mergeDeepProperties(headersToObject(a3), headersToObject(b3), true) }; - utils_default.forEach(Object.keys(config1).concat(Object.keys(config22)), function computeConfigValue(prop) { + utils_default.forEach(Object.keys(Object.assign({}, config1, config22)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config22[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config7[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config9[prop] = configValue); }); - return config7; + return config9; } // node_modules/axios/lib/helpers/validator.js var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => { - validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type; +["object", "boolean", "number", "function", "string", "symbol"].forEach((type2, i3) => { + validators[type2] = function validator(thing) { + return typeof thing === type2 || "a" + (i3 < 1 ? "n " : " ") + type2; }; }); var deprecatedWarnings = {}; @@ -27047,9 +52482,9 @@ function assertOptions(options, schema, allowUnknown) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); - let i2 = keys.length; - while (i2-- > 0) { - const opt = keys[i2]; + let i3 = keys.length; + while (i3-- > 0) { + const opt = keys[i3]; const validator = schema[opt]; if (validator) { const value = options[opt]; @@ -27079,15 +52514,32 @@ var Axios = class { response: new InterceptorManager_default() }; } - request(configOrUrl, config7) { - if (typeof configOrUrl === "string") { - config7 = config7 || {}; - config7.url = configOrUrl; - } else { - config7 = configOrUrl || {}; + async request(configOrUrl, config9) { + try { + return await this._request(configOrUrl, config9); + } catch (err) { + if (err instanceof Error) { + let dummy; + Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; + if (!err.stack) { + err.stack = stack; + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { + err.stack += "\n" + stack; + } + } + throw err; } - config7 = mergeConfig(this.defaults, config7); - const { transitional: transitional2, paramsSerializer, headers } = config7; + } + _request(configOrUrl, config9) { + if (typeof configOrUrl === "string") { + config9 = config9 || {}; + config9.url = configOrUrl; + } else { + config9 = configOrUrl || {}; + } + config9 = mergeConfig(this.defaults, config9); + const { transitional: transitional2, paramsSerializer, headers } = config9; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -27095,29 +52547,34 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean) }, false); } - if (paramsSerializer !== void 0) { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); + if (paramsSerializer != null) { + if (utils_default.isFunction(paramsSerializer)) { + config9.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator_default.assertOptions(paramsSerializer, { + encode: validators2.function, + serialize: validators2.function + }, true); + } } - config7.method = (config7.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders; - contextHeaders = headers && utils_default.merge( + config9.method = (config9.method || this.defaults.method || "get").toLowerCase(); + let contextHeaders = headers && utils_default.merge( headers.common, - headers[config7.method] + headers[config9.method] ); - contextHeaders && utils_default.forEach( + headers && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], (method) => { delete headers[method]; } ); - config7.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config9.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config7) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config9) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -27128,25 +52585,25 @@ var Axios = class { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; - let i2 = 0; + let i3 = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), void 0]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config7); - while (i2 < len) { - promise = promise.then(chain[i2++], chain[i2++]); + promise = Promise.resolve(config9); + while (i3 < len) { + promise = promise.then(chain[i3++], chain[i3++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config7; - i2 = 0; - while (i2 < len) { - const onFulfilled = requestInterceptorChain[i2++]; - const onRejected = requestInterceptorChain[i2++]; + let newConfig = config9; + i3 = 0; + while (i3 < len) { + const onFulfilled = requestInterceptorChain[i3++]; + const onRejected = requestInterceptorChain[i3++]; try { newConfig = onFulfilled(newConfig); } catch (error) { @@ -27159,32 +52616,32 @@ var Axios = class { } catch (error) { return Promise.reject(error); } - i2 = 0; + i3 = 0; len = responseInterceptorChain.length; - while (i2 < len) { - promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]); + while (i3 < len) { + promise = promise.then(responseInterceptorChain[i3++], responseInterceptorChain[i3++]); } return promise; } - getUri(config7) { - config7 = mergeConfig(this.defaults, config7); - const fullPath = buildFullPath(config7.baseURL, config7.url); - return buildURL(fullPath, config7.params, config7.paramsSerializer); + getUri(config9) { + config9 = mergeConfig(this.defaults, config9); + const fullPath = buildFullPath(config9.baseURL, config9.url); + return buildURL(fullPath, config9.params, config9.paramsSerializer); } }; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url2, config7) { - return this.request(mergeConfig(config7 || {}, { +utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { + Axios.prototype[method] = function(url2, config9) { + return this.request(mergeConfig(config9 || {}, { method, url: url2, - data: (config7 || {}).data + data: (config9 || {}).data })); }; }); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { +utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config7) { - return this.request(mergeConfig(config7 || {}, { + return function httpMethod(url2, data, config9) { + return this.request(mergeConfig(config9 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" @@ -27213,9 +52670,9 @@ var CancelToken = class { this.promise.then((cancel) => { if (!token._listeners) return; - let i2 = token._listeners.length; - while (i2-- > 0) { - token._listeners[i2](cancel); + let i3 = token._listeners.length; + while (i3-- > 0) { + token._listeners[i3](cancel); } token._listeners = null; }); @@ -27230,11 +52687,11 @@ var CancelToken = class { }; return promise; }; - executor(function cancel(message, config7, request) { + executor(function cancel(message, config9, request3) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config7, request); + token.reason = new CanceledError_default(message, config9, request3); resolvePromise(token.reason); }); } @@ -27265,8 +52722,8 @@ var CancelToken = class { } static source() { let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; + const token = new CancelToken(function executor(c2) { + cancel = c2; }); return { token, @@ -27387,6 +52844,7 @@ axios.isAxiosError = isAxiosError; axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders_default; axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.getAdapter = adapters_default.getAdapter; axios.HttpStatusCode = HttpStatusCode_default; axios.default = axios; var axios_default = axios; @@ -27407,6 +52865,7 @@ var { AxiosHeaders: AxiosHeaders2, HttpStatusCode: HttpStatusCode2, formToJSON, + getAdapter, mergeConfig: mergeConfig2 } = axios_default; @@ -27436,8 +52895,8 @@ var MAX_TOKENS_INPUT = config3?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKE var basePath = config3?.OCO_OPENAI_BASE_PATH; var apiKey = config3?.OCO_OPENAI_API_KEY; var [command, mode] = process.argv.slice(2); -var isLocalModel = config3?.OCO_AI_PROVIDER == "ollama"; -if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel) { +var provider = config3?.OCO_AI_PROVIDER; +if (provider === "openai" && !apiKey && command !== "config" && mode !== "set" /* set */) { ae("opencommit"); ce( "OCO_OPENAI_API_KEY is not set, please run `oco config set OCO_OPENAI_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" @@ -27448,6 +52907,14 @@ if (!apiKey && command !== "config" && mode !== "set" /* set */ && !isLocalModel process.exit(1); } var MODEL = config3?.OCO_MODEL || "gpt-3.5-turbo"; +if (provider === "openai" && !MODEL_LIST.openai.includes(MODEL) && command !== "config" && mode !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL} for OpenAI. Supported models are: ${MODEL_LIST.openai.join( + ", " + )}` + ); + process.exit(1); +} var OpenAi = class { openAiApiConfiguration = new import_openai2.Configuration({ apiKey @@ -27468,7 +52935,7 @@ var OpenAi = class { max_tokens: MAX_TOKENS_OUTPUT }; try { - const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a2, b2) => a2 + b2, 0); + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); } @@ -27502,14 +52969,14 @@ var OllamaAi = class { async generateCommitMessage(messages) { const model = this.model; const url2 = "http://localhost:11434/api/chat"; - const p2 = { + const p3 = { model, messages, options: { temperature: 0, top_p: 0.1 }, stream: false }; try { - const response = await axios_default.post(url2, p2, { + const response = await axios_default.post(url2, p3, { headers: { "Content-Type": "application/json" } @@ -27524,23 +52991,5908 @@ var OllamaAi = class { }; var ollamaAi = new OllamaAi(); +// node_modules/@azure/core-auth/dist/esm/azureKeyCredential.js +var AzureKeyCredential = class { + get key() { + return this._key; + } + constructor(key) { + if (!key) { + throw new Error("key must be a non-empty string"); + } + this._key = key; + } + update(newKey) { + this._key = newKey; + } +}; + +// node_modules/@azure/abort-controller/dist/esm/AbortError.js +var AbortError = class extends Error { + constructor(message) { + super(message); + this.name = "AbortError"; + } +}; + +// node_modules/@azure/core-util/dist/esm/random.js +function getRandomIntegerInclusive(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + const offset = Math.floor(Math.random() * (max - min + 1)); + return offset + min; +} + +// node_modules/@azure/core-util/dist/esm/object.js +function isObject2(input) { + return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date); +} + +// node_modules/@azure/core-util/dist/esm/error.js +function isError(e3) { + if (isObject2(e3)) { + const hasName = typeof e3.name === "string"; + const hasMessage = typeof e3.message === "string"; + return hasName && hasMessage; + } + return false; +} +function getErrorMessage(e3) { + if (isError(e3)) { + return e3.message; + } else { + let stringified; + try { + if (typeof e3 === "object" && e3) { + stringified = JSON.stringify(e3); + } else { + stringified = String(e3); + } + } catch (err) { + stringified = "[unable to stringify input]"; + } + return `Unknown error ${stringified}`; + } +} + +// node_modules/@azure/core-util/dist/esm/uuidUtils.js +var import_crypto2 = require("crypto"); +var _a; +var uuidFunction = typeof ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) === "function" ? globalThis.crypto.randomUUID.bind(globalThis.crypto) : import_crypto2.randomUUID; +function randomUUID() { + return uuidFunction(); +} + +// node_modules/@azure/core-util/dist/esm/checkEnvironment.js +var _a2; +var _b; +var _c; +var _d; +var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined"; +var isWebWorker = typeof self === "object" && typeof (self === null || self === void 0 ? void 0 : self.importScripts) === "function" && (((_a2 = self.constructor) === null || _a2 === void 0 ? void 0 : _a2.name) === "DedicatedWorkerGlobalScope" || ((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === "ServiceWorkerGlobalScope" || ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === "SharedWorkerGlobalScope"); +var isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined"; +var isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined"; +var isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean((_d = globalThis.process.versions) === null || _d === void 0 ? void 0 : _d.node); +var isNode = isNodeLike; +var isReactNative = typeof navigator !== "undefined" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === "ReactNative"; + +// node_modules/@azure/core-util/dist/esm/bytesEncoding.js +function stringToUint8Array(value, format) { + return Buffer.from(value, format); +} + +// node_modules/@azure/core-auth/dist/esm/tokenCredential.js +function isTokenCredential(credential) { + const castCredential = credential; + return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0); +} + +// node_modules/tslib/modules/index.js +var import_tslib = __toESM(require_tslib(), 1); +var { + __extends, + __assign, + __rest, + __decorate, + __param, + __esDecorate, + __runInitializers, + __propKey, + __setFunctionName, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources +} = import_tslib.default; + +// node_modules/@azure/core-rest-pipeline/dist/esm/pipeline.js +var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]); +var HttpPipeline = class { + constructor(policies) { + var _a4; + this._policies = []; + this._policies = (_a4 = policies === null || policies === void 0 ? void 0 : policies.slice(0)) !== null && _a4 !== void 0 ? _a4 : []; + this._orderedPolicies = void 0; + } + addPolicy(policy, options = {}) { + if (options.phase && options.afterPhase) { + throw new Error("Policies inside a phase cannot specify afterPhase."); + } + if (options.phase && !ValidPhaseNames.has(options.phase)) { + throw new Error(`Invalid phase name: ${options.phase}`); + } + if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) { + throw new Error(`Invalid afterPhase name: ${options.afterPhase}`); + } + this._policies.push({ + policy, + options + }); + this._orderedPolicies = void 0; + } + removePolicy(options) { + const removedPolicies = []; + this._policies = this._policies.filter((policyDescriptor) => { + if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) { + removedPolicies.push(policyDescriptor.policy); + return false; + } else { + return true; + } + }); + this._orderedPolicies = void 0; + return removedPolicies; + } + sendRequest(httpClient, request3) { + const policies = this.getOrderedPolicies(); + const pipeline = policies.reduceRight((next, policy) => { + return (req) => { + return policy.sendRequest(req, next); + }; + }, (req) => httpClient.sendRequest(req)); + return pipeline(request3); + } + getOrderedPolicies() { + if (!this._orderedPolicies) { + this._orderedPolicies = this.orderPolicies(); + } + return this._orderedPolicies; + } + clone() { + return new HttpPipeline(this._policies); + } + static create() { + return new HttpPipeline(); + } + orderPolicies() { + const result = []; + const policyMap = /* @__PURE__ */ new Map(); + function createPhase(name) { + return { + name, + policies: /* @__PURE__ */ new Set(), + hasRun: false, + hasAfterPolicies: false + }; + } + const serializePhase = createPhase("Serialize"); + const noPhase = createPhase("None"); + const deserializePhase = createPhase("Deserialize"); + const retryPhase = createPhase("Retry"); + const signPhase = createPhase("Sign"); + const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase]; + function getPhase(phase) { + if (phase === "Retry") { + return retryPhase; + } else if (phase === "Serialize") { + return serializePhase; + } else if (phase === "Deserialize") { + return deserializePhase; + } else if (phase === "Sign") { + return signPhase; + } else { + return noPhase; + } + } + for (const descriptor of this._policies) { + const policy = descriptor.policy; + const options = descriptor.options; + const policyName = policy.name; + if (policyMap.has(policyName)) { + throw new Error("Duplicate policy names not allowed in pipeline"); + } + const node = { + policy, + dependsOn: /* @__PURE__ */ new Set(), + dependants: /* @__PURE__ */ new Set() + }; + if (options.afterPhase) { + node.afterPhase = getPhase(options.afterPhase); + node.afterPhase.hasAfterPolicies = true; + } + policyMap.set(policyName, node); + const phase = getPhase(options.phase); + phase.policies.add(node); + } + for (const descriptor of this._policies) { + const { policy, options } = descriptor; + const policyName = policy.name; + const node = policyMap.get(policyName); + if (!node) { + throw new Error(`Missing node for policy ${policyName}`); + } + if (options.afterPolicies) { + for (const afterPolicyName of options.afterPolicies) { + const afterNode = policyMap.get(afterPolicyName); + if (afterNode) { + node.dependsOn.add(afterNode); + afterNode.dependants.add(node); + } + } + } + if (options.beforePolicies) { + for (const beforePolicyName of options.beforePolicies) { + const beforeNode = policyMap.get(beforePolicyName); + if (beforeNode) { + beforeNode.dependsOn.add(node); + node.dependants.add(beforeNode); + } + } + } + } + function walkPhase(phase) { + phase.hasRun = true; + for (const node of phase.policies) { + if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) { + continue; + } + if (node.dependsOn.size === 0) { + result.push(node.policy); + for (const dependant of node.dependants) { + dependant.dependsOn.delete(node); + } + policyMap.delete(node.policy.name); + phase.policies.delete(node); + } + } + } + function walkPhases() { + for (const phase of orderedPhases) { + walkPhase(phase); + if (phase.policies.size > 0 && phase !== noPhase) { + if (!noPhase.hasRun) { + walkPhase(noPhase); + } + return; + } + if (phase.hasAfterPolicies) { + walkPhase(noPhase); + } + } + } + let iteration = 0; + while (policyMap.size > 0) { + iteration++; + const initialResultLength = result.length; + walkPhases(); + if (result.length <= initialResultLength && iteration > 1) { + throw new Error("Cannot satisfy policy dependencies due to requirements cycle."); + } + } + return result; + } +}; +function createEmptyPipeline() { + return HttpPipeline.create(); +} + +// node_modules/@azure/logger/dist/esm/log.js +var import_node_os2 = require("node:os"); +var import_node_util = __toESM(require("node:util"), 1); +var process3 = __toESM(require("node:process"), 1); +function log(message, ...args) { + process3.stderr.write(`${import_node_util.default.format(message, ...args)}${import_node_os2.EOL}`); +} + +// node_modules/@azure/logger/dist/esm/debug.js +var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0; +var enabledString; +var enabledNamespaces = []; +var skippedNamespaces = []; +var debuggers = []; +if (debugEnvVariable) { + enable(debugEnvVariable); +} +var debugObj = Object.assign((namespace) => { + return createDebugger(namespace); +}, { + enable, + enabled, + disable, + log +}); +function enable(namespaces) { + enabledString = namespaces; + enabledNamespaces = []; + skippedNamespaces = []; + const wildcard = /\*/g; + const namespaceList = namespaces.split(",").map((ns) => ns.trim().replace(wildcard, ".*?")); + for (const ns of namespaceList) { + if (ns.startsWith("-")) { + skippedNamespaces.push(new RegExp(`^${ns.substr(1)}$`)); + } else { + enabledNamespaces.push(new RegExp(`^${ns}$`)); + } + } + for (const instance of debuggers) { + instance.enabled = enabled(instance.namespace); + } +} +function enabled(namespace) { + if (namespace.endsWith("*")) { + return true; + } + for (const skipped of skippedNamespaces) { + if (skipped.test(namespace)) { + return false; + } + } + for (const enabledNamespace of enabledNamespaces) { + if (enabledNamespace.test(namespace)) { + return true; + } + } + return false; +} +function disable() { + const result = enabledString || ""; + enable(""); + return result; +} +function createDebugger(namespace) { + const newDebugger = Object.assign(debug2, { + enabled: enabled(namespace), + destroy, + log: debugObj.log, + namespace, + extend: extend2 + }); + function debug2(...args) { + if (!newDebugger.enabled) { + return; + } + if (args.length > 0) { + args[0] = `${namespace} ${args[0]}`; + } + newDebugger.log(...args); + } + debuggers.push(newDebugger); + return newDebugger; +} +function destroy() { + const index = debuggers.indexOf(this); + if (index >= 0) { + debuggers.splice(index, 1); + return true; + } + return false; +} +function extend2(namespace) { + const newDebugger = createDebugger(`${this.namespace}:${namespace}`); + newDebugger.log = this.log; + return newDebugger; +} +var debug_default = debugObj; + +// node_modules/@azure/logger/dist/esm/index.js +var registeredLoggers = /* @__PURE__ */ new Set(); +var logLevelFromEnv = typeof process !== "undefined" && process.env && process.env.AZURE_LOG_LEVEL || void 0; +var azureLogLevel; +var AzureLogger = debug_default("azure"); +AzureLogger.log = (...args) => { + debug_default.log(...args); +}; +var AZURE_LOG_LEVELS = ["verbose", "info", "warning", "error"]; +if (logLevelFromEnv) { + if (isAzureLogLevel(logLevelFromEnv)) { + setLogLevel(logLevelFromEnv); + } else { + console.error(`AZURE_LOG_LEVEL set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${AZURE_LOG_LEVELS.join(", ")}.`); + } +} +function setLogLevel(level) { + if (level && !isAzureLogLevel(level)) { + throw new Error(`Unknown log level '${level}'. Acceptable values: ${AZURE_LOG_LEVELS.join(",")}`); + } + azureLogLevel = level; + const enabledNamespaces2 = []; + for (const logger3 of registeredLoggers) { + if (shouldEnable(logger3)) { + enabledNamespaces2.push(logger3.namespace); + } + } + debug_default.enable(enabledNamespaces2.join(",")); +} +var levelMap = { + verbose: 400, + info: 300, + warning: 200, + error: 100 +}; +function createClientLogger(namespace) { + const clientRootLogger = AzureLogger.extend(namespace); + patchLogMethod(AzureLogger, clientRootLogger); + return { + error: createLogger(clientRootLogger, "error"), + warning: createLogger(clientRootLogger, "warning"), + info: createLogger(clientRootLogger, "info"), + verbose: createLogger(clientRootLogger, "verbose") + }; +} +function patchLogMethod(parent, child) { + child.log = (...args) => { + parent.log(...args); + }; +} +function createLogger(parent, level) { + const logger3 = Object.assign(parent.extend(level), { + level + }); + patchLogMethod(parent, logger3); + if (shouldEnable(logger3)) { + const enabledNamespaces2 = debug_default.disable(); + debug_default.enable(enabledNamespaces2 + "," + logger3.namespace); + } + registeredLoggers.add(logger3); + return logger3; +} +function shouldEnable(logger3) { + return Boolean(azureLogLevel && levelMap[logger3.level] <= levelMap[azureLogLevel]); +} +function isAzureLogLevel(logLevel) { + return AZURE_LOG_LEVELS.includes(logLevel); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/log.js +var logger = createClientLogger("core-rest-pipeline"); + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/sanitizer.js +var RedactedString = "REDACTED"; +var defaultAllowedHeaderNames = [ + "x-ms-client-request-id", + "x-ms-return-client-request-id", + "x-ms-useragent", + "x-ms-correlation-request-id", + "x-ms-request-id", + "client-request-id", + "ms-cv", + "return-client-request-id", + "traceparent", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Origin", + "Accept", + "Accept-Encoding", + "Cache-Control", + "Connection", + "Content-Length", + "Content-Type", + "Date", + "ETag", + "Expires", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Unmodified-Since", + "Last-Modified", + "Pragma", + "Request-Id", + "Retry-After", + "Server", + "Transfer-Encoding", + "User-Agent", + "WWW-Authenticate" +]; +var defaultAllowedQueryParameters = ["api-version"]; +var Sanitizer = class { + constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) { + allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames); + allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters); + this.allowedHeaderNames = new Set(allowedHeaderNames.map((n2) => n2.toLowerCase())); + this.allowedQueryParameters = new Set(allowedQueryParameters.map((p3) => p3.toLowerCase())); + } + sanitize(obj) { + const seen = /* @__PURE__ */ new Set(); + return JSON.stringify(obj, (key, value) => { + if (value instanceof Error) { + return Object.assign(Object.assign({}, value), { name: value.name, message: value.message }); + } + if (key === "headers") { + return this.sanitizeHeaders(value); + } else if (key === "url") { + return this.sanitizeUrl(value); + } else if (key === "query") { + return this.sanitizeQuery(value); + } else if (key === "body") { + return void 0; + } else if (key === "response") { + return void 0; + } else if (key === "operationSpec") { + return void 0; + } else if (Array.isArray(value) || isObject2(value)) { + if (seen.has(value)) { + return "[Circular]"; + } + seen.add(value); + } + return value; + }, 2); + } + sanitizeHeaders(obj) { + const sanitized = {}; + for (const key of Object.keys(obj)) { + if (this.allowedHeaderNames.has(key.toLowerCase())) { + sanitized[key] = obj[key]; + } else { + sanitized[key] = RedactedString; + } + } + return sanitized; + } + sanitizeQuery(value) { + if (typeof value !== "object" || value === null) { + return value; + } + const sanitized = {}; + for (const k4 of Object.keys(value)) { + if (this.allowedQueryParameters.has(k4.toLowerCase())) { + sanitized[k4] = value[k4]; + } else { + sanitized[k4] = RedactedString; + } + } + return sanitized; + } + sanitizeUrl(value) { + if (typeof value !== "string" || value === null) { + return value; + } + const url2 = new URL(value); + if (!url2.search) { + return value; + } + for (const [key] of url2.searchParams) { + if (!this.allowedQueryParameters.has(key.toLowerCase())) { + url2.searchParams.set(key, RedactedString); + } + } + return url2.toString(); + } +}; + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/logPolicy.js +var logPolicyName = "logPolicy"; +function logPolicy(options = {}) { + var _a4; + const logger3 = (_a4 = options.logger) !== null && _a4 !== void 0 ? _a4 : logger.info; + const sanitizer = new Sanitizer({ + additionalAllowedHeaderNames: options.additionalAllowedHeaderNames, + additionalAllowedQueryParameters: options.additionalAllowedQueryParameters + }); + return { + name: logPolicyName, + async sendRequest(request3, next) { + if (!logger3.enabled) { + return next(request3); + } + logger3(`Request: ${sanitizer.sanitize(request3)}`); + const response = await next(request3); + logger3(`Response status code: ${response.status}`); + logger3(`Headers: ${sanitizer.sanitize(response.headers)}`); + return response; + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/redirectPolicy.js +var redirectPolicyName = "redirectPolicy"; +var allowedRedirect = ["GET", "HEAD"]; +function redirectPolicy(options = {}) { + const { maxRetries = 20 } = options; + return { + name: redirectPolicyName, + async sendRequest(request3, next) { + const response = await next(request3); + return handleRedirect(next, response, maxRetries); + } + }; +} +async function handleRedirect(next, response, maxRetries, currentRetries = 0) { + const { request: request3, status, headers } = response; + const locationHeader = headers.get("location"); + if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request3.method) || status === 302 && allowedRedirect.includes(request3.method) || status === 303 && request3.method === "POST" || status === 307) && currentRetries < maxRetries) { + const url2 = new URL(locationHeader, request3.url); + request3.url = url2.toString(); + if (status === 303) { + request3.method = "GET"; + request3.headers.delete("Content-Length"); + delete request3.body; + } + request3.headers.delete("Authorization"); + const res = await next(request3); + return handleRedirect(next, res, maxRetries, currentRetries + 1); + } + return response; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.js +var os2 = __toESM(require("node:os"), 1); +var process4 = __toESM(require("node:process"), 1); +function getHeaderName() { + return "User-Agent"; +} +function setPlatformSpecificData(map) { + const versions2 = process4.versions; + if (versions2.bun) { + map.set("Bun", versions2.bun); + } else if (versions2.deno) { + map.set("Deno", versions2.deno); + } else if (versions2.node) { + map.set("Node", versions2.node); + } + map.set("OS", `(${os2.arch()}-${os2.type()}-${os2.release()})`); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/constants.js +var SDK_VERSION = "1.15.2"; +var DEFAULT_RETRY_POLICY_COUNT = 3; + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgent.js +function getUserAgentString(telemetryInfo) { + const parts = []; + for (const [key, value] of telemetryInfo) { + const token = value ? `${key}/${value}` : key; + parts.push(token); + } + return parts.join(" "); +} +function getUserAgentHeaderName() { + return getHeaderName(); +} +function getUserAgentValue(prefix) { + const runtimeInfo = /* @__PURE__ */ new Map(); + runtimeInfo.set("core-rest-pipeline", SDK_VERSION); + setPlatformSpecificData(runtimeInfo); + const defaultAgent = getUserAgentString(runtimeInfo); + const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent; + return userAgentValue; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/userAgentPolicy.js +var UserAgentHeaderName = getUserAgentHeaderName(); +var userAgentPolicyName = "userAgentPolicy"; +function userAgentPolicy(options = {}) { + const userAgentValue = getUserAgentValue(options.userAgentPrefix); + return { + name: userAgentPolicyName, + async sendRequest(request3, next) { + if (!request3.headers.has(UserAgentHeaderName)) { + request3.headers.set(UserAgentHeaderName, userAgentValue); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/concat.js +var import_node_stream = require("node:stream"); + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/typeGuards.js +function isBlob2(x2) { + return typeof x2.stream === "function"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/file.js +var unimplementedMethods = { + arrayBuffer: () => { + throw new Error("Not implemented"); + }, + slice: () => { + throw new Error("Not implemented"); + }, + text: () => { + throw new Error("Not implemented"); + } +}; +var rawContent = Symbol("rawContent"); +function hasRawContent(x2) { + return typeof x2[rawContent] === "function"; +} +function getRawContent(blob) { + if (hasRawContent(blob)) { + return blob[rawContent](); + } else { + return blob.stream(); + } +} +function createFile(content, name, options = {}) { + var _a4, _b2, _c2; + if (isNode) { + return Object.assign(Object.assign({}, unimplementedMethods), { type: (_a4 = options.type) !== null && _a4 !== void 0 ? _a4 : "", lastModified: (_b2 = options.lastModified) !== null && _b2 !== void 0 ? _b2 : new Date().getTime(), webkitRelativePath: (_c2 = options.webkitRelativePath) !== null && _c2 !== void 0 ? _c2 : "", size: content.byteLength, name, arrayBuffer: async () => content.buffer, stream: () => new Blob([content]).stream(), [rawContent]: () => content }); + } else { + return new File([content], name, options); + } +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/concat.js +function streamAsyncIterator() { + return __asyncGenerator(this, arguments, function* streamAsyncIterator_1() { + const reader = this.getReader(); + try { + while (true) { + const { done, value } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + reader.releaseLock(); + } + }); +} +function makeAsyncIterable(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream); + } + if (!webStream.values) { + webStream.values = streamAsyncIterator.bind(webStream); + } +} +function ensureNodeStream(stream4) { + if (stream4 instanceof ReadableStream) { + makeAsyncIterable(stream4); + return import_node_stream.Readable.fromWeb(stream4); + } else { + return stream4; + } +} +function toStream(source) { + if (source instanceof Uint8Array) { + return import_node_stream.Readable.from(Buffer.from(source)); + } else if (isBlob2(source)) { + return toStream(getRawContent(source)); + } else { + return ensureNodeStream(source); + } +} +async function concat(sources) { + return function() { + const streams = sources.map((x2) => typeof x2 === "function" ? x2() : x2).map(toStream); + return import_node_stream.Readable.from(function() { + return __asyncGenerator(this, arguments, function* () { + var _a4, e_1, _b2, _c2; + for (const stream4 of streams) { + try { + for (var _d2 = true, stream_1 = (e_1 = void 0, __asyncValues(stream4)), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a4 = stream_1_1.done, !_a4; _d2 = true) { + _c2 = stream_1_1.value; + _d2 = false; + const chunk = _c2; + yield yield __await(chunk); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = stream_1.return)) + yield __await(_b2.call(stream_1)); + } finally { + if (e_1) + throw e_1.error; + } + } + } + }); + }()); + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/multipartPolicy.js +function generateBoundary() { + return `----AzSDKFormBoundary${randomUUID()}`; +} +function encodeHeaders(headers) { + let result = ""; + for (const [key, value] of headers) { + result += `${key}: ${value}\r +`; + } + return result; +} +function getLength(source) { + if (source instanceof Uint8Array) { + return source.byteLength; + } else if (isBlob2(source)) { + return source.size === -1 ? void 0 : source.size; + } else { + return void 0; + } +} +function getTotalLength(sources) { + let total = 0; + for (const source of sources) { + const partLength = getLength(source); + if (partLength === void 0) { + return void 0; + } else { + total += partLength; + } + } + return total; +} +async function buildRequestBody(request3, parts, boundary) { + const sources = [ + stringToUint8Array(`--${boundary}`, "utf-8"), + ...parts.flatMap((part) => [ + stringToUint8Array("\r\n", "utf-8"), + stringToUint8Array(encodeHeaders(part.headers), "utf-8"), + stringToUint8Array("\r\n", "utf-8"), + part.body, + stringToUint8Array(`\r +--${boundary}`, "utf-8") + ]), + stringToUint8Array("--\r\n\r\n", "utf-8") + ]; + const contentLength = getTotalLength(sources); + if (contentLength) { + request3.headers.set("Content-Length", contentLength); + } + request3.body = await concat(sources); +} +var multipartPolicyName = "multipartPolicy"; +var maxBoundaryLength = 70; +var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`); +function assertValidBoundary(boundary) { + if (boundary.length > maxBoundaryLength) { + throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`); + } + if (Array.from(boundary).some((x2) => !validBoundaryCharacters.has(x2))) { + throw new Error(`Multipart boundary "${boundary}" contains invalid characters`); + } +} +function multipartPolicy() { + return { + name: multipartPolicyName, + async sendRequest(request3, next) { + var _a4; + if (!request3.multipartBody) { + return next(request3); + } + if (request3.body) { + throw new Error("multipartBody and regular body cannot be set at the same time"); + } + let boundary = request3.multipartBody.boundary; + const contentTypeHeader = (_a4 = request3.headers.get("Content-Type")) !== null && _a4 !== void 0 ? _a4 : "multipart/mixed"; + const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/); + if (!parsedHeader) { + throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`); + } + const [, contentType, parsedBoundary] = parsedHeader; + if (parsedBoundary && boundary && parsedBoundary !== boundary) { + throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`); + } + boundary !== null && boundary !== void 0 ? boundary : boundary = parsedBoundary; + if (boundary) { + assertValidBoundary(boundary); + } else { + boundary = generateBoundary(); + } + request3.headers.set("Content-Type", `${contentType}; boundary=${boundary}`); + await buildRequestBody(request3, request3.multipartBody.parts, boundary); + request3.multipartBody = void 0; + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/decompressResponsePolicy.js +var decompressResponsePolicyName = "decompressResponsePolicy"; +function decompressResponsePolicy() { + return { + name: decompressResponsePolicyName, + async sendRequest(request3, next) { + if (request3.method !== "HEAD") { + request3.headers.set("Accept-Encoding", "gzip,deflate"); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/helpers.js +var StandardAbortMessage = "The operation was aborted."; +function delay2(delayInMs, value, options) { + return new Promise((resolve, reject) => { + let timer = void 0; + let onAborted = void 0; + const rejectOnAbort = () => { + return reject(new AbortError((options === null || options === void 0 ? void 0 : options.abortErrorMsg) ? options === null || options === void 0 ? void 0 : options.abortErrorMsg : StandardAbortMessage)); + }; + const removeListeners = () => { + if ((options === null || options === void 0 ? void 0 : options.abortSignal) && onAborted) { + options.abortSignal.removeEventListener("abort", onAborted); + } + }; + onAborted = () => { + if (timer) { + clearTimeout(timer); + } + removeListeners(); + return rejectOnAbort(); + }; + if ((options === null || options === void 0 ? void 0 : options.abortSignal) && options.abortSignal.aborted) { + return rejectOnAbort(); + } + timer = setTimeout(() => { + removeListeners(); + resolve(value); + }, delayInMs); + if (options === null || options === void 0 ? void 0 : options.abortSignal) { + options.abortSignal.addEventListener("abort", onAborted); + } + }); +} +function parseHeaderValueAsNumber(response, headerName) { + const value = response.headers.get(headerName); + if (!value) + return; + const valueAsNum = Number(value); + if (Number.isNaN(valueAsNum)) + return; + return valueAsNum; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/retryStrategies/throttlingRetryStrategy.js +var RetryAfterHeader = "Retry-After"; +var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader]; +function getRetryAfterInMs(response) { + if (!(response && [429, 503].includes(response.status))) + return void 0; + try { + for (const header of AllRetryAfterHeaders) { + const retryAfterValue = parseHeaderValueAsNumber(response, header); + if (retryAfterValue === 0 || retryAfterValue) { + const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1; + return retryAfterValue * multiplyingFactor; + } + } + const retryAfterHeader = response.headers.get(RetryAfterHeader); + if (!retryAfterHeader) + return; + const date = Date.parse(retryAfterHeader); + const diff = date - Date.now(); + return Number.isFinite(diff) ? Math.max(0, diff) : void 0; + } catch (e3) { + return void 0; + } +} +function isThrottlingRetryResponse(response) { + return Number.isFinite(getRetryAfterInMs(response)); +} +function throttlingRetryStrategy() { + return { + name: "throttlingRetryStrategy", + retry({ response }) { + const retryAfterInMs = getRetryAfterInMs(response); + if (!Number.isFinite(retryAfterInMs)) { + return { skipStrategy: true }; + } + return { + retryAfterInMs + }; + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/retryStrategies/exponentialRetryStrategy.js +var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3; +var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64; +function exponentialRetryStrategy(options = {}) { + var _a4, _b2; + const retryInterval = (_a4 = options.retryDelayInMs) !== null && _a4 !== void 0 ? _a4 : DEFAULT_CLIENT_RETRY_INTERVAL; + const maxRetryInterval = (_b2 = options.maxRetryDelayInMs) !== null && _b2 !== void 0 ? _b2 : DEFAULT_CLIENT_MAX_RETRY_INTERVAL; + let retryAfterInMs = retryInterval; + return { + name: "exponentialRetryStrategy", + retry({ retryCount, response, responseError }) { + const matchedSystemError = isSystemError(responseError); + const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors; + const isExponential = isExponentialRetryResponse(response); + const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes; + const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential); + if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) { + return { skipStrategy: true }; + } + if (responseError && !matchedSystemError && !isExponential) { + return { errorToThrow: responseError }; + } + const exponentialDelay = retryAfterInMs * Math.pow(2, retryCount); + const clampedExponentialDelay = Math.min(maxRetryInterval, exponentialDelay); + retryAfterInMs = clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2); + return { retryAfterInMs }; + } + }; +} +function isExponentialRetryResponse(response) { + return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505); +} +function isSystemError(err) { + if (!err) { + return false; + } + return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/retryPolicy.js +var retryPolicyLogger = createClientLogger("core-rest-pipeline retryPolicy"); +var retryPolicyName = "retryPolicy"; +function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT }) { + const logger3 = options.logger || retryPolicyLogger; + return { + name: retryPolicyName, + async sendRequest(request3, next) { + var _a4, _b2; + let response; + let responseError; + let retryCount = -1; + retryRequest: + while (true) { + retryCount += 1; + response = void 0; + responseError = void 0; + try { + logger3.info(`Retry ${retryCount}: Attempting to send request`, request3.requestId); + response = await next(request3); + logger3.info(`Retry ${retryCount}: Received a response from request`, request3.requestId); + } catch (e3) { + logger3.error(`Retry ${retryCount}: Received an error from request`, request3.requestId); + responseError = e3; + if (!e3 || responseError.name !== "RestError") { + throw e3; + } + response = responseError.response; + } + if ((_a4 = request3.abortSignal) === null || _a4 === void 0 ? void 0 : _a4.aborted) { + logger3.error(`Retry ${retryCount}: Request aborted.`); + const abortError = new AbortError(); + throw abortError; + } + if (retryCount >= ((_b2 = options.maxRetries) !== null && _b2 !== void 0 ? _b2 : DEFAULT_RETRY_POLICY_COUNT)) { + logger3.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`); + if (responseError) { + throw responseError; + } else if (response) { + return response; + } else { + throw new Error("Maximum retries reached with no response or error to throw"); + } + } + logger3.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`); + strategiesLoop: + for (const strategy of strategies) { + const strategyLogger = strategy.logger || retryPolicyLogger; + strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`); + const modifiers = strategy.retry({ + retryCount, + response, + responseError + }); + if (modifiers.skipStrategy) { + strategyLogger.info(`Retry ${retryCount}: Skipped.`); + continue strategiesLoop; + } + const { errorToThrow, retryAfterInMs, redirectTo } = modifiers; + if (errorToThrow) { + strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow); + throw errorToThrow; + } + if (retryAfterInMs || retryAfterInMs === 0) { + strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`); + await delay2(retryAfterInMs, void 0, { abortSignal: request3.abortSignal }); + continue retryRequest; + } + if (redirectTo) { + strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`); + request3.url = redirectTo; + continue retryRequest; + } + } + if (responseError) { + logger3.info(`None of the retry strategies could work with the received error. Throwing it.`); + throw responseError; + } + if (response) { + logger3.info(`None of the retry strategies could work with the received response. Returning it.`); + return response; + } + } + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/defaultRetryPolicy.js +var defaultRetryPolicyName = "defaultRetryPolicy"; +function defaultRetryPolicy(options = {}) { + var _a4; + return { + name: defaultRetryPolicyName, + sendRequest: retryPolicy([throttlingRetryStrategy(), exponentialRetryStrategy(options)], { + maxRetries: (_a4 = options.maxRetries) !== null && _a4 !== void 0 ? _a4 : DEFAULT_RETRY_POLICY_COUNT + }).sendRequest + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/httpHeaders.js +function normalizeName(name) { + return name.toLowerCase(); +} +function* headerIterator(map) { + for (const entry of map.values()) { + yield [entry.name, entry.value]; + } +} +var HttpHeadersImpl = class { + constructor(rawHeaders) { + this._headersMap = /* @__PURE__ */ new Map(); + if (rawHeaders) { + for (const headerName of Object.keys(rawHeaders)) { + this.set(headerName, rawHeaders[headerName]); + } + } + } + set(name, value) { + this._headersMap.set(normalizeName(name), { name, value: String(value).trim() }); + } + get(name) { + var _a4; + return (_a4 = this._headersMap.get(normalizeName(name))) === null || _a4 === void 0 ? void 0 : _a4.value; + } + has(name) { + return this._headersMap.has(normalizeName(name)); + } + delete(name) { + this._headersMap.delete(normalizeName(name)); + } + toJSON(options = {}) { + const result = {}; + if (options.preserveCase) { + for (const entry of this._headersMap.values()) { + result[entry.name] = entry.value; + } + } else { + for (const [normalizedName, entry] of this._headersMap) { + result[normalizedName] = entry.value; + } + } + return result; + } + toString() { + return JSON.stringify(this.toJSON({ preserveCase: true })); + } + [Symbol.iterator]() { + return headerIterator(this._headersMap); + } +}; +function createHttpHeaders(rawHeaders) { + return new HttpHeadersImpl(rawHeaders); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/formDataPolicy.js +var formDataPolicyName = "formDataPolicy"; +function formDataPolicy() { + return { + name: formDataPolicyName, + async sendRequest(request3, next) { + if (request3.formData) { + const contentType = request3.headers.get("Content-Type"); + if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) { + request3.body = wwwFormUrlEncode(request3.formData); + } else { + await prepareFormData(request3.formData, request3); + } + request3.formData = void 0; + } + return next(request3); + } + }; +} +function wwwFormUrlEncode(formData) { + const urlSearchParams = new URLSearchParams(); + for (const [key, value] of Object.entries(formData)) { + if (Array.isArray(value)) { + for (const subValue of value) { + urlSearchParams.append(key, subValue.toString()); + } + } else { + urlSearchParams.append(key, value.toString()); + } + } + return urlSearchParams.toString(); +} +async function prepareFormData(formData, request3) { + const contentType = request3.headers.get("Content-Type"); + if (contentType && !contentType.startsWith("multipart/form-data")) { + return; + } + request3.headers.set("Content-Type", contentType !== null && contentType !== void 0 ? contentType : "multipart/form-data"); + const parts = []; + for (const [fieldName, values] of Object.entries(formData)) { + for (const value of Array.isArray(values) ? values : [values]) { + if (typeof value === "string") { + parts.push({ + headers: createHttpHeaders({ + "Content-Disposition": `form-data; name="${fieldName}"` + }), + body: stringToUint8Array(value, "utf-8") + }); + } else if (value === void 0 || value === null || typeof value !== "object") { + throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`); + } else { + const fileName = value.name || "blob"; + const headers = createHttpHeaders(); + headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`); + headers.set("Content-Type", value.type || "application/octet-stream"); + parts.push({ + headers, + body: value + }); + } + } + } + request3.multipartBody = { parts }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/proxyPolicy.js +var import_https_proxy_agent = __toESM(require_dist4(), 1); +var import_http_proxy_agent = __toESM(require_dist5(), 1); +var HTTPS_PROXY = "HTTPS_PROXY"; +var HTTP_PROXY = "HTTP_PROXY"; +var ALL_PROXY = "ALL_PROXY"; +var NO_PROXY = "NO_PROXY"; +var proxyPolicyName = "proxyPolicy"; +var globalNoProxyList = []; +var noProxyListLoaded = false; +var globalBypassedMap = /* @__PURE__ */ new Map(); +function getEnvironmentValue(name) { + if (process.env[name]) { + return process.env[name]; + } else if (process.env[name.toLowerCase()]) { + return process.env[name.toLowerCase()]; + } + return void 0; +} +function loadEnvironmentProxyValue() { + if (!process) { + return void 0; + } + const httpsProxy = getEnvironmentValue(HTTPS_PROXY); + const allProxy = getEnvironmentValue(ALL_PROXY); + const httpProxy = getEnvironmentValue(HTTP_PROXY); + return httpsProxy || allProxy || httpProxy; +} +function isBypassed(uri, noProxyList, bypassedMap) { + if (noProxyList.length === 0) { + return false; + } + const host = new URL(uri).hostname; + if (bypassedMap === null || bypassedMap === void 0 ? void 0 : bypassedMap.has(host)) { + return bypassedMap.get(host); + } + let isBypassedFlag = false; + for (const pattern of noProxyList) { + if (pattern[0] === ".") { + if (host.endsWith(pattern)) { + isBypassedFlag = true; + } else { + if (host.length === pattern.length - 1 && host === pattern.slice(1)) { + isBypassedFlag = true; + } + } + } else { + if (host === pattern) { + isBypassedFlag = true; + } + } + } + bypassedMap === null || bypassedMap === void 0 ? void 0 : bypassedMap.set(host, isBypassedFlag); + return isBypassedFlag; +} +function loadNoProxy() { + const noProxy = getEnvironmentValue(NO_PROXY); + noProxyListLoaded = true; + if (noProxy) { + return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length); + } + return []; +} +function getDefaultProxySettingsInternal() { + const envProxy = loadEnvironmentProxyValue(); + return envProxy ? new URL(envProxy) : void 0; +} +function getUrlFromProxySettings(settings) { + let parsedProxyUrl; + try { + parsedProxyUrl = new URL(settings.host); + } catch (_error) { + throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`); + } + parsedProxyUrl.port = String(settings.port); + if (settings.username) { + parsedProxyUrl.username = settings.username; + } + if (settings.password) { + parsedProxyUrl.password = settings.password; + } + return parsedProxyUrl; +} +function setProxyAgentOnRequest(request3, cachedAgents, proxyUrl) { + if (request3.agent) { + return; + } + const url2 = new URL(request3.url); + const isInsecure = url2.protocol !== "https:"; + if (request3.tlsSettings) { + logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored."); + } + const headers = request3.headers.toJSON(); + if (isInsecure) { + if (!cachedAgents.httpProxyAgent) { + cachedAgents.httpProxyAgent = new import_http_proxy_agent.HttpProxyAgent(proxyUrl, { headers }); + } + request3.agent = cachedAgents.httpProxyAgent; + } else { + if (!cachedAgents.httpsProxyAgent) { + cachedAgents.httpsProxyAgent = new import_https_proxy_agent.HttpsProxyAgent(proxyUrl, { headers }); + } + request3.agent = cachedAgents.httpsProxyAgent; + } +} +function proxyPolicy(proxySettings, options) { + if (!noProxyListLoaded) { + globalNoProxyList.push(...loadNoProxy()); + } + const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal(); + const cachedAgents = {}; + return { + name: proxyPolicyName, + async sendRequest(request3, next) { + var _a4; + if (!request3.proxySettings && defaultProxy && !isBypassed(request3.url, (_a4 = options === null || options === void 0 ? void 0 : options.customNoProxyList) !== null && _a4 !== void 0 ? _a4 : globalNoProxyList, (options === null || options === void 0 ? void 0 : options.customNoProxyList) ? void 0 : globalBypassedMap)) { + setProxyAgentOnRequest(request3, cachedAgents, defaultProxy); + } else if (request3.proxySettings) { + setProxyAgentOnRequest(request3, cachedAgents, getUrlFromProxySettings(request3.proxySettings)); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/setClientRequestIdPolicy.js +var setClientRequestIdPolicyName = "setClientRequestIdPolicy"; +function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") { + return { + name: setClientRequestIdPolicyName, + async sendRequest(request3, next) { + if (!request3.headers.has(requestIdHeaderName)) { + request3.headers.set(requestIdHeaderName, request3.requestId); + } + return next(request3); + } + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/tlsPolicy.js +var tlsPolicyName = "tlsPolicy"; +function tlsPolicy(tlsSettings) { + return { + name: tlsPolicyName, + sendRequest: async (req, next) => { + if (!req.tlsSettings) { + req.tlsSettings = tlsSettings; + } + return next(req); + } + }; +} + +// node_modules/@azure/core-tracing/dist/esm/tracingContext.js +var knownContextKeys = { + span: Symbol.for("@azure/core-tracing span"), + namespace: Symbol.for("@azure/core-tracing namespace") +}; +function createTracingContext(options = {}) { + let context2 = new TracingContextImpl(options.parentContext); + if (options.span) { + context2 = context2.setValue(knownContextKeys.span, options.span); + } + if (options.namespace) { + context2 = context2.setValue(knownContextKeys.namespace, options.namespace); + } + return context2; +} +var TracingContextImpl = class { + constructor(initialContext) { + this._contextMap = initialContext instanceof TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map(); + } + setValue(key, value) { + const newContext = new TracingContextImpl(this); + newContext._contextMap.set(key, value); + return newContext; + } + getValue(key) { + return this._contextMap.get(key); + } + deleteValue(key) { + const newContext = new TracingContextImpl(this); + newContext._contextMap.delete(key); + return newContext; + } +}; + +// node_modules/@azure/core-tracing/dist/esm/state.js +var import_state = __toESM(require_state2(), 1); +var state = import_state.state; + +// node_modules/@azure/core-tracing/dist/esm/instrumenter.js +function createDefaultTracingSpan() { + return { + end: () => { + }, + isRecording: () => false, + recordException: () => { + }, + setAttribute: () => { + }, + setStatus: () => { + } + }; +} +function createDefaultInstrumenter() { + return { + createRequestHeaders: () => { + return {}; + }, + parseTraceparentHeader: () => { + return void 0; + }, + startSpan: (_name, spanOptions) => { + return { + span: createDefaultTracingSpan(), + tracingContext: createTracingContext({ parentContext: spanOptions.tracingContext }) + }; + }, + withContext(_context, callback, ...callbackArgs) { + return callback(...callbackArgs); + } + }; +} +function getInstrumenter() { + if (!state.instrumenterImplementation) { + state.instrumenterImplementation = createDefaultInstrumenter(); + } + return state.instrumenterImplementation; +} + +// node_modules/@azure/core-tracing/dist/esm/tracingClient.js +function createTracingClient(options) { + const { namespace, packageName, packageVersion } = options; + function startSpan(name, operationOptions, spanOptions) { + var _a4; + const startSpanResult = getInstrumenter().startSpan(name, Object.assign(Object.assign({}, spanOptions), { packageName, packageVersion, tracingContext: (_a4 = operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions) === null || _a4 === void 0 ? void 0 : _a4.tracingContext })); + let tracingContext = startSpanResult.tracingContext; + const span = startSpanResult.span; + if (!tracingContext.getValue(knownContextKeys.namespace)) { + tracingContext = tracingContext.setValue(knownContextKeys.namespace, namespace); + } + span.setAttribute("az.namespace", tracingContext.getValue(knownContextKeys.namespace)); + const updatedOptions = Object.assign({}, operationOptions, { + tracingOptions: Object.assign(Object.assign({}, operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions), { tracingContext }) + }); + return { + span, + updatedOptions + }; + } + async function withSpan(name, operationOptions, callback, spanOptions) { + const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions); + try { + const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span))); + span.setStatus({ status: "success" }); + return result; + } catch (err) { + span.setStatus({ status: "error", error: err }); + throw err; + } finally { + span.end(); + } + } + function withContext(context2, callback, ...callbackArgs) { + return getInstrumenter().withContext(context2, callback, ...callbackArgs); + } + function parseTraceparentHeader(traceparentHeader) { + return getInstrumenter().parseTraceparentHeader(traceparentHeader); + } + function createRequestHeaders(tracingContext) { + return getInstrumenter().createRequestHeaders(tracingContext); + } + return { + startSpan, + withSpan, + withContext, + parseTraceparentHeader, + createRequestHeaders + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/inspect.js +var import_node_util2 = require("node:util"); +var custom = import_node_util2.inspect.custom; + +// node_modules/@azure/core-rest-pipeline/dist/esm/restError.js +var errorSanitizer = new Sanitizer(); +var RestError = class extends Error { + constructor(message, options = {}) { + super(message); + this.name = "RestError"; + this.code = options.code; + this.statusCode = options.statusCode; + this.request = options.request; + this.response = options.response; + Object.setPrototypeOf(this, RestError.prototype); + } + [custom]() { + return `RestError: ${this.message} + ${errorSanitizer.sanitize(this)}`; + } +}; +RestError.REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR"; +RestError.PARSE_ERROR = "PARSE_ERROR"; +function isRestError(e3) { + if (e3 instanceof RestError) { + return true; + } + return isError(e3) && e3.name === "RestError"; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/tracingPolicy.js +var tracingPolicyName = "tracingPolicy"; +function tracingPolicy(options = {}) { + const userAgent = getUserAgentValue(options.userAgentPrefix); + const tracingClient = tryCreateTracingClient(); + return { + name: tracingPolicyName, + async sendRequest(request3, next) { + var _a4, _b2; + if (!tracingClient || !((_a4 = request3.tracingOptions) === null || _a4 === void 0 ? void 0 : _a4.tracingContext)) { + return next(request3); + } + const { span, tracingContext } = (_b2 = tryCreateSpan(tracingClient, request3, userAgent)) !== null && _b2 !== void 0 ? _b2 : {}; + if (!span || !tracingContext) { + return next(request3); + } + try { + const response = await tracingClient.withContext(tracingContext, next, request3); + tryProcessResponse(span, response); + return response; + } catch (err) { + tryProcessError(span, err); + throw err; + } + } + }; +} +function tryCreateTracingClient() { + try { + return createTracingClient({ + namespace: "", + packageName: "@azure/core-rest-pipeline", + packageVersion: SDK_VERSION + }); + } catch (e3) { + logger.warning(`Error when creating the TracingClient: ${getErrorMessage(e3)}`); + return void 0; + } +} +function tryCreateSpan(tracingClient, request3, userAgent) { + try { + const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request3.method}`, { tracingOptions: request3.tracingOptions }, { + spanKind: "client", + spanAttributes: { + "http.method": request3.method, + "http.url": request3.url, + requestId: request3.requestId + } + }); + if (!span.isRecording()) { + span.end(); + return void 0; + } + if (userAgent) { + span.setAttribute("http.user_agent", userAgent); + } + const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext); + for (const [key, value] of Object.entries(headers)) { + request3.headers.set(key, value); + } + return { span, tracingContext: updatedOptions.tracingOptions.tracingContext }; + } catch (e3) { + logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e3)}`); + return void 0; + } +} +function tryProcessError(span, error) { + try { + span.setStatus({ + status: "error", + error: isError(error) ? error : void 0 + }); + if (isRestError(error) && error.statusCode) { + span.setAttribute("http.status_code", error.statusCode); + } + span.end(); + } catch (e3) { + logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e3)}`); + } +} +function tryProcessResponse(span, response) { + try { + span.setAttribute("http.status_code", response.status); + const serviceRequestId = response.headers.get("x-ms-request-id"); + if (serviceRequestId) { + span.setAttribute("serviceRequestId", serviceRequestId); + } + span.setStatus({ + status: "success" + }); + span.end(); + } catch (e3) { + logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e3)}`); + } +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/createPipelineFromOptions.js +function createPipelineFromOptions(options) { + var _a4; + const pipeline = createEmptyPipeline(); + if (isNode) { + if (options.tlsOptions) { + pipeline.addPolicy(tlsPolicy(options.tlsOptions)); + } + pipeline.addPolicy(proxyPolicy(options.proxyOptions)); + pipeline.addPolicy(decompressResponsePolicy()); + } + pipeline.addPolicy(formDataPolicy(), { beforePolicies: [multipartPolicyName] }); + pipeline.addPolicy(userAgentPolicy(options.userAgentOptions)); + pipeline.addPolicy(setClientRequestIdPolicy((_a4 = options.telemetryOptions) === null || _a4 === void 0 ? void 0 : _a4.clientRequestIdHeaderName)); + pipeline.addPolicy(multipartPolicy(), { afterPhase: "Deserialize" }); + pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(tracingPolicy(options.userAgentOptions), { afterPhase: "Retry" }); + if (isNode) { + pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" }); + } + pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: "Sign" }); + return pipeline; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/nodeHttpClient.js +var http2 = __toESM(require("node:http"), 1); +var https2 = __toESM(require("node:https"), 1); +var zlib2 = __toESM(require("node:zlib"), 1); +var import_node_stream2 = require("node:stream"); +var DEFAULT_TLS_SETTINGS = {}; +function isReadableStream(body) { + return body && typeof body.pipe === "function"; +} +function isStreamComplete(stream4) { + return new Promise((resolve) => { + stream4.on("close", resolve); + stream4.on("end", resolve); + stream4.on("error", resolve); + }); +} +function isArrayBuffer2(body) { + return body && typeof body.byteLength === "number"; +} +var ReportTransform = class extends import_node_stream2.Transform { + _transform(chunk, _encoding, callback) { + this.push(chunk); + this.loadedBytes += chunk.length; + try { + this.progressCallback({ loadedBytes: this.loadedBytes }); + callback(); + } catch (e3) { + callback(e3); + } + } + constructor(progressCallback) { + super(); + this.loadedBytes = 0; + this.progressCallback = progressCallback; + } +}; +var NodeHttpClient = class { + constructor() { + this.cachedHttpsAgents = /* @__PURE__ */ new WeakMap(); + } + async sendRequest(request3) { + var _a4, _b2, _c2; + const abortController = new AbortController(); + let abortListener; + if (request3.abortSignal) { + if (request3.abortSignal.aborted) { + throw new AbortError("The operation was aborted."); + } + abortListener = (event) => { + if (event.type === "abort") { + abortController.abort(); + } + }; + request3.abortSignal.addEventListener("abort", abortListener); + } + if (request3.timeout > 0) { + setTimeout(() => { + abortController.abort(); + }, request3.timeout); + } + const acceptEncoding = request3.headers.get("Accept-Encoding"); + const shouldDecompress = (acceptEncoding === null || acceptEncoding === void 0 ? void 0 : acceptEncoding.includes("gzip")) || (acceptEncoding === null || acceptEncoding === void 0 ? void 0 : acceptEncoding.includes("deflate")); + let body = typeof request3.body === "function" ? request3.body() : request3.body; + if (body && !request3.headers.has("Content-Length")) { + const bodyLength = getBodyLength(body); + if (bodyLength !== null) { + request3.headers.set("Content-Length", bodyLength); + } + } + let responseStream; + try { + if (body && request3.onUploadProgress) { + const onUploadProgress = request3.onUploadProgress; + const uploadReportStream = new ReportTransform(onUploadProgress); + uploadReportStream.on("error", (e3) => { + logger.error("Error in upload progress", e3); + }); + if (isReadableStream(body)) { + body.pipe(uploadReportStream); + } else { + uploadReportStream.end(body); + } + body = uploadReportStream; + } + const res = await this.makeRequest(request3, abortController, body); + const headers = getResponseHeaders(res); + const status = (_a4 = res.statusCode) !== null && _a4 !== void 0 ? _a4 : 0; + const response = { + status, + headers, + request: request3 + }; + if (request3.method === "HEAD") { + res.resume(); + return response; + } + responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res; + const onDownloadProgress = request3.onDownloadProgress; + if (onDownloadProgress) { + const downloadReportStream = new ReportTransform(onDownloadProgress); + downloadReportStream.on("error", (e3) => { + logger.error("Error in download progress", e3); + }); + responseStream.pipe(downloadReportStream); + responseStream = downloadReportStream; + } + if (((_b2 = request3.streamResponseStatusCodes) === null || _b2 === void 0 ? void 0 : _b2.has(Number.POSITIVE_INFINITY)) || ((_c2 = request3.streamResponseStatusCodes) === null || _c2 === void 0 ? void 0 : _c2.has(response.status))) { + response.readableStreamBody = responseStream; + } else { + response.bodyAsText = await streamToText(responseStream); + } + return response; + } finally { + if (request3.abortSignal && abortListener) { + let uploadStreamDone = Promise.resolve(); + if (isReadableStream(body)) { + uploadStreamDone = isStreamComplete(body); + } + let downloadStreamDone = Promise.resolve(); + if (isReadableStream(responseStream)) { + downloadStreamDone = isStreamComplete(responseStream); + } + Promise.all([uploadStreamDone, downloadStreamDone]).then(() => { + var _a5; + if (abortListener) { + (_a5 = request3.abortSignal) === null || _a5 === void 0 ? void 0 : _a5.removeEventListener("abort", abortListener); + } + }).catch((e3) => { + logger.warning("Error when cleaning up abortListener on httpRequest", e3); + }); + } + } + } + makeRequest(request3, abortController, body) { + var _a4; + const url2 = new URL(request3.url); + const isInsecure = url2.protocol !== "https:"; + if (isInsecure && !request3.allowInsecureConnection) { + throw new Error(`Cannot connect to ${request3.url} while allowInsecureConnection is false.`); + } + const agent = (_a4 = request3.agent) !== null && _a4 !== void 0 ? _a4 : this.getOrCreateAgent(request3, isInsecure); + const options = { + agent, + hostname: url2.hostname, + path: `${url2.pathname}${url2.search}`, + port: url2.port, + method: request3.method, + headers: request3.headers.toJSON({ preserveCase: true }) + }; + return new Promise((resolve, reject) => { + const req = isInsecure ? http2.request(options, resolve) : https2.request(options, resolve); + req.once("error", (err) => { + var _a5; + reject(new RestError(err.message, { code: (_a5 = err.code) !== null && _a5 !== void 0 ? _a5 : RestError.REQUEST_SEND_ERROR, request: request3 })); + }); + abortController.signal.addEventListener("abort", () => { + const abortError = new AbortError("The operation was aborted."); + req.destroy(abortError); + reject(abortError); + }); + if (body && isReadableStream(body)) { + body.pipe(req); + } else if (body) { + if (typeof body === "string" || Buffer.isBuffer(body)) { + req.end(body); + } else if (isArrayBuffer2(body)) { + req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body)); + } else { + logger.error("Unrecognized body type", body); + reject(new RestError("Unrecognized body type")); + } + } else { + req.end(); + } + }); + } + getOrCreateAgent(request3, isInsecure) { + var _a4; + const disableKeepAlive = request3.disableKeepAlive; + if (isInsecure) { + if (disableKeepAlive) { + return http2.globalAgent; + } + if (!this.cachedHttpAgent) { + this.cachedHttpAgent = new http2.Agent({ keepAlive: true }); + } + return this.cachedHttpAgent; + } else { + if (disableKeepAlive && !request3.tlsSettings) { + return https2.globalAgent; + } + const tlsSettings = (_a4 = request3.tlsSettings) !== null && _a4 !== void 0 ? _a4 : DEFAULT_TLS_SETTINGS; + let agent = this.cachedHttpsAgents.get(tlsSettings); + if (agent && agent.options.keepAlive === !disableKeepAlive) { + return agent; + } + logger.info("No cached TLS Agent exist, creating a new Agent"); + agent = new https2.Agent(Object.assign({ + keepAlive: !disableKeepAlive + }, tlsSettings)); + this.cachedHttpsAgents.set(tlsSettings, agent); + return agent; + } + } +}; +function getResponseHeaders(res) { + const headers = createHttpHeaders(); + for (const header of Object.keys(res.headers)) { + const value = res.headers[header]; + if (Array.isArray(value)) { + if (value.length > 0) { + headers.set(header, value[0]); + } + } else if (value) { + headers.set(header, value); + } + } + return headers; +} +function getDecodedResponseStream(stream4, headers) { + const contentEncoding = headers.get("Content-Encoding"); + if (contentEncoding === "gzip") { + const unzip = zlib2.createGunzip(); + stream4.pipe(unzip); + return unzip; + } else if (contentEncoding === "deflate") { + const inflate = zlib2.createInflate(); + stream4.pipe(inflate); + return inflate; + } + return stream4; +} +function streamToText(stream4) { + return new Promise((resolve, reject) => { + const buffer = []; + stream4.on("data", (chunk) => { + if (Buffer.isBuffer(chunk)) { + buffer.push(chunk); + } else { + buffer.push(Buffer.from(chunk)); + } + }); + stream4.on("end", () => { + resolve(Buffer.concat(buffer).toString("utf8")); + }); + stream4.on("error", (e3) => { + if (e3 && (e3 === null || e3 === void 0 ? void 0 : e3.name) === "AbortError") { + reject(e3); + } else { + reject(new RestError(`Error reading response as text: ${e3.message}`, { + code: RestError.PARSE_ERROR + })); + } + }); + }); +} +function getBodyLength(body) { + if (!body) { + return 0; + } else if (Buffer.isBuffer(body)) { + return body.length; + } else if (isReadableStream(body)) { + return null; + } else if (isArrayBuffer2(body)) { + return body.byteLength; + } else if (typeof body === "string") { + return Buffer.from(body).length; + } else { + return null; + } +} +function createNodeHttpClient() { + return new NodeHttpClient(); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/defaultHttpClient.js +function createDefaultHttpClient() { + return createNodeHttpClient(); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/pipelineRequest.js +var PipelineRequestImpl = class { + constructor(options) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + this.url = options.url; + this.body = options.body; + this.headers = (_a4 = options.headers) !== null && _a4 !== void 0 ? _a4 : createHttpHeaders(); + this.method = (_b2 = options.method) !== null && _b2 !== void 0 ? _b2 : "GET"; + this.timeout = (_c2 = options.timeout) !== null && _c2 !== void 0 ? _c2 : 0; + this.multipartBody = options.multipartBody; + this.formData = options.formData; + this.disableKeepAlive = (_d2 = options.disableKeepAlive) !== null && _d2 !== void 0 ? _d2 : false; + this.proxySettings = options.proxySettings; + this.streamResponseStatusCodes = options.streamResponseStatusCodes; + this.withCredentials = (_e2 = options.withCredentials) !== null && _e2 !== void 0 ? _e2 : false; + this.abortSignal = options.abortSignal; + this.tracingOptions = options.tracingOptions; + this.onUploadProgress = options.onUploadProgress; + this.onDownloadProgress = options.onDownloadProgress; + this.requestId = options.requestId || randomUUID(); + this.allowInsecureConnection = (_f = options.allowInsecureConnection) !== null && _f !== void 0 ? _f : false; + this.enableBrowserStreams = (_g = options.enableBrowserStreams) !== null && _g !== void 0 ? _g : false; + } +}; +function createPipelineRequest(options) { + return new PipelineRequestImpl(options); +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/util/tokenCycler.js +var DEFAULT_CYCLER_OPTIONS = { + forcedRefreshWindowInMs: 1e3, + retryIntervalInMs: 3e3, + refreshWindowInMs: 1e3 * 60 * 2 +}; +async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) { + async function tryGetAccessToken() { + if (Date.now() < refreshTimeout) { + try { + return await getAccessToken(); + } catch (_a4) { + return null; + } + } else { + const finalToken = await getAccessToken(); + if (finalToken === null) { + throw new Error("Failed to refresh access token."); + } + return finalToken; + } + } + let token = await tryGetAccessToken(); + while (token === null) { + await delay2(retryIntervalInMs); + token = await tryGetAccessToken(); + } + return token; +} +function createTokenCycler(credential, tokenCyclerOptions) { + let refreshWorker = null; + let token = null; + let tenantId; + const options = Object.assign(Object.assign({}, DEFAULT_CYCLER_OPTIONS), tokenCyclerOptions); + const cycler = { + get isRefreshing() { + return refreshWorker !== null; + }, + get shouldRefresh() { + var _a4; + return !cycler.isRefreshing && ((_a4 = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a4 !== void 0 ? _a4 : 0) - options.refreshWindowInMs < Date.now(); + }, + get mustRefresh() { + return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now(); + } + }; + function refresh(scopes, getTokenOptions) { + var _a4; + if (!cycler.isRefreshing) { + const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions); + refreshWorker = beginRefresh( + tryGetAccessToken, + options.retryIntervalInMs, + (_a4 = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a4 !== void 0 ? _a4 : Date.now() + ).then((_token) => { + refreshWorker = null; + token = _token; + tenantId = getTokenOptions.tenantId; + return token; + }).catch((reason) => { + refreshWorker = null; + token = null; + tenantId = void 0; + throw reason; + }); + } + return refreshWorker; + } + return async (scopes, tokenOptions) => { + const mustRefresh = tenantId !== tokenOptions.tenantId || Boolean(tokenOptions.claims) || cycler.mustRefresh; + if (mustRefresh) + return refresh(scopes, tokenOptions); + if (cycler.shouldRefresh) { + refresh(scopes, tokenOptions); + } + return token; + }; +} + +// node_modules/@azure/core-rest-pipeline/dist/esm/policies/bearerTokenAuthenticationPolicy.js +var bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy"; +async function defaultAuthorizeRequest(options) { + const { scopes, getAccessToken, request: request3 } = options; + const getTokenOptions = { + abortSignal: request3.abortSignal, + tracingOptions: request3.tracingOptions + }; + const accessToken = await getAccessToken(scopes, getTokenOptions); + if (accessToken) { + options.request.headers.set("Authorization", `Bearer ${accessToken.token}`); + } +} +function getChallenge(response) { + const challenge = response.headers.get("WWW-Authenticate"); + if (response.status === 401 && challenge) { + return challenge; + } + return; +} +function bearerTokenAuthenticationPolicy(options) { + var _a4; + const { credential, scopes, challengeCallbacks } = options; + const logger3 = options.logger || logger; + const callbacks = Object.assign({ authorizeRequest: (_a4 = challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequest) !== null && _a4 !== void 0 ? _a4 : defaultAuthorizeRequest, authorizeRequestOnChallenge: challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequestOnChallenge }, challengeCallbacks); + const getAccessToken = credential ? createTokenCycler(credential) : () => Promise.resolve(null); + return { + name: bearerTokenAuthenticationPolicyName, + async sendRequest(request3, next) { + if (!request3.url.toLowerCase().startsWith("https://")) { + throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs."); + } + await callbacks.authorizeRequest({ + scopes: Array.isArray(scopes) ? scopes : [scopes], + request: request3, + getAccessToken, + logger: logger3 + }); + let response; + let error; + try { + response = await next(request3); + } catch (err) { + error = err; + response = err.response; + } + if (callbacks.authorizeRequestOnChallenge && (response === null || response === void 0 ? void 0 : response.status) === 401 && getChallenge(response)) { + const shouldSendRequest = await callbacks.authorizeRequestOnChallenge({ + scopes: Array.isArray(scopes) ? scopes : [scopes], + request: request3, + response, + getAccessToken, + logger: logger3 + }); + if (shouldSendRequest) { + return next(request3); + } + } + if (error) { + throw error; + } else { + return response; + } + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/apiVersionPolicy.js +var apiVersionPolicyName = "ApiVersionPolicy"; +function apiVersionPolicy(options) { + return { + name: apiVersionPolicyName, + sendRequest: (req, next) => { + const url2 = new URL(req.url); + if (!url2.searchParams.get("api-version") && options.apiVersion) { + req.url = `${req.url}${Array.from(url2.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`; + } + return next(req); + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/keyCredentialAuthenticationPolicy.js +var keyCredentialAuthenticationPolicyName = "keyCredentialAuthenticationPolicy"; +function keyCredentialAuthenticationPolicy(credential, apiKeyHeaderName) { + return { + name: keyCredentialAuthenticationPolicyName, + async sendRequest(request3, next) { + request3.headers.set(apiKeyHeaderName, credential.key); + return next(request3); + } + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/clientHelpers.js +var cachedHttpClient; +function addCredentialPipelinePolicy(pipeline, endpoint, options = {}) { + var _a4, _b2, _c2, _d2; + const { credential, clientOptions } = options; + if (!credential) { + return; + } + if (isTokenCredential(credential)) { + const tokenPolicy = bearerTokenAuthenticationPolicy({ + credential, + scopes: (_b2 = (_a4 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _a4 === void 0 ? void 0 : _a4.scopes) !== null && _b2 !== void 0 ? _b2 : `${endpoint}/.default` + }); + pipeline.addPolicy(tokenPolicy); + } else if (isKeyCredential2(credential)) { + if (!((_c2 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _c2 === void 0 ? void 0 : _c2.apiKeyHeaderName)) { + throw new Error(`Missing API Key Header Name`); + } + const keyPolicy = keyCredentialAuthenticationPolicy(credential, (_d2 = clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.credentials) === null || _d2 === void 0 ? void 0 : _d2.apiKeyHeaderName); + pipeline.addPolicy(keyPolicy); + } +} +function createDefaultPipeline(endpoint, credential, options = {}) { + const pipeline = createPipelineFromOptions(options); + pipeline.addPolicy(apiVersionPolicy(options)); + addCredentialPipelinePolicy(pipeline, endpoint, { credential, clientOptions: options }); + return pipeline; +} +function isKeyCredential2(credential) { + return credential.key !== void 0; +} +function getCachedDefaultHttpsClient() { + if (!cachedHttpClient) { + cachedHttpClient = createDefaultHttpClient(); + } + return cachedHttpClient; +} + +// node_modules/@azure-rest/core-client/dist/esm/operationOptionHelpers.js +function operationOptionsToRequestParameters(options) { + var _a4, _b2, _c2, _d2, _e2, _f; + return { + allowInsecureConnection: (_a4 = options.requestOptions) === null || _a4 === void 0 ? void 0 : _a4.allowInsecureConnection, + timeout: (_b2 = options.requestOptions) === null || _b2 === void 0 ? void 0 : _b2.timeout, + skipUrlEncoding: (_c2 = options.requestOptions) === null || _c2 === void 0 ? void 0 : _c2.skipUrlEncoding, + abortSignal: options.abortSignal, + onUploadProgress: (_d2 = options.requestOptions) === null || _d2 === void 0 ? void 0 : _d2.onUploadProgress, + onDownloadProgress: (_e2 = options.requestOptions) === null || _e2 === void 0 ? void 0 : _e2.onDownloadProgress, + tracingOptions: options.tracingOptions, + headers: Object.assign({}, (_f = options.requestOptions) === null || _f === void 0 ? void 0 : _f.headers), + onResponse: options.onResponse + }; +} + +// node_modules/@azure-rest/core-client/dist/esm/helpers/isReadableStream.js +function isReadableStream2(body) { + return Boolean(body) && typeof body.pipe === "function"; +} + +// node_modules/@azure-rest/core-client/dist/esm/sendRequest.js +async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) { + var _a4; + const httpClient = customHttpClient !== null && customHttpClient !== void 0 ? customHttpClient : getCachedDefaultHttpsClient(); + const request3 = buildPipelineRequest(method, url2, options); + const response = await pipeline.sendRequest(httpClient, request3); + const headers = response.headers.toJSON(); + const stream4 = (_a4 = response.readableStreamBody) !== null && _a4 !== void 0 ? _a4 : response.browserStreamBody; + const parsedBody = options.responseAsStream || stream4 !== void 0 ? void 0 : getResponseBody(response); + const body = stream4 !== null && stream4 !== void 0 ? stream4 : parsedBody; + if (options === null || options === void 0 ? void 0 : options.onResponse) { + options.onResponse(Object.assign(Object.assign({}, response), { request: request3, rawHeaders: headers, parsedBody })); + } + return { + request: request3, + headers, + status: `${response.status}`, + body + }; +} +function getRequestContentType(options = {}) { + var _a4, _b2, _c2; + return (_c2 = (_a4 = options.contentType) !== null && _a4 !== void 0 ? _a4 : (_b2 = options.headers) === null || _b2 === void 0 ? void 0 : _b2["content-type"]) !== null && _c2 !== void 0 ? _c2 : getContentType(options.body); +} +function getContentType(body) { + if (ArrayBuffer.isView(body)) { + return "application/octet-stream"; + } + if (typeof body === "string") { + try { + JSON.parse(body); + return "application/json; charset=UTF-8"; + } catch (error) { + return void 0; + } + } + return "application/json; charset=UTF-8"; +} +function buildPipelineRequest(method, url2, options = {}) { + var _a4, _b2, _c2; + const requestContentType = getRequestContentType(options); + const { body, formData } = getRequestBody(options.body, requestContentType); + const hasContent = body !== void 0 || formData !== void 0; + const headers = createHttpHeaders(Object.assign(Object.assign(Object.assign({}, options.headers ? options.headers : {}), { accept: (_c2 = (_a4 = options.accept) !== null && _a4 !== void 0 ? _a4 : (_b2 = options.headers) === null || _b2 === void 0 ? void 0 : _b2.accept) !== null && _c2 !== void 0 ? _c2 : "application/json" }), hasContent && requestContentType && { + "content-type": requestContentType + })); + return createPipelineRequest({ + url: url2, + method, + body, + formData, + headers, + allowInsecureConnection: options.allowInsecureConnection, + tracingOptions: options.tracingOptions, + abortSignal: options.abortSignal, + onUploadProgress: options.onUploadProgress, + onDownloadProgress: options.onDownloadProgress, + timeout: options.timeout, + enableBrowserStreams: true, + streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0 + }); +} +function getRequestBody(body, contentType = "") { + if (body === void 0) { + return { body: void 0 }; + } + if (isReadableStream2(body)) { + return { body }; + } + const firstType = contentType.split(";")[0]; + if (firstType === "application/json") { + return { body: JSON.stringify(body) }; + } + if (ArrayBuffer.isView(body)) { + return { body: body instanceof Uint8Array ? body : JSON.stringify(body) }; + } + switch (firstType) { + case "multipart/form-data": + return isRLCFormDataInput(body) ? { formData: processFormData(body) } : { body: JSON.stringify(body) }; + case "text/plain": + return { body: String(body) }; + default: + if (typeof body === "string") { + return { body }; + } + return { body: JSON.stringify(body) }; + } +} +function isRLCFormDataValue(value) { + return typeof value === "string" || value instanceof Uint8Array || typeof value.stream === "function"; +} +function isRLCFormDataInput(body) { + return body !== void 0 && body instanceof Object && Object.values(body).every((value) => isRLCFormDataValue(value) || Array.isArray(value) && value.every(isRLCFormDataValue)); +} +function processFormDataValue(value) { + return value instanceof Uint8Array ? createFile(value, "blob") : value; +} +function processFormData(formData) { + const processedFormData = {}; + for (const element in formData) { + const value = formData[element]; + processedFormData[element] = Array.isArray(value) ? value.map(processFormDataValue) : processFormDataValue(value); + } + return processedFormData; +} +function getResponseBody(response) { + var _a4, _b2; + const contentType = (_a4 = response.headers.get("content-type")) !== null && _a4 !== void 0 ? _a4 : ""; + const firstType = contentType.split(";")[0]; + const bodyToParse = (_b2 = response.bodyAsText) !== null && _b2 !== void 0 ? _b2 : ""; + if (firstType === "text/plain") { + return String(bodyToParse); + } + try { + return bodyToParse ? JSON.parse(bodyToParse) : void 0; + } catch (error) { + if (firstType === "application/json") { + throw createParseError(response, error); + } + return String(bodyToParse); + } +} +function createParseError(response, err) { + var _a4; + const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`; + const errCode = (_a4 = err.code) !== null && _a4 !== void 0 ? _a4 : RestError.PARSE_ERROR; + return new RestError(msg, { + code: errCode, + statusCode: response.status, + request: response.request, + response + }); +} + +// node_modules/@azure-rest/core-client/dist/esm/urlHelpers.js +function buildRequestUrl(endpoint, routePath, pathParameters, options = {}) { + if (routePath.startsWith("https://") || routePath.startsWith("http://")) { + return routePath; + } + endpoint = buildBaseUrl(endpoint, options); + routePath = buildRoutePath(routePath, pathParameters, options); + const requestUrl = appendQueryParams(`${endpoint}/${routePath}`, options); + const url2 = new URL(requestUrl); + return url2.toString().replace(/([^:]\/)\/+/g, "$1"); +} +function appendQueryParams(url2, options = {}) { + if (!options.queryParameters) { + return url2; + } + let parsedUrl = new URL(url2); + const queryParams = options.queryParameters; + for (const key of Object.keys(queryParams)) { + const param = queryParams[key]; + if (param === void 0 || param === null) { + continue; + } + if (!param.toString || typeof param.toString !== "function") { + throw new Error(`Query parameters must be able to be represented as string, ${key} can't`); + } + const value = param.toISOString !== void 0 ? param.toISOString() : param.toString(); + parsedUrl.searchParams.append(key, value); + } + if (options.skipUrlEncoding) { + parsedUrl = skipQueryParameterEncoding(parsedUrl); + } + return parsedUrl.toString(); +} +function skipQueryParameterEncoding(url2) { + if (!url2) { + return url2; + } + const searchPieces = []; + for (const [name, value] of url2.searchParams) { + searchPieces.push(`${name}=${value}`); + } + url2.search = searchPieces.length ? `?${searchPieces.join("&")}` : ""; + return url2; +} +function buildBaseUrl(endpoint, options) { + var _a4; + if (!options.pathParameters) { + return endpoint; + } + const pathParams = options.pathParameters; + for (const [key, param] of Object.entries(pathParams)) { + if (param === void 0 || param === null) { + throw new Error(`Path parameters ${key} must not be undefined or null`); + } + if (!param.toString || typeof param.toString !== "function") { + throw new Error(`Path parameters must be able to be represented as string, ${key} can't`); + } + let value = param.toISOString !== void 0 ? param.toISOString() : String(param); + if (!options.skipUrlEncoding) { + value = encodeURIComponent(param); + } + endpoint = (_a4 = replaceAll(endpoint, `{${key}}`, value)) !== null && _a4 !== void 0 ? _a4 : ""; + } + return endpoint; +} +function buildRoutePath(routePath, pathParameters, options = {}) { + for (const pathParam of pathParameters) { + let value = pathParam; + if (!options.skipUrlEncoding) { + value = encodeURIComponent(pathParam); + } + routePath = routePath.replace(/\{\w+\}/, value); + } + return routePath; +} +function replaceAll(value, searchValue, replaceValue) { + return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || ""); +} + +// node_modules/@azure-rest/core-client/dist/esm/getClient.js +function getClient(endpoint, credentialsOrPipelineOptions, clientOptions = {}) { + var _a4, _b2; + let credentials; + if (credentialsOrPipelineOptions) { + if (isCredential(credentialsOrPipelineOptions)) { + credentials = credentialsOrPipelineOptions; + } else { + clientOptions = credentialsOrPipelineOptions !== null && credentialsOrPipelineOptions !== void 0 ? credentialsOrPipelineOptions : {}; + } + } + const pipeline = createDefaultPipeline(endpoint, credentials, clientOptions); + if ((_a4 = clientOptions.additionalPolicies) === null || _a4 === void 0 ? void 0 : _a4.length) { + for (const { policy, position } of clientOptions.additionalPolicies) { + const afterPhase = position === "perRetry" ? "Sign" : void 0; + pipeline.addPolicy(policy, { + afterPhase + }); + } + } + const { allowInsecureConnection, httpClient } = clientOptions; + const endpointUrl = (_b2 = clientOptions.endpoint) !== null && _b2 !== void 0 ? _b2 : endpoint; + const client = (path2, ...args) => { + const getUrl = (requestOptions) => buildRequestUrl(endpointUrl, path2, args, Object.assign({ allowInsecureConnection }, requestOptions)); + return { + get: (requestOptions = {}) => { + return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + post: (requestOptions = {}) => { + return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + put: (requestOptions = {}) => { + return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + patch: (requestOptions = {}) => { + return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + delete: (requestOptions = {}) => { + return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + head: (requestOptions = {}) => { + return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + options: (requestOptions = {}) => { + return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + }, + trace: (requestOptions = {}) => { + return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); + } + }; + }; + return { + path: client, + pathUnchecked: client, + pipeline + }; +} +function buildOperation(method, url2, pipeline, options, allowInsecureConnection, httpClient) { + var _a4; + allowInsecureConnection = (_a4 = options.allowInsecureConnection) !== null && _a4 !== void 0 ? _a4 : allowInsecureConnection; + return { + then: function(onFulfilled, onrejected) { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection }), httpClient).then(onFulfilled, onrejected); + }, + async asBrowserStream() { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection, responseAsStream: true }), httpClient); + }, + async asNodeStream() { + return sendRequest(method, url2, pipeline, Object.assign(Object.assign({}, options), { allowInsecureConnection, responseAsStream: true }), httpClient); + } + }; +} +function isCredential(param) { + if (param.key !== void 0 || isTokenCredential(param)) { + return true; + } + return false; +} + +// node_modules/@azure/openai/dist-esm/src/logger.js +var logger2 = createClientLogger("openai"); + +// node_modules/@azure/openai/dist-esm/src/rest/openAIClient.js +function createClient(endpoint, credentials, options = {}) { + var _a4, _b2, _c2, _d2, _e2, _f, _g, _h; + const baseUrl = (_a4 = options.baseUrl) !== null && _a4 !== void 0 ? _a4 : `${endpoint}/openai`; + options.apiVersion = (_b2 = options.apiVersion) !== null && _b2 !== void 0 ? _b2 : "2024-03-01-preview"; + const userAgentInfo = `azsdk-js-openai-rest/1.0.0-beta.12`; + const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}` : `${userAgentInfo}`; + options = Object.assign(Object.assign({}, options), { userAgentOptions: { + userAgentPrefix + }, loggingOptions: { + logger: (_d2 = (_c2 = options.loggingOptions) === null || _c2 === void 0 ? void 0 : _c2.logger) !== null && _d2 !== void 0 ? _d2 : logger2.info + }, credentials: { + scopes: (_f = (_e2 = options.credentials) === null || _e2 === void 0 ? void 0 : _e2.scopes) !== null && _f !== void 0 ? _f : ["https://cognitiveservices.azure.com/.default"], + apiKeyHeaderName: (_h = (_g = options.credentials) === null || _g === void 0 ? void 0 : _g.apiKeyHeaderName) !== null && _h !== void 0 ? _h : "api-key" + } }); + const client = getClient(baseUrl, credentials, options); + return client; +} + +// node_modules/@azure/openai/dist-esm/src/rest/isUnexpected.js +var responseMap = { + "POST /deployments/{deploymentId}/audio/transcriptions": ["200"], + "POST /deployments/{deploymentId}/audio/translations": ["200"], + "POST /deployments/{deploymentId}/completions": ["200"], + "POST /deployments/{deploymentId}/chat/completions": ["200"], + "POST /deployments/{deploymentId}/images/generations": ["200"], + "POST /deployments/{deploymentId}/embeddings": ["200"], + "GET /operations/images/{operationId}": ["200"], + "POST /images/generations:submit": ["202"], + "GET /images/generations:submit": ["200", "202"] +}; +function isUnexpected(response) { + const lroOriginal = response.headers["x-ms-original-url"]; + const url2 = new URL(lroOriginal !== null && lroOriginal !== void 0 ? lroOriginal : response.request.url); + const method = response.request.method; + let pathDetails = responseMap[`${method} ${url2.pathname}`]; + if (!pathDetails) { + pathDetails = getParametrizedPathSuccess(method, url2.pathname); + } + return !pathDetails.includes(response.status); +} +function getParametrizedPathSuccess(method, path2) { + var _a4, _b2, _c2, _d2; + const pathParts = path2.split("/"); + let matchedLen = -1, matchedValue = []; + for (const [key, value] of Object.entries(responseMap)) { + if (!key.startsWith(method)) { + continue; + } + const candidatePath = getPathFromMapKey(key); + const candidateParts = candidatePath.split("/"); + let found = true; + for (let i3 = candidateParts.length - 1, j4 = pathParts.length - 1; i3 >= 1 && j4 >= 1; i3--, j4--) { + if (((_a4 = candidateParts[i3]) === null || _a4 === void 0 ? void 0 : _a4.startsWith("{")) && ((_b2 = candidateParts[i3]) === null || _b2 === void 0 ? void 0 : _b2.indexOf("}")) !== -1) { + const start = candidateParts[i3].indexOf("}") + 1, end = (_c2 = candidateParts[i3]) === null || _c2 === void 0 ? void 0 : _c2.length; + const isMatched = new RegExp(`${(_d2 = candidateParts[i3]) === null || _d2 === void 0 ? void 0 : _d2.slice(start, end)}`).test(pathParts[j4] || ""); + if (!isMatched) { + found = false; + break; + } + continue; + } + if (candidateParts[i3] !== pathParts[j4]) { + found = false; + break; + } + } + if (found && candidatePath.length > matchedLen) { + matchedLen = candidatePath.length; + matchedValue = value; + } + } + return matchedValue; +} +function getPathFromMapKey(mapKey) { + const pathStart = mapKey.indexOf("/"); + return mapKey.slice(pathStart); +} + +// node_modules/@azure/openai/dist-esm/src/rest/index.js +var rest_default = createClient; + +// node_modules/@azure/openai/dist-esm/src/api/OpenAIContext.js +function createOpenAI(endpoint, credential, options = {}) { + const clientContext = rest_default(endpoint, credential, options); + return clientContext; +} + +// node_modules/@azure/openai/dist-esm/src/api/util.js +function wrapError(f4, message) { + try { + const result = f4(); + return result; + } catch (cause) { + throw new Error(`${message}: ${cause}`, { cause }); + } +} +function camelCaseKeys(obj) { + if (typeof obj !== "object" || !obj) + return obj; + if (Array.isArray(obj)) { + return obj.map((v2) => camelCaseKeys(v2)); + } else { + for (const key of Object.keys(obj)) { + const value = obj[key]; + const newKey = tocamelCase(key); + if (newKey !== key) { + delete obj[key]; + } + obj[newKey] = typeof obj[newKey] === "object" ? camelCaseKeys(value) : value; + } + return obj; + } +} +function snakeCaseKeys(obj) { + if (typeof obj !== "object" || !obj) + return obj; + if (Array.isArray(obj)) { + return obj.map((v2) => snakeCaseKeys(v2)); + } else { + for (const key of Object.keys(obj)) { + const value = obj[key]; + const newKey = toSnakeCase(key); + if (newKey !== key) { + delete obj[key]; + } + obj[newKey] = typeof obj[newKey] === "object" ? snakeCaseKeys(value) : value; + } + return obj; + } +} +function tocamelCase(str) { + return str.toLowerCase().replace(/([_][a-z])/g, (group) => group.toUpperCase().replace("_", "")); +} +function toSnakeCase(str) { + return str.replace(/([A-Z])/g, (group) => `_${group.toLowerCase()}`).replace(/^_/, ""); +} + +// node_modules/@azure/openai/dist-esm/src/utils/serializeUtil.js +function serializeChatRequestUserMessage(obj) { + return { + role: obj["role"], + content: typeof obj["content"] === "string" ? obj["content"] : obj["content"].map(serializeChatRequestContentItemUnion), + name: obj["name"] + }; +} +function serializeChatRequestContentItemUnion(obj) { + switch (obj.type) { + case "image_url": + return serializeChatMessageImageContentItem(obj); + default: + return obj; + } +} +function serializeChatRequestAssistantMessage(obj) { + if (obj.content === void 0) { + obj.content = null; + } + const { functionCall, toolCalls } = obj, rest = __rest(obj, ["functionCall", "toolCalls"]); + return Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), !toolCalls || toolCalls.length === 0 ? {} : { tool_calls: toolCalls }), functionCall ? { function_call: functionCall } : {}); +} +function serializeChatRequestToolMessage(obj) { + return { + role: obj["role"], + content: obj["content"], + tool_call_id: obj["toolCallId"] + }; +} +function serializeChatRequestMessageUnion(obj) { + switch (obj.role) { + case "user": + return serializeChatRequestUserMessage(obj); + case "assistant": + return serializeChatRequestAssistantMessage(obj); + case "tool": + return serializeChatRequestToolMessage(obj); + default: + return obj; + } +} +function serializeChatMessageImageContentItem(obj) { + return { + type: obj["type"], + image_url: { url: obj.imageUrl["url"], detail: obj.imageUrl["detail"] } + }; +} +function serializeAzureSearchChatExtensionConfiguration(obj) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + endpoint: obj["endpoint"], + index_name: obj["indexName"], + fields_mapping: !obj.fieldsMapping ? void 0 : { + title_field: (_a4 = obj.fieldsMapping) === null || _a4 === void 0 ? void 0 : _a4["titleField"], + url_field: (_b2 = obj.fieldsMapping) === null || _b2 === void 0 ? void 0 : _b2["urlField"], + filepath_field: (_c2 = obj.fieldsMapping) === null || _c2 === void 0 ? void 0 : _c2["filepathField"], + content_fields: (_d2 = obj.fieldsMapping) === null || _d2 === void 0 ? void 0 : _d2["contentFields"], + content_fields_separator: (_e2 = obj.fieldsMapping) === null || _e2 === void 0 ? void 0 : _e2["contentFieldsSeparator"], + vector_fields: (_f = obj.fieldsMapping) === null || _f === void 0 ? void 0 : _f["vectorFields"], + image_vector_fields: (_g = obj.fieldsMapping) === null || _g === void 0 ? void 0 : _g["imageVectorFields"] + }, + query_type: obj["queryType"], + semantic_configuration: obj["semanticConfiguration"], + filter: obj["filter"], + embedding_dependency: !obj.embeddingDependency ? obj.embeddingDependency : serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeAzureMachineLearningIndexChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + project_resource_id: obj["projectResourceId"], + name: obj["name"], + version: obj["version"], + filter: obj["filter"] + } + }; +} +function serializeAzureCosmosDBChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + database_name: obj["databaseName"], + container_name: obj["containerName"], + index_name: obj["indexName"], + fields_mapping: { + title_field: obj.fieldsMapping["titleField"], + url_field: obj.fieldsMapping["urlField"], + filepath_field: obj.fieldsMapping["filepathField"], + content_fields: obj.fieldsMapping["contentFields"], + content_fields_separator: obj.fieldsMapping["contentFieldsSeparator"], + vector_fields: obj.fieldsMapping["vectorFields"] + }, + embedding_dependency: serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeElasticsearchChatExtensionConfiguration(obj) { + var _a4, _b2, _c2, _d2, _e2, _f; + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + endpoint: obj["endpoint"], + index_name: obj["indexName"], + fields_mapping: !obj.fieldsMapping ? void 0 : { + title_field: (_a4 = obj.fieldsMapping) === null || _a4 === void 0 ? void 0 : _a4["titleField"], + url_field: (_b2 = obj.fieldsMapping) === null || _b2 === void 0 ? void 0 : _b2["urlField"], + filepath_field: (_c2 = obj.fieldsMapping) === null || _c2 === void 0 ? void 0 : _c2["filepathField"], + content_fields: (_d2 = obj.fieldsMapping) === null || _d2 === void 0 ? void 0 : _d2["contentFields"], + content_fields_separator: (_e2 = obj.fieldsMapping) === null || _e2 === void 0 ? void 0 : _e2["contentFieldsSeparator"], + vector_fields: (_f = obj.fieldsMapping) === null || _f === void 0 ? void 0 : _f["vectorFields"] + }, + query_type: obj["queryType"], + embedding_dependency: !obj.embeddingDependency ? obj.embeddingDependency : serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializePineconeChatExtensionConfiguration(obj) { + return { + type: obj["type"], + parameters: { + authentication: !obj.authentication ? obj.authentication : serializeOnYourDataAuthenticationOptionsUnion(obj.authentication), + top_n_documents: obj["topNDocuments"], + in_scope: obj["inScope"], + strictness: obj["strictness"], + role_information: obj["roleInformation"], + environment: obj["environment"], + index_name: obj["indexName"], + fields_mapping: { + title_field: obj.fieldsMapping["titleField"], + url_field: obj.fieldsMapping["urlField"], + filepath_field: obj.fieldsMapping["filepathField"], + content_fields: obj.fieldsMapping["contentFields"], + content_fields_separator: obj.fieldsMapping["contentFieldsSeparator"] + }, + embedding_dependency: serializeOnYourDataVectorizationSourceUnion(obj.embeddingDependency) + } + }; +} +function serializeAzureChatExtensionConfigurationUnion(obj) { + switch (obj.type) { + case "azure_search": + return serializeAzureSearchChatExtensionConfiguration(obj); + case "azure_ml_index": + return serializeAzureMachineLearningIndexChatExtensionConfiguration(obj); + case "azure_cosmos_db": + return serializeAzureCosmosDBChatExtensionConfiguration(obj); + case "elasticsearch": + return serializeElasticsearchChatExtensionConfiguration(obj); + case "pinecone": + return serializePineconeChatExtensionConfiguration(obj); + default: + return obj; + } +} +function serializeOnYourDataConnectionStringAuthenticationOptions(obj) { + return { type: obj["type"], connection_string: obj["connectionString"] }; +} +function serializeOnYourDataKeyAndKeyIdAuthenticationOptions(obj) { + return { type: obj["type"], key: obj["key"], key_id: obj["keyId"] }; +} +function serializeOnYourDataEncodedApiKeyAuthenticationOptions(obj) { + return { type: obj["type"], encoded_api_key: obj["encodedApiKey"] }; +} +function serializeOnYourDataAccessTokenAuthenticationOptions(obj) { + return { type: obj["type"], access_token: obj["accessToken"] }; +} +function serializeOnYourDataUserAssignedManagedIdentityAuthenticationOptions(obj) { + return { + type: obj["type"], + managed_identity_resource_id: obj["managedIdentityResourceId"] + }; +} +function serializeOnYourDataAuthenticationOptionsUnion(obj) { + switch (obj.type) { + case "connection_string": + return serializeOnYourDataConnectionStringAuthenticationOptions(obj); + case "key_and_key_id": + return serializeOnYourDataKeyAndKeyIdAuthenticationOptions(obj); + case "encoded_api_key": + return serializeOnYourDataEncodedApiKeyAuthenticationOptions(obj); + case "access_token": + return serializeOnYourDataAccessTokenAuthenticationOptions(obj); + case "user_assigned_managed_identity": + return serializeOnYourDataUserAssignedManagedIdentityAuthenticationOptions(obj); + default: + return obj; + } +} +function serializeOnYourDataEndpointVectorizationSource(obj) { + return { + type: obj["type"], + endpoint: obj["endpoint"], + authentication: serializeOnYourDataAuthenticationOptionsUnion(obj.authentication) + }; +} +function serializeOnYourDataDeploymentNameVectorizationSource(obj) { + return { type: obj["type"], deployment_name: obj["deploymentName"] }; +} +function serializeOnYourDataModelIdVectorizationSource(obj) { + return { type: obj["type"], model_id: obj["modelId"] }; +} +function serializeOnYourDataVectorizationSourceUnion(obj) { + switch (obj.type) { + case "endpoint": + return serializeOnYourDataEndpointVectorizationSource(obj); + case "deployment_name": + return serializeOnYourDataDeploymentNameVectorizationSource(obj); + case "model_id": + return serializeOnYourDataModelIdVectorizationSource(obj); + default: + return obj; + } +} + +// node_modules/@azure/openai/dist-esm/src/api/getSSEs.js +async function getStream(response) { + const { body, status } = await response.asNodeStream(); + if (status !== "200" && body !== void 0) { + const text = await streamToText2(body); + throw wrapError(() => JSON.parse(text).error, "Error parsing response body"); + } + if (!body) + throw new Error("No stream found in response. Did you enable the stream option?"); + return body; +} +function streamToText2(stream4) { + return new Promise((resolve, reject) => { + const buffer = []; + stream4.on("data", (chunk) => { + if (Buffer.isBuffer(chunk)) { + buffer.push(chunk); + } else { + buffer.push(Buffer.from(chunk)); + } + }); + stream4.on("end", () => { + resolve(Buffer.concat(buffer).toString("utf8")); + }); + stream4.on("error", (e3) => { + if (e3 && (e3 === null || e3 === void 0 ? void 0 : e3.name) === "AbortError") { + reject(e3); + } else { + reject(new RestError(`Error reading response as text: ${e3.message}`, { + code: RestError.PARSE_ERROR + })); + } + }); + }); +} + +// node_modules/@azure/core-sse/dist/esm/utils.js +function createStream(asyncIter, cancel) { + const stream4 = iteratorToStream(asyncIter, cancel); + return polyfillStream(stream4, cancel); +} +function polyfillStream(stream4, dispose) { + makeAsyncIterable2(stream4); + makeAsyncDisposable(stream4, dispose); + return stream4; +} +function makeAsyncDisposable(webStream, dispose) { + var _a4; + (_a4 = Symbol.asyncDispose) !== null && _a4 !== void 0 ? _a4 : Symbol.asyncDispose = Symbol("Symbol.asyncDispose"); + if (!webStream[Symbol.asyncDispose]) { + webStream[Symbol.asyncDispose] = () => dispose(); + } +} +function makeAsyncIterable2(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = () => toAsyncIterable(webStream); + } + if (!webStream.values) { + webStream.values = () => toAsyncIterable(webStream); + } +} +function iteratorToStream(iterator, cancel) { + return new ReadableStream({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + controller.close(); + } else { + controller.enqueue(value); + } + }, + cancel + }); +} +function ensureAsyncIterable(stream4) { + if (isReadableStream3(stream4)) { + makeAsyncIterable2(stream4); + return { + cancel: () => stream4.cancel(), + iterable: stream4 + }; + } else { + return { + cancel: async () => { + stream4.socket.end(); + }, + iterable: stream4 + }; + } +} +function isReadableStream3(body) { + return Boolean(body && typeof body.getReader === "function" && typeof body.tee === "function"); +} +function toAsyncIterable(stream4) { + return __asyncGenerator(this, arguments, function* toAsyncIterable_1() { + const reader = stream4.getReader(); + try { + while (true) { + const { value, done } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + yield __await(cancelPromise); + } + }); +} + +// node_modules/@azure/core-sse/dist/esm/sse.js +var ControlChars; +(function(ControlChars2) { + ControlChars2[ControlChars2["NewLine"] = 10] = "NewLine"; + ControlChars2[ControlChars2["CarriageReturn"] = 13] = "CarriageReturn"; + ControlChars2[ControlChars2["Space"] = 32] = "Space"; + ControlChars2[ControlChars2["Colon"] = 58] = "Colon"; +})(ControlChars || (ControlChars = {})); +function createSseStream(chunkStream) { + const { cancel, iterable } = ensureAsyncIterable(chunkStream); + const asyncIter = toMessage(toLine(iterable)); + return createStream(asyncIter, cancel); +} +function concatBuffer(a3, b3) { + const res = new Uint8Array(a3.length + b3.length); + res.set(a3); + res.set(b3, a3.length); + return res; +} +function createMessage() { + return { + data: void 0, + event: "", + id: "", + retry: void 0 + }; +} +function toLine(chunkIter) { + return __asyncGenerator(this, arguments, function* toLine_1() { + var _a4, e_1, _b2, _c2; + let buf; + let bufIdx = 0; + let fieldLen = -1; + let discardTrailingNewline = false; + try { + for (var _d2 = true, chunkIter_1 = __asyncValues(chunkIter), chunkIter_1_1; chunkIter_1_1 = yield __await(chunkIter_1.next()), _a4 = chunkIter_1_1.done, !_a4; _d2 = true) { + _c2 = chunkIter_1_1.value; + _d2 = false; + const chunk = _c2; + if (buf === void 0) { + buf = chunk; + bufIdx = 0; + fieldLen = -1; + } else { + buf = concatBuffer(buf, chunk); + } + const bufLen = buf.length; + let start = 0; + while (bufIdx < bufLen) { + if (discardTrailingNewline) { + if (buf[bufIdx] === ControlChars.NewLine) { + start = ++bufIdx; + } + discardTrailingNewline = false; + } + let end = -1; + for (; bufIdx < bufLen && end === -1; ++bufIdx) { + switch (buf[bufIdx]) { + case ControlChars.Colon: + if (fieldLen === -1) { + fieldLen = bufIdx - start; + } + break; + case ControlChars.CarriageReturn: + discardTrailingNewline = true; + end = bufIdx; + break; + case ControlChars.NewLine: + end = bufIdx; + break; + } + } + if (end === -1) { + break; + } + yield yield __await({ line: buf.subarray(start, end), fieldLen }); + start = bufIdx; + fieldLen = -1; + } + if (start === bufLen) { + buf = void 0; + } else if (start !== 0) { + buf = buf.subarray(start); + bufIdx -= start; + } + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = chunkIter_1.return)) + yield __await(_b2.call(chunkIter_1)); + } finally { + if (e_1) + throw e_1.error; + } + } + }); +} +function toMessage(lineIter) { + return __asyncGenerator(this, arguments, function* toMessage_1() { + var _a4, e_2, _b2, _c2; + let message = createMessage(); + const decoder = new TextDecoder(); + try { + for (var _d2 = true, lineIter_1 = __asyncValues(lineIter), lineIter_1_1; lineIter_1_1 = yield __await(lineIter_1.next()), _a4 = lineIter_1_1.done, !_a4; _d2 = true) { + _c2 = lineIter_1_1.value; + _d2 = false; + const { line, fieldLen } = _c2; + if (line.length === 0 && message.data !== void 0) { + yield yield __await(message); + message = createMessage(); + } else if (fieldLen > 0) { + const field = decoder.decode(line.subarray(0, fieldLen)); + const valueOffset = fieldLen + (line[fieldLen + 1] === ControlChars.Space ? 2 : 1); + const value = decoder.decode(line.subarray(valueOffset)); + switch (field) { + case "data": + message.data = message.data ? message.data + "\n" + value : value; + break; + case "event": + message.event = value; + break; + case "id": + message.id = value; + break; + case "retry": { + const retry = parseInt(value, 10); + if (!isNaN(retry)) { + message.retry = retry; + } + break; + } + } + } + } + } catch (e_2_1) { + e_2 = { error: e_2_1 }; + } finally { + try { + if (!_d2 && !_a4 && (_b2 = lineIter_1.return)) + yield __await(_b2.call(lineIter_1)); + } finally { + if (e_2) + throw e_2.error; + } + } + }); +} + +// node_modules/@azure/openai/dist-esm/src/api/readableStreamUtils.js +function polyfillStream2(stream4) { + makeAsyncIterable3(stream4); + return stream4; +} +function makeAsyncIterable3(webStream) { + if (!webStream[Symbol.asyncIterator]) { + webStream[Symbol.asyncIterator] = () => toAsyncIterable2(webStream); + } + if (!webStream.values) { + webStream.values = () => toAsyncIterable2(webStream); + } +} +function toAsyncIterable2(stream4) { + return __asyncGenerator(this, arguments, function* toAsyncIterable_1() { + const reader = stream4.getReader(); + try { + while (true) { + const { value, done } = yield __await(reader.read()); + if (done) { + return yield __await(void 0); + } + yield yield __await(value); + } + } finally { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + yield __await(cancelPromise); + } + }); +} + +// node_modules/@azure/openai/dist-esm/src/api/oaiSse.js +async function getOaiSSEs(response, toEvent) { + const stringStream = await getStream(response); + const eventStream = createSseStream(stringStream); + const jsonParser = new TransformStream({ + transform: async (chunk, controller) => { + if (chunk.data === "[DONE]") { + return; + } + controller.enqueue(toEvent(wrapError(() => JSON.parse(chunk.data), "Error parsing an event. See 'cause' for more details"))); + } + }); + return polyfillStream2(eventStream.pipeThrough(jsonParser)); +} + +// node_modules/@azure/openai/dist-esm/src/api/operations.js +async function getAudioTranscription(context2, deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const { body, status } = await context2.pathUnchecked("deployments/{deploymentName}/audio/transcriptions", deploymentName).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters({ + abortSignal, + onResponse, + tracingOptions, + requestOptions + })), { contentType: "multipart/form-data", body: Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), { file: createFile(fileContent, "placeholder.wav") }), response_format ? { response_format } : {}) })); + if (status !== "200") { + throw body.error; + } + return response_format !== "verbose_json" ? body : camelCaseKeys(body); +} +async function getAudioTranslation(context2, deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const { body, status } = await context2.pathUnchecked("deployments/{deploymentName}/audio/translations", deploymentName).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters({ + abortSignal, + onResponse, + tracingOptions, + requestOptions + })), { contentType: "multipart/form-data", body: Object.assign(Object.assign(Object.assign({}, snakeCaseKeys(rest)), { file: createFile(fileContent, "placeholder.wav") }), response_format ? { response_format } : {}) })); + if (status !== "200") { + throw body.error; + } + return response_format !== "verbose_json" ? body : camelCaseKeys(body); +} +function _getCompletionsSend(context2, deploymentId, body, options = { requestOptions: {} }) { + return context2.path("/deployments/{deploymentId}/completions", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + prompt: body["prompt"], + max_tokens: body["maxTokens"], + temperature: body["temperature"], + top_p: body["topP"], + logit_bias: body["logitBias"], + user: body["user"], + n: body["n"], + logprobs: body["logprobs"], + suffix: body["suffix"], + echo: body["echo"], + stop: body["stop"], + presence_penalty: body["presencePenalty"], + frequency_penalty: body["frequencyPenalty"], + best_of: body["bestOf"], + stream: body["stream"], + model: body["model"] + } })); +} +async function _getCompletionsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return getCompletionsResult(result.body); +} +function getCompletionsResult(body) { + const { created, choices, prompt_filter_results, prompt_annotations } = body, rest = __rest(body, ["created", "choices", "prompt_filter_results", "prompt_annotations"]); + return Object.assign(Object.assign(Object.assign(Object.assign({}, camelCaseKeys(rest)), { created: new Date(created) }), { + promptFilterResults: getContentFilterResultsForPrompt({ + prompt_filter_results, + prompt_annotations + }) + }), { choices: choices.map((_a4) => { + var { content_filter_results } = _a4, choice = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(choice)), !content_filter_results ? {} : { + contentFilterResults: parseContentFilterResultsForChoiceOutput(content_filter_results) + }); + }) }); +} +async function getCompletions(context2, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getCompletionsSend(context2, deploymentId, body, options); + return _getCompletionsDeserialize(result); +} +function streamCompletions(context2, deploymentName, prompt, options = { requestOptions: {} }) { + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const response = _getCompletionsSend(context2, deploymentName, Object.assign(Object.assign({ prompt }, rest), { stream: true }), { abortSignal, onResponse, requestOptions, tracingOptions }); + return getOaiSSEs(response, getCompletionsResult); +} +function _getChatCompletionsSend(context2, deploymentId, body, options = { requestOptions: {} }) { + var _a4, _b2, _c2, _d2, _e2, _f, _g; + return context2.path("/deployments/{deploymentId}/chat/completions", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + model: body["model"], + stream: body["stream"], + max_tokens: body["maxTokens"], + temperature: body["temperature"], + top_p: body["topP"], + logit_bias: body["logitBias"], + user: body["user"], + n: body["n"], + stop: body["stop"], + presence_penalty: body["presencePenalty"], + frequency_penalty: body["frequencyPenalty"], + data_sources: body["dataSources"] === void 0 ? body["dataSources"] : body["dataSources"].map((p3) => serializeAzureChatExtensionConfigurationUnion(p3)), + enhancements: !body.enhancements ? void 0 : { + grounding: !((_a4 = body.enhancements) === null || _a4 === void 0 ? void 0 : _a4.grounding) ? void 0 : { enabled: (_c2 = (_b2 = body.enhancements) === null || _b2 === void 0 ? void 0 : _b2.grounding) === null || _c2 === void 0 ? void 0 : _c2["enabled"] }, + ocr: !((_d2 = body.enhancements) === null || _d2 === void 0 ? void 0 : _d2.ocr) ? void 0 : { enabled: (_f = (_e2 = body.enhancements) === null || _e2 === void 0 ? void 0 : _e2.ocr) === null || _f === void 0 ? void 0 : _f["enabled"] } + }, + seed: body["seed"], + logprobs: body["logprobs"], + top_logprobs: body["topLogprobs"], + response_format: !body.responseFormat ? void 0 : { type: (_g = body.responseFormat) === null || _g === void 0 ? void 0 : _g["type"] }, + tool_choice: body["toolChoice"], + tools: body["tools"], + functions: body["functions"] === void 0 ? body["functions"] : body["functions"].map((p3) => ({ + name: p3["name"], + description: p3["description"], + parameters: p3["parameters"] + })), + function_call: body["functionCall"], + messages: body["messages"].map((p3) => serializeChatRequestMessageUnion(p3)) + } })); +} +async function _getChatCompletionsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return getChatCompletionsResult(result.body); +} +function getChatCompletionsResult(body) { + const { created, choices, prompt_filter_results, prompt_annotations, usage } = body, rest = __rest(body, ["created", "choices", "prompt_filter_results", "prompt_annotations", "usage"]); + return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, camelCaseKeys(rest)), { created: new Date(created) }), { + promptFilterResults: getContentFilterResultsForPrompt({ + prompt_filter_results, + prompt_annotations + }) + }), !usage ? {} : { + usage: { + completionTokens: usage["completion_tokens"], + promptTokens: usage["prompt_tokens"], + totalTokens: usage["total_tokens"] + } + }), { choices: !choices ? [] : choices.map((_a4) => { + var { content_filter_results } = _a4, choice = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(choice)), !content_filter_results ? {} : { + contentFilterResults: parseContentFilterResultsForChoiceOutput(content_filter_results) + }); + }) }); +} +async function getChatCompletions(context2, deploymentName, messages, options = { requestOptions: {} }) { + const result = await _getChatCompletionsSendX(context2, deploymentName, messages, options); + return _getChatCompletionsDeserialize(result); +} +function _getChatCompletionsSendX(context2, deploymentName, messages, options = { requestOptions: {} }) { + const { azureExtensionOptions, abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["azureExtensionOptions", "abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + const coreOptions = { + abortSignal, + onResponse, + requestOptions, + tracingOptions + }; + const azure2 = Object.assign(Object.assign({}, !(azureExtensionOptions === null || azureExtensionOptions === void 0 ? void 0 : azureExtensionOptions.extensions) ? {} : { dataSources: azureExtensionOptions.extensions }), !(azureExtensionOptions === null || azureExtensionOptions === void 0 ? void 0 : azureExtensionOptions.enhancements) ? {} : { enhancements: azureExtensionOptions.enhancements }); + return _getChatCompletionsSend(context2, deploymentName, Object.assign(Object.assign({ messages }, rest), azure2), coreOptions); +} +function streamChatCompletions(context2, deploymentName, messages, options = { requestOptions: {} }) { + const response = _getChatCompletionsSendX(context2, deploymentName, messages, Object.assign(Object.assign({}, options), { stream: true })); + return getOaiSSEs(response, getChatCompletionsResult); +} +function _getImageGenerationsSend(context2, deploymentId, body, options = { requestOptions: {} }) { + return context2.path("/deployments/{deploymentId}/images/generations", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + model: body["model"], + prompt: body["prompt"], + n: body["n"], + size: body["size"], + response_format: body["responseFormat"], + quality: body["quality"], + style: body["style"], + user: body["user"] + } })); +} +async function _getImageGenerationsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return { + created: new Date(result.body["created"]), + data: result.body["data"].map((p3) => { + var _a4, _b2, _c2, _d2, _e2, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r2, _s, _t2, _u, _v, _w, _x, _y, _z, _0, _1, _22, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _222, _23, _24, _25; + return { + url: p3["url"], + base64Data: p3["b64_json"], + contentFilterResults: !p3.content_filter_results ? void 0 : { + sexual: !((_a4 = p3.content_filter_results) === null || _a4 === void 0 ? void 0 : _a4.sexual) ? void 0 : { + severity: (_c2 = (_b2 = p3.content_filter_results) === null || _b2 === void 0 ? void 0 : _b2.sexual) === null || _c2 === void 0 ? void 0 : _c2["severity"], + filtered: (_e2 = (_d2 = p3.content_filter_results) === null || _d2 === void 0 ? void 0 : _d2.sexual) === null || _e2 === void 0 ? void 0 : _e2["filtered"] + }, + violence: !((_f = p3.content_filter_results) === null || _f === void 0 ? void 0 : _f.violence) ? void 0 : { + severity: (_h = (_g = p3.content_filter_results) === null || _g === void 0 ? void 0 : _g.violence) === null || _h === void 0 ? void 0 : _h["severity"], + filtered: (_k = (_j = p3.content_filter_results) === null || _j === void 0 ? void 0 : _j.violence) === null || _k === void 0 ? void 0 : _k["filtered"] + }, + hate: !((_l = p3.content_filter_results) === null || _l === void 0 ? void 0 : _l.hate) ? void 0 : { + severity: (_o = (_m = p3.content_filter_results) === null || _m === void 0 ? void 0 : _m.hate) === null || _o === void 0 ? void 0 : _o["severity"], + filtered: (_q = (_p = p3.content_filter_results) === null || _p === void 0 ? void 0 : _p.hate) === null || _q === void 0 ? void 0 : _q["filtered"] + }, + selfHarm: !((_r2 = p3.content_filter_results) === null || _r2 === void 0 ? void 0 : _r2.self_harm) ? void 0 : { + severity: (_t2 = (_s = p3.content_filter_results) === null || _s === void 0 ? void 0 : _s.self_harm) === null || _t2 === void 0 ? void 0 : _t2["severity"], + filtered: (_v = (_u = p3.content_filter_results) === null || _u === void 0 ? void 0 : _u.self_harm) === null || _v === void 0 ? void 0 : _v["filtered"] + } + }, + revisedPrompt: p3["revised_prompt"], + promptFilterResults: !p3.prompt_filter_results ? void 0 : { + sexual: !((_w = p3.prompt_filter_results) === null || _w === void 0 ? void 0 : _w.sexual) ? void 0 : { + severity: (_y = (_x = p3.prompt_filter_results) === null || _x === void 0 ? void 0 : _x.sexual) === null || _y === void 0 ? void 0 : _y["severity"], + filtered: (_0 = (_z = p3.prompt_filter_results) === null || _z === void 0 ? void 0 : _z.sexual) === null || _0 === void 0 ? void 0 : _0["filtered"] + }, + violence: !((_1 = p3.prompt_filter_results) === null || _1 === void 0 ? void 0 : _1.violence) ? void 0 : { + severity: (_3 = (_22 = p3.prompt_filter_results) === null || _22 === void 0 ? void 0 : _22.violence) === null || _3 === void 0 ? void 0 : _3["severity"], + filtered: (_5 = (_4 = p3.prompt_filter_results) === null || _4 === void 0 ? void 0 : _4.violence) === null || _5 === void 0 ? void 0 : _5["filtered"] + }, + hate: !((_6 = p3.prompt_filter_results) === null || _6 === void 0 ? void 0 : _6.hate) ? void 0 : { + severity: (_8 = (_7 = p3.prompt_filter_results) === null || _7 === void 0 ? void 0 : _7.hate) === null || _8 === void 0 ? void 0 : _8["severity"], + filtered: (_10 = (_9 = p3.prompt_filter_results) === null || _9 === void 0 ? void 0 : _9.hate) === null || _10 === void 0 ? void 0 : _10["filtered"] + }, + selfHarm: !((_11 = p3.prompt_filter_results) === null || _11 === void 0 ? void 0 : _11.self_harm) ? void 0 : { + severity: (_13 = (_12 = p3.prompt_filter_results) === null || _12 === void 0 ? void 0 : _12.self_harm) === null || _13 === void 0 ? void 0 : _13["severity"], + filtered: (_15 = (_14 = p3.prompt_filter_results) === null || _14 === void 0 ? void 0 : _14.self_harm) === null || _15 === void 0 ? void 0 : _15["filtered"] + }, + profanity: !((_16 = p3.prompt_filter_results) === null || _16 === void 0 ? void 0 : _16.profanity) ? void 0 : { + filtered: (_18 = (_17 = p3.prompt_filter_results) === null || _17 === void 0 ? void 0 : _17.profanity) === null || _18 === void 0 ? void 0 : _18["filtered"], + detected: (_20 = (_19 = p3.prompt_filter_results) === null || _19 === void 0 ? void 0 : _19.profanity) === null || _20 === void 0 ? void 0 : _20["detected"] + }, + jailbreak: !((_21 = p3.prompt_filter_results) === null || _21 === void 0 ? void 0 : _21.jailbreak) ? void 0 : { + filtered: (_23 = (_222 = p3.prompt_filter_results) === null || _222 === void 0 ? void 0 : _222.jailbreak) === null || _23 === void 0 ? void 0 : _23["filtered"], + detected: (_25 = (_24 = p3.prompt_filter_results) === null || _24 === void 0 ? void 0 : _24.jailbreak) === null || _25 === void 0 ? void 0 : _25["detected"] + } + } + }; + }) + }; +} +async function getImageGenerations(context2, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getImageGenerationsSend(context2, deploymentId, body, options); + return _getImageGenerationsDeserialize(result); +} +function _getEmbeddingsSend(context2, deploymentId, body, options = { requestOptions: {} }) { + return context2.path("/deployments/{deploymentId}/embeddings", deploymentId).post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { body: { + user: body["user"], + model: body["model"], + input: body["input"], + dimensions: body["dimensions"] + } })); +} +async function _getEmbeddingsDeserialize(result) { + if (isUnexpected(result)) { + throw result.body.error; + } + return { + data: result.body["data"].map((p3) => ({ + embedding: p3["embedding"], + index: p3["index"] + })), + usage: { + promptTokens: result.body.usage["prompt_tokens"], + totalTokens: result.body.usage["total_tokens"] + } + }; +} +async function getEmbeddings(context2, deploymentId, body, options = { requestOptions: {} }) { + const result = await _getEmbeddingsSend(context2, deploymentId, body, options); + return _getEmbeddingsDeserialize(result); +} +function getContentFilterResultsForPrompt({ prompt_annotations, prompt_filter_results }) { + const res = prompt_filter_results !== null && prompt_filter_results !== void 0 ? prompt_filter_results : prompt_annotations; + return res === null || res === void 0 ? void 0 : res.map((_a4) => { + var { content_filter_results } = _a4, rest = __rest(_a4, ["content_filter_results"]); + return Object.assign(Object.assign({}, camelCaseKeys(rest)), { contentFilterResults: parseContentFilterResultDetailsForPromptOutput(content_filter_results) }); + }); +} +function parseContentFilterResultDetailsForPromptOutput(_a4 = {}) { + var { error } = _a4, rest = __rest(_a4, ["error"]); + return error ? parseError(error) : camelCaseKeys(rest); +} +function parseError(error) { + var _a4; + return { + error: Object.assign(Object.assign({}, error), { details: (_a4 = error["details"]) !== null && _a4 !== void 0 ? _a4 : [] }) + }; +} +function parseContentFilterResultsForChoiceOutput(_a4 = {}) { + var _b2; + var { error } = _a4, successResult = __rest(_a4, ["error"]); + return error ? { + error: Object.assign(Object.assign({}, error), { details: (_b2 = error["details"]) !== null && _b2 !== void 0 ? _b2 : [] }) + } : camelCaseKeys(successResult); +} + +// node_modules/@azure/openai/dist-esm/src/api/policies/nonAzure.js +function nonAzurePolicy() { + const policy = { + name: "openAiEndpoint", + sendRequest: (request3, next) => { + const obj = new URL(request3.url); + const parts = obj.pathname.split("/"); + switch (parts[parts.length - 1]) { + case "completions": + if (parts[parts.length - 2] === "chat") { + obj.pathname = `${parts[1]}/chat/completions`; + } else { + obj.pathname = `${parts[1]}/completions`; + } + break; + case "embeddings": + obj.pathname = `${parts[1]}/embeddings`; + break; + case "generations": + if (parts[parts.length - 2] === "images") { + obj.pathname = `${parts[1]}/images/generations`; + } else { + throw new Error("Unexpected path"); + } + break; + case "transcriptions": + obj.pathname = `${parts[1]}/audio/transcriptions`; + break; + case "translations": + obj.pathname = `${parts[1]}/audio/translations`; + break; + } + obj.searchParams.delete("api-version"); + request3.url = obj.toString(); + return next(request3); + } + }; + return policy; +} + +// node_modules/@azure/openai/dist-esm/src/OpenAIClient.js +function createOpenAIEndpoint(version) { + return `https://api.openai.com/v${version}`; +} +function isCred(cred) { + return isTokenCredential(cred) || cred.key !== void 0; +} +var OpenAIClient = class { + constructor(endpointOrOpenAiKey, credOrOptions = {}, options = {}) { + var _a4, _b2; + this._isAzure = false; + let opts; + let endpoint; + let cred; + if (isCred(credOrOptions)) { + endpoint = endpointOrOpenAiKey; + cred = credOrOptions; + opts = options; + this._isAzure = true; + } else { + endpoint = createOpenAIEndpoint(1); + cred = endpointOrOpenAiKey; + const { credentials } = credOrOptions, restOpts = __rest(credOrOptions, ["credentials"]); + opts = Object.assign({ credentials: { + apiKeyHeaderName: (_a4 = credentials === null || credentials === void 0 ? void 0 : credentials.apiKeyHeaderName) !== null && _a4 !== void 0 ? _a4 : "Authorization", + scopes: credentials === null || credentials === void 0 ? void 0 : credentials.scopes + } }, restOpts); + } + this._client = createOpenAI(endpoint, cred, Object.assign(Object.assign({}, opts), this._isAzure ? {} : { + additionalPolicies: [ + ...(_b2 = opts.additionalPolicies) !== null && _b2 !== void 0 ? _b2 : [], + { + position: "perCall", + policy: nonAzurePolicy() + } + ] + })); + } + setModel(model, options) { + if (!this._isAzure) { + options.model = model; + } + } + async getAudioTranslation(deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + this.setModel(deploymentName, options); + if (response_format === void 0) { + return getAudioTranslation(this._client, deploymentName, fileContent, options); + } + return getAudioTranslation(this._client, deploymentName, fileContent, response_format, options); + } + async getAudioTranscription(deploymentName, fileContent, formatOrOptions, inputOptions) { + const options = inputOptions !== null && inputOptions !== void 0 ? inputOptions : typeof formatOrOptions === "string" ? {} : formatOrOptions !== null && formatOrOptions !== void 0 ? formatOrOptions : {}; + const response_format = typeof formatOrOptions === "string" ? formatOrOptions : void 0; + this.setModel(deploymentName, options); + if (response_format === void 0) { + return getAudioTranscription(this._client, deploymentName, fileContent, options); + } + return getAudioTranscription(this._client, deploymentName, fileContent, response_format, options); + } + getCompletions(deploymentName, prompt, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getCompletions(this._client, deploymentName, Object.assign({ prompt }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } + streamCompletions(deploymentName, prompt, options = {}) { + this.setModel(deploymentName, options); + return streamCompletions(this._client, deploymentName, prompt, options); + } + getChatCompletions(deploymentName, messages, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + return getChatCompletions(this._client, deploymentName, messages, options); + } + streamChatCompletions(deploymentName, messages, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + return streamChatCompletions(this._client, deploymentName, messages, options); + } + getImages(deploymentName, prompt, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getImageGenerations(this._client, deploymentName, Object.assign({ prompt }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } + getEmbeddings(deploymentName, input, options = { requestOptions: {} }) { + this.setModel(deploymentName, options); + const { abortSignal, onResponse, requestOptions, tracingOptions } = options, rest = __rest(options, ["abortSignal", "onResponse", "requestOptions", "tracingOptions"]); + return getEmbeddings(this._client, deploymentName, Object.assign({ input }, rest), { abortSignal, onResponse, requestOptions, tracingOptions }); + } +}; + +// src/engine/azure.ts +var config4 = getConfig(); +var MAX_TOKENS_OUTPUT2 = config4?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT2 = config4?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var basePath2 = config4?.OCO_OPENAI_BASE_PATH; +var apiKey2 = config4?.OCO_AZURE_API_KEY; +var apiEndpoint = config4?.OCO_AZURE_ENDPOINT; +var [command2, mode2] = process.argv.slice(2); +var provider2 = config4?.OCO_AI_PROVIDER; +if (provider2 === "azure" && !apiKey2 && !apiEndpoint && command2 !== "config" && mode2 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_AZURE_API_KEY or OCO_AZURE_ENDPOINT are not set, please run `oco config set OCO_AZURE_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL2 = config4?.OCO_MODEL || "gpt-3.5-turbo"; +var Azure = class { + openAI; + constructor() { + if (provider2 === "azure") { + this.openAI = new OpenAIClient(apiEndpoint, new AzureKeyCredential(apiKey2)); + } + } + generateCommitMessage = async (messages) => { + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT2 - MAX_TOKENS_OUTPUT2) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.openAI.getChatCompletions(MODEL2, messages); + const message = data.choices[0].message; + if (message?.content === null) { + return void 0; + } + return message?.content; + } catch (error) { + ce(`${source_default.red("\u2716")} ${MODEL2}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const openAiError = error.response.data.error; + if (openAiError?.message) + ce(openAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var azure = new Azure(); + +// node_modules/@anthropic-ai/sdk/version.mjs +var VERSION3 = "0.19.2"; + +// node_modules/@anthropic-ai/sdk/_shims/registry.mjs +var auto = false; +var kind = void 0; +var fetch = void 0; +var Request = void 0; +var Response = void 0; +var Headers = void 0; +var FormData3 = void 0; +var Blob2 = void 0; +var File2 = void 0; +var ReadableStream2 = void 0; +var getMultipartRequestOptions = void 0; +var getDefaultAgent = void 0; +var fileFromPath = void 0; +var isFsReadStream = void 0; +function setShims(shims, options = { auto: false }) { + if (auto) { + throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`); + } + if (kind) { + throw new Error(`can't \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` after \`import '@anthropic-ai/sdk/shims/${kind}'\``); + } + auto = options.auto; + kind = shims.kind; + fetch = shims.fetch; + Request = shims.Request; + Response = shims.Response; + Headers = shims.Headers; + FormData3 = shims.FormData; + Blob2 = shims.Blob; + File2 = shims.File; + ReadableStream2 = shims.ReadableStream; + getMultipartRequestOptions = shims.getMultipartRequestOptions; + getDefaultAgent = shims.getDefaultAgent; + fileFromPath = shims.fileFromPath; + isFsReadStream = shims.isFsReadStream; +} + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var nf = __toESM(require_lib3(), 1); + +// node_modules/formdata-node/lib/esm/FormData.js +var import_util8 = require("util"); +init_File(); +init_isFile(); + +// node_modules/formdata-node/lib/esm/isBlob.js +init_Blob(); +var isBlob3 = (value) => value instanceof Blob3; + +// node_modules/formdata-node/lib/esm/FormData.js +init_isFunction(); + +// node_modules/formdata-node/lib/esm/deprecateConstructorEntries.js +var import_util7 = require("util"); +var deprecateConstructorEntries = (0, import_util7.deprecate)(() => { +}, 'Constructor "entries" argument is not spec-compliant and will be removed in next major release.'); + +// node_modules/formdata-node/lib/esm/FormData.js +var __classPrivateFieldGet4 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _FormData_instances; +var _FormData_entries; +var _FormData_setEntry; +var FormData4 = class { + constructor(entries) { + _FormData_instances.add(this); + _FormData_entries.set(this, /* @__PURE__ */ new Map()); + if (entries) { + deprecateConstructorEntries(); + entries.forEach(({ name, value, fileName }) => this.append(name, value, fileName)); + } + } + static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)](value) { + return Boolean(value && isFunction2(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction2(value.append) && isFunction2(value.set) && isFunction2(value.get) && isFunction2(value.getAll) && isFunction2(value.has) && isFunction2(value.delete) && isFunction2(value.entries) && isFunction2(value.values) && isFunction2(value.keys) && isFunction2(value[Symbol.iterator]) && isFunction2(value.forEach)); + } + append(name, value, fileName) { + __classPrivateFieldGet4(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: true, + rawValue: value, + argsLength: arguments.length + }); + } + set(name, value, fileName) { + __classPrivateFieldGet4(this, _FormData_instances, "m", _FormData_setEntry).call(this, { + name, + fileName, + append: false, + rawValue: value, + argsLength: arguments.length + }); + } + get(name) { + const field = __classPrivateFieldGet4(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return null; + } + return field[0]; + } + getAll(name) { + const field = __classPrivateFieldGet4(this, _FormData_entries, "f").get(String(name)); + if (!field) { + return []; + } + return field.slice(); + } + has(name) { + return __classPrivateFieldGet4(this, _FormData_entries, "f").has(String(name)); + } + delete(name) { + __classPrivateFieldGet4(this, _FormData_entries, "f").delete(String(name)); + } + *keys() { + for (const key of __classPrivateFieldGet4(this, _FormData_entries, "f").keys()) { + yield key; + } + } + *entries() { + for (const name of this.keys()) { + const values = this.getAll(name); + for (const value of values) { + yield [name, value]; + } + } + } + *values() { + for (const [, value] of this) { + yield value; + } + } + [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) { + const methodName = append2 ? "append" : "set"; + if (argsLength < 2) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`); + } + name = String(name); + let value; + if (isFile2(rawValue)) { + value = fileName === void 0 ? rawValue : new File3([rawValue], fileName, { + type: rawValue.type, + lastModified: rawValue.lastModified + }); + } else if (isBlob3(rawValue)) { + value = new File3([rawValue], fileName === void 0 ? "blob" : fileName, { + type: rawValue.type + }); + } else if (fileName) { + throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`); + } else { + value = String(rawValue); + } + const values = __classPrivateFieldGet4(this, _FormData_entries, "f").get(name); + if (!values) { + return void __classPrivateFieldGet4(this, _FormData_entries, "f").set(name, [value]); + } + if (!append2) { + return void __classPrivateFieldGet4(this, _FormData_entries, "f").set(name, [value]); + } + values.push(value); + }, Symbol.iterator)]() { + return this.entries(); + } + forEach(callback, thisArg) { + for (const [name, value] of this) { + callback.call(thisArg, value, name, this); + } + } + get [Symbol.toStringTag]() { + return "FormData"; + } + [import_util8.inspect.custom]() { + return this[Symbol.toStringTag]; + } +}; + +// node_modules/formdata-node/lib/esm/index.js +init_Blob(); +init_File(); + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_agentkeepalive = __toESM(require_agentkeepalive(), 1); +var import_abort_controller5 = __toESM(require_abort_controller(), 1); +var import_node_fs = require("node:fs"); + +// node_modules/form-data-encoder/lib/esm/util/createBoundary.js +var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; +function createBoundary() { + let size = 16; + let res = ""; + while (size--) { + res += alphabet[Math.random() * alphabet.length << 0]; + } + return res; +} +var createBoundary_default = createBoundary; + +// node_modules/form-data-encoder/lib/esm/util/isPlainObject.js +var getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); +function isPlainObject2(value) { + if (getType(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === void 0) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +var isPlainObject_default = isPlainObject2; + +// node_modules/form-data-encoder/lib/esm/util/normalizeValue.js +var normalizeValue2 = (value) => String(value).replace(/\r|\n/g, (match, i3, str) => { + if (match === "\r" && str[i3 + 1] !== "\n" || match === "\n" && str[i3 - 1] !== "\r") { + return "\r\n"; + } + return match; +}); +var normalizeValue_default = normalizeValue2; + +// node_modules/form-data-encoder/lib/esm/util/escapeName.js +var escapeName = (name) => String(name).replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/"/g, "%22"); +var escapeName_default = escapeName; + +// node_modules/form-data-encoder/lib/esm/util/isFunction.js +var isFunction3 = (value) => typeof value === "function"; +var isFunction_default = isFunction3; + +// node_modules/form-data-encoder/lib/esm/util/isFileLike.js +var isFileLike = (value) => Boolean(value && typeof value === "object" && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "File" && isFunction_default(value.stream) && value.name != null && value.size != null && value.lastModified != null); + +// node_modules/form-data-encoder/lib/esm/util/isFormData.js +var isFormData2 = (value) => Boolean(value && isFunction_default(value.constructor) && value[Symbol.toStringTag] === "FormData" && isFunction_default(value.append) && isFunction_default(value.getAll) && isFunction_default(value.entries) && isFunction_default(value[Symbol.iterator])); + +// node_modules/form-data-encoder/lib/esm/FormDataEncoder.js +var __classPrivateFieldSet4 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet5 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _FormDataEncoder_instances; +var _FormDataEncoder_CRLF; +var _FormDataEncoder_CRLF_BYTES; +var _FormDataEncoder_CRLF_BYTES_LENGTH; +var _FormDataEncoder_DASHES; +var _FormDataEncoder_encoder; +var _FormDataEncoder_footer; +var _FormDataEncoder_form; +var _FormDataEncoder_options; +var _FormDataEncoder_getFieldHeader; +var defaultOptions = { + enableAdditionalHeaders: false +}; +var FormDataEncoder = class { + constructor(form, boundaryOrOptions, options) { + _FormDataEncoder_instances.add(this); + _FormDataEncoder_CRLF.set(this, "\r\n"); + _FormDataEncoder_CRLF_BYTES.set(this, void 0); + _FormDataEncoder_CRLF_BYTES_LENGTH.set(this, void 0); + _FormDataEncoder_DASHES.set(this, "-".repeat(2)); + _FormDataEncoder_encoder.set(this, new TextEncoder()); + _FormDataEncoder_footer.set(this, void 0); + _FormDataEncoder_form.set(this, void 0); + _FormDataEncoder_options.set(this, void 0); + if (!isFormData2(form)) { + throw new TypeError("Expected first argument to be a FormData instance."); + } + let boundary; + if (isPlainObject_default(boundaryOrOptions)) { + options = boundaryOrOptions; + } else { + boundary = boundaryOrOptions; + } + if (!boundary) { + boundary = createBoundary_default(); + } + if (typeof boundary !== "string") { + throw new TypeError("Expected boundary argument to be a string."); + } + if (options && !isPlainObject_default(options)) { + throw new TypeError("Expected options argument to be an object."); + } + __classPrivateFieldSet4(this, _FormDataEncoder_form, form, "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_options, { ...defaultOptions, ...options }, "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_CRLF_BYTES, __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")), "f"); + __classPrivateFieldSet4(this, _FormDataEncoder_CRLF_BYTES_LENGTH, __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES, "f").byteLength, "f"); + this.boundary = `form-data-boundary-${boundary}`; + this.contentType = `multipart/form-data; boundary=${this.boundary}`; + __classPrivateFieldSet4(this, _FormDataEncoder_footer, __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(`${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f").repeat(2)}`), "f"); + this.contentLength = String(this.getContentLength()); + this.headers = Object.freeze({ + "Content-Type": this.contentType, + "Content-Length": this.contentLength + }); + Object.defineProperties(this, { + boundary: { writable: false, configurable: false }, + contentType: { writable: false, configurable: false }, + contentLength: { writable: false, configurable: false }, + headers: { writable: false, configurable: false } + }); + } + getContentLength() { + let length = 0; + for (const [name, raw] of __classPrivateFieldGet5(this, _FormDataEncoder_form, "f")) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + length += __classPrivateFieldGet5(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength; + length += isFileLike(value) ? value.size : value.byteLength; + length += __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f"); + } + return length + __classPrivateFieldGet5(this, _FormDataEncoder_footer, "f").byteLength; + } + *values() { + for (const [name, raw] of __classPrivateFieldGet5(this, _FormDataEncoder_form, "f").entries()) { + const value = isFileLike(raw) ? raw : __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(normalizeValue_default(raw)); + yield __classPrivateFieldGet5(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value); + yield value; + yield __classPrivateFieldGet5(this, _FormDataEncoder_CRLF_BYTES, "f"); + } + yield __classPrivateFieldGet5(this, _FormDataEncoder_footer, "f"); + } + async *encode() { + for (const part of this.values()) { + if (isFileLike(part)) { + yield* part.stream(); + } else { + yield part; + } + } + } + [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) { + let header = ""; + header += `${__classPrivateFieldGet5(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`; + if (isFileLike(value)) { + header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}`; + header += `Content-Type: ${value.type || "application/octet-stream"}`; + } + if (__classPrivateFieldGet5(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) { + header += `${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`; + } + return __classPrivateFieldGet5(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet5(this, _FormDataEncoder_CRLF, "f").repeat(2)}`); + }, Symbol.iterator)]() { + return this.values(); + } + [Symbol.asyncIterator]() { + return this.encode(); + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_node_stream3 = require("node:stream"); + +// node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs +var MultipartBody = class { + constructor(body) { + this.body = body; + } + get [Symbol.toStringTag]() { + return "MultipartBody"; + } +}; + +// node_modules/@anthropic-ai/sdk/_shims/node-runtime.mjs +var import_ponyfill_es2018 = __toESM(require_ponyfill_es2018(), 1); +var fileFromPathWarned = false; +async function fileFromPath3(path2, ...args) { + const { fileFromPath: _fileFromPath } = await Promise.resolve().then(() => (init_fileFromPath(), fileFromPath_exports)); + if (!fileFromPathWarned) { + console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(path2)}) instead`); + fileFromPathWarned = true; + } + return await _fileFromPath(path2, ...args); +} +var defaultHttpAgent = new import_agentkeepalive.default({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +var defaultHttpsAgent = new import_agentkeepalive.default.HttpsAgent({ keepAlive: true, timeout: 5 * 60 * 1e3 }); +async function getMultipartRequestOptions2(form, opts) { + const encoder = new FormDataEncoder(form); + const readable = import_node_stream3.Readable.from(encoder); + const body = new MultipartBody(readable); + const headers = { + ...opts.headers, + ...encoder.headers, + "Content-Length": encoder.contentLength + }; + return { ...opts, body, headers }; +} +function getRuntime() { + if (typeof AbortController === "undefined") { + globalThis.AbortController = import_abort_controller5.AbortController; + } + return { + kind: "node", + fetch: nf.default, + Request: nf.Request, + Response: nf.Response, + Headers: nf.Headers, + FormData: FormData4, + Blob: Blob3, + File: File3, + ReadableStream: import_ponyfill_es2018.ReadableStream, + getMultipartRequestOptions: getMultipartRequestOptions2, + getDefaultAgent: (url2) => url2.startsWith("https") ? defaultHttpsAgent : defaultHttpAgent, + fileFromPath: fileFromPath3, + isFsReadStream: (value) => value instanceof import_node_fs.ReadStream + }; +} + +// node_modules/@anthropic-ai/sdk/_shims/index.mjs +if (!kind) + setShims(getRuntime(), { auto: true }); + +// node_modules/@anthropic-ai/sdk/error.mjs +var error_exports = {}; +__export(error_exports, { + APIConnectionError: () => APIConnectionError, + APIConnectionTimeoutError: () => APIConnectionTimeoutError, + APIError: () => APIError, + APIUserAbortError: () => APIUserAbortError, + AnthropicError: () => AnthropicError, + AuthenticationError: () => AuthenticationError, + BadRequestError: () => BadRequestError, + ConflictError: () => ConflictError, + InternalServerError: () => InternalServerError, + NotFoundError: () => NotFoundError, + PermissionDeniedError: () => PermissionDeniedError, + RateLimitError: () => RateLimitError, + UnprocessableEntityError: () => UnprocessableEntityError +}); +var AnthropicError = class extends Error { +}; +var APIError = class extends AnthropicError { + constructor(status, error, message, headers) { + super(`${APIError.makeMessage(status, error, message)}`); + this.status = status; + this.headers = headers; + this.error = error; + } + static makeMessage(status, error, message) { + const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message; + if (status && msg) { + return `${status} ${msg}`; + } + if (status) { + return `${status} status code (no body)`; + } + if (msg) { + return msg; + } + return "(no status code or body)"; + } + static generate(status, errorResponse, message, headers) { + if (!status) { + return new APIConnectionError({ cause: castToError(errorResponse) }); + } + const error = errorResponse; + if (status === 400) { + return new BadRequestError(status, error, message, headers); + } + if (status === 401) { + return new AuthenticationError(status, error, message, headers); + } + if (status === 403) { + return new PermissionDeniedError(status, error, message, headers); + } + if (status === 404) { + return new NotFoundError(status, error, message, headers); + } + if (status === 409) { + return new ConflictError(status, error, message, headers); + } + if (status === 422) { + return new UnprocessableEntityError(status, error, message, headers); + } + if (status === 429) { + return new RateLimitError(status, error, message, headers); + } + if (status >= 500) { + return new InternalServerError(status, error, message, headers); + } + return new APIError(status, error, message, headers); + } +}; +var APIUserAbortError = class extends APIError { + constructor({ message } = {}) { + super(void 0, void 0, message || "Request was aborted.", void 0); + this.status = void 0; + } +}; +var APIConnectionError = class extends APIError { + constructor({ message, cause }) { + super(void 0, void 0, message || "Connection error.", void 0); + this.status = void 0; + if (cause) + this.cause = cause; + } +}; +var APIConnectionTimeoutError = class extends APIConnectionError { + constructor({ message } = {}) { + super({ message: message ?? "Request timed out." }); + } +}; +var BadRequestError = class extends APIError { + constructor() { + super(...arguments); + this.status = 400; + } +}; +var AuthenticationError = class extends APIError { + constructor() { + super(...arguments); + this.status = 401; + } +}; +var PermissionDeniedError = class extends APIError { + constructor() { + super(...arguments); + this.status = 403; + } +}; +var NotFoundError = class extends APIError { + constructor() { + super(...arguments); + this.status = 404; + } +}; +var ConflictError = class extends APIError { + constructor() { + super(...arguments); + this.status = 409; + } +}; +var UnprocessableEntityError = class extends APIError { + constructor() { + super(...arguments); + this.status = 422; + } +}; +var RateLimitError = class extends APIError { + constructor() { + super(...arguments); + this.status = 429; + } +}; +var InternalServerError = class extends APIError { +}; + +// node_modules/@anthropic-ai/sdk/streaming.mjs +var Stream = class { + constructor(iterator, controller) { + this.iterator = iterator; + this.controller = controller; + } + static fromSSEResponse(response, controller) { + let consumed = false; + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const sse of _iterSSEMessages(response, controller)) { + if (sse.event === "completion") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") { + try { + yield JSON.parse(sse.data); + } catch (e3) { + console.error(`Could not parse message into JSON:`, sse.data); + console.error(`From chunk:`, sse.raw); + throw e3; + } + } + if (sse.event === "ping") { + continue; + } + if (sse.event === "error") { + const errText = sse.data; + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers)); + } + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + static fromReadableStream(readableStream, controller) { + let consumed = false; + async function* iterLines() { + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(readableStream); + for await (const chunk of iter) { + for (const line of lineDecoder.decode(chunk)) { + yield line; + } + } + for (const line of lineDecoder.flush()) { + yield line; + } + } + async function* iterator() { + if (consumed) { + throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream."); + } + consumed = true; + let done = false; + try { + for await (const line of iterLines()) { + if (done) + continue; + if (line) + yield JSON.parse(line); + } + done = true; + } catch (e3) { + if (e3 instanceof Error && e3.name === "AbortError") + return; + throw e3; + } finally { + if (!done) + controller.abort(); + } + } + return new Stream(iterator, controller); + } + [Symbol.asyncIterator]() { + return this.iterator(); + } + tee() { + const left = []; + const right = []; + const iterator = this.iterator(); + const teeIterator = (queue) => { + return { + next: () => { + if (queue.length === 0) { + const result = iterator.next(); + left.push(result); + right.push(result); + } + return queue.shift(); + } + }; + }; + return [ + new Stream(() => teeIterator(left), this.controller), + new Stream(() => teeIterator(right), this.controller) + ]; + } + toReadableStream() { + const self2 = this; + let iter; + const encoder = new TextEncoder(); + return new ReadableStream2({ + async start() { + iter = self2[Symbol.asyncIterator](); + }, + async pull(ctrl) { + try { + const { value, done } = await iter.next(); + if (done) + return ctrl.close(); + const bytes = encoder.encode(JSON.stringify(value) + "\n"); + ctrl.enqueue(bytes); + } catch (err) { + ctrl.error(err); + } + }, + async cancel() { + await iter.return?.(); + } + }); + } +}; +async function* _iterSSEMessages(response, controller) { + if (!response.body) { + controller.abort(); + throw new AnthropicError(`Attempted to iterate over a response with no body`); + } + const sseDecoder = new SSEDecoder(); + const lineDecoder = new LineDecoder(); + const iter = readableStreamAsyncIterable(response.body); + for await (const sseChunk of iterSSEChunks(iter)) { + for (const line of lineDecoder.decode(sseChunk)) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } + } + for (const line of lineDecoder.flush()) { + const sse = sseDecoder.decode(line); + if (sse) + yield sse; + } +} +async function* iterSSEChunks(iterator) { + let data = new Uint8Array(); + for await (const chunk of iterator) { + if (chunk == null) { + continue; + } + const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk; + let newData = new Uint8Array(data.length + binaryChunk.length); + newData.set(data); + newData.set(binaryChunk, data.length); + data = newData; + let patternIndex; + while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) { + yield data.slice(0, patternIndex); + data = data.slice(patternIndex); + } + } + if (data.length > 0) { + yield data; + } +} +function findDoubleNewlineIndex(buffer) { + const newline = 10; + const carriage = 13; + for (let i3 = 0; i3 < buffer.length - 2; i3++) { + if (buffer[i3] === newline && buffer[i3 + 1] === newline) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === carriage) { + return i3 + 2; + } + if (buffer[i3] === carriage && buffer[i3 + 1] === newline && i3 + 3 < buffer.length && buffer[i3 + 2] === carriage && buffer[i3 + 3] === newline) { + return i3 + 4; + } + } + return -1; +} +var SSEDecoder = class { + constructor() { + this.event = null; + this.data = []; + this.chunks = []; + } + decode(line) { + if (line.endsWith("\r")) { + line = line.substring(0, line.length - 1); + } + if (!line) { + if (!this.event && !this.data.length) + return null; + const sse = { + event: this.event, + data: this.data.join("\n"), + raw: this.chunks + }; + this.event = null; + this.data = []; + this.chunks = []; + return sse; + } + this.chunks.push(line); + if (line.startsWith(":")) { + return null; + } + let [fieldname, _3, value] = partition(line, ":"); + if (value.startsWith(" ")) { + value = value.substring(1); + } + if (fieldname === "event") { + this.event = value; + } else if (fieldname === "data") { + this.data.push(value); + } + return null; + } +}; +var LineDecoder = class { + constructor() { + this.buffer = []; + this.trailingCR = false; + } + decode(chunk) { + let text = this.decodeText(chunk); + if (this.trailingCR) { + text = "\r" + text; + this.trailingCR = false; + } + if (text.endsWith("\r")) { + this.trailingCR = true; + text = text.slice(0, -1); + } + if (!text) { + return []; + } + const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || ""); + let lines = text.split(LineDecoder.NEWLINE_REGEXP); + if (trailingNewline) { + lines.pop(); + } + if (lines.length === 1 && !trailingNewline) { + this.buffer.push(lines[0]); + return []; + } + if (this.buffer.length > 0) { + lines = [this.buffer.join("") + lines[0], ...lines.slice(1)]; + this.buffer = []; + } + if (!trailingNewline) { + this.buffer = [lines.pop() || ""]; + } + return lines; + } + decodeText(bytes) { + if (bytes == null) + return ""; + if (typeof bytes === "string") + return bytes; + if (typeof Buffer !== "undefined") { + if (bytes instanceof Buffer) { + return bytes.toString(); + } + if (bytes instanceof Uint8Array) { + return Buffer.from(bytes).toString(); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`); + } + if (typeof TextDecoder !== "undefined") { + if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) { + this.textDecoder ?? (this.textDecoder = new TextDecoder("utf8")); + return this.textDecoder.decode(bytes); + } + throw new AnthropicError(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`); + } + throw new AnthropicError(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`); + } + flush() { + if (!this.buffer.length && !this.trailingCR) { + return []; + } + const lines = [this.buffer.join("")]; + this.buffer = []; + this.trailingCR = false; + return lines; + } +}; +LineDecoder.NEWLINE_CHARS = /* @__PURE__ */ new Set(["\n", "\r"]); +LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g; +function partition(str, delimiter) { + const index = str.indexOf(delimiter); + if (index !== -1) { + return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)]; + } + return [str, "", ""]; +} +function readableStreamAsyncIterable(stream4) { + if (stream4[Symbol.asyncIterator]) + return stream4; + const reader = stream4.getReader(); + return { + async next() { + try { + const result = await reader.read(); + if (result?.done) + reader.releaseLock(); + return result; + } catch (e3) { + reader.releaseLock(); + throw e3; + } + }, + async return() { + const cancelPromise = reader.cancel(); + reader.releaseLock(); + await cancelPromise; + return { done: true, value: void 0 }; + }, + [Symbol.asyncIterator]() { + return this; + } + }; +} + +// node_modules/@anthropic-ai/sdk/uploads.mjs +var isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function"; +var isFileLike2 = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value); +var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function"; +async function toFile(value, name, options) { + value = await value; + options ?? (options = isFileLike2(value) ? { lastModified: value.lastModified, type: value.type } : {}); + if (isResponseLike(value)) { + const blob = await value.blob(); + name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file"); + return new File2([blob], name, options); + } + const bits = await getBytes(value); + name || (name = getName(value) ?? "unknown_file"); + if (!options.type) { + const type2 = bits[0]?.type; + if (typeof type2 === "string") { + options = { ...options, type: type2 }; + } + } + return new File2(bits, name, options); +} +async function getBytes(value) { + let parts = []; + if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) { + parts.push(value); + } else if (isBlobLike(value)) { + parts.push(await value.arrayBuffer()); + } else if (isAsyncIterableIterator(value)) { + for await (const chunk of value) { + parts.push(chunk); + } + } else { + throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`); + } + return parts; +} +function propsForError(value) { + const props = Object.getOwnPropertyNames(value); + return `[${props.map((p3) => `"${p3}"`).join(", ")}]`; +} +function getName(value) { + return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop(); +} +var getStringFromMaybeBuffer = (x2) => { + if (typeof x2 === "string") + return x2; + if (typeof Buffer !== "undefined" && x2 instanceof Buffer) + return String(x2); + return void 0; +}; +var isAsyncIterableIterator = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function"; +var isMultipartBody = (body) => body && typeof body === "object" && body.body && body[Symbol.toStringTag] === "MultipartBody"; + +// node_modules/@anthropic-ai/sdk/core.mjs +var __classPrivateFieldSet6 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet7 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _AbstractPage_client; +async function defaultParseResponse(props) { + const { response } = props; + if (props.options.stream) { + debug("response", response.status, response.url, response.headers, response.body); + if (props.options.__streamClass) { + return props.options.__streamClass.fromSSEResponse(response, props.controller); + } + return Stream.fromSSEResponse(response, props.controller); + } + if (response.status === 204) { + return null; + } + if (props.options.__binaryResponse) { + return response; + } + const contentType = response.headers.get("content-type"); + const isJSON = contentType?.includes("application/json") || contentType?.includes("application/vnd.api+json"); + if (isJSON) { + const json = await response.json(); + debug("response", response.status, response.url, response.headers, json); + return json; + } + const text = await response.text(); + debug("response", response.status, response.url, response.headers, text); + return text; +} +var APIPromise = class extends Promise { + constructor(responsePromise, parseResponse = defaultParseResponse) { + super((resolve) => { + resolve(null); + }); + this.responsePromise = responsePromise; + this.parseResponse = parseResponse; + } + _thenUnwrap(transform) { + return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props))); + } + asResponse() { + return this.responsePromise.then((p3) => p3.response); + } + async withResponse() { + const [data, response] = await Promise.all([this.parse(), this.asResponse()]); + return { data, response }; + } + parse() { + if (!this.parsedPromise) { + this.parsedPromise = this.responsePromise.then(this.parseResponse); + } + return this.parsedPromise; + } + then(onfulfilled, onrejected) { + return this.parse().then(onfulfilled, onrejected); + } + catch(onrejected) { + return this.parse().catch(onrejected); + } + finally(onfinally) { + return this.parse().finally(onfinally); + } +}; +var APIClient = class { + constructor({ + baseURL, + maxRetries = 2, + timeout = 6e5, + httpAgent, + fetch: overridenFetch + }) { + this.baseURL = baseURL; + this.maxRetries = validatePositiveInteger("maxRetries", maxRetries); + this.timeout = validatePositiveInteger("timeout", timeout); + this.httpAgent = httpAgent; + this.fetch = overridenFetch ?? fetch; + } + authHeaders(opts) { + return {}; + } + defaultHeaders(opts) { + return { + Accept: "application/json", + "Content-Type": "application/json", + "User-Agent": this.getUserAgent(), + ...getPlatformHeaders(), + ...this.authHeaders(opts) + }; + } + validateHeaders(headers, customHeaders) { + } + defaultIdempotencyKey() { + return `stainless-node-retry-${uuid4()}`; + } + get(path2, opts) { + return this.methodRequest("get", path2, opts); + } + post(path2, opts) { + return this.methodRequest("post", path2, opts); + } + patch(path2, opts) { + return this.methodRequest("patch", path2, opts); + } + put(path2, opts) { + return this.methodRequest("put", path2, opts); + } + delete(path2, opts) { + return this.methodRequest("delete", path2, opts); + } + methodRequest(method, path2, opts) { + return this.request(Promise.resolve(opts).then((opts2) => ({ method, path: path2, ...opts2 }))); + } + getAPIList(path2, Page, opts) { + return this.requestAPIList(Page, { method: "get", path: path2, ...opts }); + } + calculateContentLength(body) { + if (typeof body === "string") { + if (typeof Buffer !== "undefined") { + return Buffer.byteLength(body, "utf8").toString(); + } + if (typeof TextEncoder !== "undefined") { + const encoder = new TextEncoder(); + const encoded = encoder.encode(body); + return encoded.length.toString(); + } + } + return null; + } + buildRequest(options) { + const { method, path: path2, query, headers = {} } = options; + const body = isMultipartBody(options.body) ? options.body.body : options.body ? JSON.stringify(options.body, null, 2) : null; + const contentLength = this.calculateContentLength(body); + const url2 = this.buildURL(path2, query); + if ("timeout" in options) + validatePositiveInteger("timeout", options.timeout); + const timeout = options.timeout ?? this.timeout; + const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url2); + const minAgentTimeout = timeout + 1e3; + if (typeof httpAgent?.options?.timeout === "number" && minAgentTimeout > (httpAgent.options.timeout ?? 0)) { + httpAgent.options.timeout = minAgentTimeout; + } + if (this.idempotencyHeader && method !== "get") { + if (!options.idempotencyKey) + options.idempotencyKey = this.defaultIdempotencyKey(); + headers[this.idempotencyHeader] = options.idempotencyKey; + } + const reqHeaders = this.buildHeaders({ options, headers, contentLength }); + const req = { + method, + ...body && { body }, + headers: reqHeaders, + ...httpAgent && { agent: httpAgent }, + signal: options.signal ?? null + }; + return { req, url: url2, timeout }; + } + buildHeaders({ options, headers, contentLength }) { + const reqHeaders = {}; + if (contentLength) { + reqHeaders["content-length"] = contentLength; + } + const defaultHeaders = this.defaultHeaders(options); + applyHeadersMut(reqHeaders, defaultHeaders); + applyHeadersMut(reqHeaders, headers); + if (isMultipartBody(options.body) && kind !== "node") { + delete reqHeaders["content-type"]; + } + this.validateHeaders(reqHeaders, headers); + return reqHeaders; + } + async prepareOptions(options) { + } + async prepareRequest(request3, { url: url2, options }) { + } + parseHeaders(headers) { + return !headers ? {} : Symbol.iterator in headers ? Object.fromEntries(Array.from(headers).map((header) => [...header])) : { ...headers }; + } + makeStatusError(status, error, message, headers) { + return APIError.generate(status, error, message, headers); + } + request(options, remainingRetries = null) { + return new APIPromise(this.makeRequest(options, remainingRetries)); + } + async makeRequest(optionsInput, retriesRemaining) { + const options = await optionsInput; + if (retriesRemaining == null) { + retriesRemaining = options.maxRetries ?? this.maxRetries; + } + await this.prepareOptions(options); + const { req, url: url2, timeout } = this.buildRequest(options); + await this.prepareRequest(req, { url: url2, options }); + debug("request", url2, options, req.headers); + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + const controller = new AbortController(); + const response = await this.fetchWithTimeout(url2, req, timeout, controller).catch(castToError); + if (response instanceof Error) { + if (options.signal?.aborted) { + throw new APIUserAbortError(); + } + if (retriesRemaining) { + return this.retryRequest(options, retriesRemaining); + } + if (response.name === "AbortError") { + throw new APIConnectionTimeoutError(); + } + throw new APIConnectionError({ cause: response }); + } + const responseHeaders = createResponseHeaders(response.headers); + if (!response.ok) { + if (retriesRemaining && this.shouldRetry(response)) { + const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`; + debug(`response (error; ${retryMessage2})`, response.status, url2, responseHeaders); + return this.retryRequest(options, retriesRemaining, responseHeaders); + } + const errText = await response.text().catch((e3) => castToError(e3).message); + const errJSON = safeJSON(errText); + const errMessage = errJSON ? void 0 : errText; + const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`; + debug(`response (error; ${retryMessage})`, response.status, url2, responseHeaders, errMessage); + const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders); + throw err; + } + return { response, options, controller }; + } + requestAPIList(Page, options) { + const request3 = this.makeRequest(options, null); + return new PagePromise(this, request3, Page); + } + buildURL(path2, query) { + const url2 = isAbsoluteURL2(path2) ? new URL(path2) : new URL(this.baseURL + (this.baseURL.endsWith("/") && path2.startsWith("/") ? path2.slice(1) : path2)); + const defaultQuery = this.defaultQuery(); + if (!isEmptyObj(defaultQuery)) { + query = { ...defaultQuery, ...query }; + } + if (typeof query === "object" && query && !Array.isArray(query)) { + url2.search = this.stringifyQuery(query); + } + return url2.toString(); + } + stringifyQuery(query) { + return Object.entries(query).filter(([_3, value]) => typeof value !== "undefined").map(([key, value]) => { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + if (value === null) { + return `${encodeURIComponent(key)}=`; + } + throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`); + }).join("&"); + } + async fetchWithTimeout(url2, init, ms, controller) { + const { signal, ...options } = init || {}; + if (signal) + signal.addEventListener("abort", () => controller.abort()); + const timeout = setTimeout(() => controller.abort(), ms); + return this.getRequestClient().fetch.call(void 0, url2, { signal: controller.signal, ...options }).finally(() => { + clearTimeout(timeout); + }); + } + getRequestClient() { + return { fetch: this.fetch }; + } + shouldRetry(response) { + const shouldRetryHeader = response.headers.get("x-should-retry"); + if (shouldRetryHeader === "true") + return true; + if (shouldRetryHeader === "false") + return false; + if (response.status === 408) + return true; + if (response.status === 409) + return true; + if (response.status === 429) + return true; + if (response.status >= 500) + return true; + return false; + } + async retryRequest(options, retriesRemaining, responseHeaders) { + let timeoutMillis; + const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"]; + if (retryAfterMillisHeader) { + const timeoutMs = parseFloat(retryAfterMillisHeader); + if (!Number.isNaN(timeoutMs)) { + timeoutMillis = timeoutMs; + } + } + const retryAfterHeader = responseHeaders?.["retry-after"]; + if (retryAfterHeader && !timeoutMillis) { + const timeoutSeconds = parseFloat(retryAfterHeader); + if (!Number.isNaN(timeoutSeconds)) { + timeoutMillis = timeoutSeconds * 1e3; + } else { + timeoutMillis = Date.parse(retryAfterHeader) - Date.now(); + } + } + if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) { + const maxRetries = options.maxRetries ?? this.maxRetries; + timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries); + } + await sleep(timeoutMillis); + return this.makeRequest(options, retriesRemaining - 1); + } + calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) { + const initialRetryDelay = 0.5; + const maxRetryDelay = 8; + const numRetries = maxRetries - retriesRemaining; + const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay); + const jitter = 1 - Math.random() * 0.25; + return sleepSeconds * jitter * 1e3; + } + getUserAgent() { + return `${this.constructor.name}/JS ${VERSION3}`; + } +}; +var AbstractPage = class { + constructor(client, response, body, options) { + _AbstractPage_client.set(this, void 0); + __classPrivateFieldSet6(this, _AbstractPage_client, client, "f"); + this.options = options; + this.response = response; + this.body = body; + } + hasNextPage() { + const items = this.getPaginatedItems(); + if (!items.length) + return false; + return this.nextPageInfo() != null; + } + async getNextPage() { + const nextInfo = this.nextPageInfo(); + if (!nextInfo) { + throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`."); + } + const nextOptions = { ...this.options }; + if ("params" in nextInfo && typeof nextOptions.query === "object") { + nextOptions.query = { ...nextOptions.query, ...nextInfo.params }; + } else if ("url" in nextInfo) { + const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()]; + for (const [key, value] of params) { + nextInfo.url.searchParams.set(key, value); + } + nextOptions.query = void 0; + nextOptions.path = nextInfo.url.toString(); + } + return await __classPrivateFieldGet7(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions); + } + async *iterPages() { + let page = this; + yield page; + while (page.hasNextPage()) { + page = await page.getNextPage(); + yield page; + } + } + async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)]() { + for await (const page of this.iterPages()) { + for (const item of page.getPaginatedItems()) { + yield item; + } + } + } +}; +var PagePromise = class extends APIPromise { + constructor(client, request3, Page) { + super(request3, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options)); + } + async *[Symbol.asyncIterator]() { + const page = await this; + for await (const item of page) { + yield item; + } + } +}; +var createResponseHeaders = (headers) => { + return new Proxy(Object.fromEntries( + headers.entries() + ), { + get(target, name) { + const key = name.toString(); + return target[key.toLowerCase()] || target[key]; + } + }); +}; +var getPlatformProperties = () => { + if (typeof Deno !== "undefined" && Deno.build != null) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(Deno.build.os), + "X-Stainless-Arch": normalizeArch(Deno.build.arch), + "X-Stainless-Runtime": "deno", + "X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown" + }; + } + if (typeof EdgeRuntime !== "undefined") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": `other:${EdgeRuntime}`, + "X-Stainless-Runtime": "edge", + "X-Stainless-Runtime-Version": process.version + }; + } + if (Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]") { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": normalizePlatform(process.platform), + "X-Stainless-Arch": normalizeArch(process.arch), + "X-Stainless-Runtime": "node", + "X-Stainless-Runtime-Version": process.version + }; + } + const browserInfo = getBrowserInfo(); + if (browserInfo) { + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": `browser:${browserInfo.browser}`, + "X-Stainless-Runtime-Version": browserInfo.version + }; + } + return { + "X-Stainless-Lang": "js", + "X-Stainless-Package-Version": VERSION3, + "X-Stainless-OS": "Unknown", + "X-Stainless-Arch": "unknown", + "X-Stainless-Runtime": "unknown", + "X-Stainless-Runtime-Version": "unknown" + }; +}; +function getBrowserInfo() { + if (typeof navigator === "undefined" || !navigator) { + return null; + } + const browserPatterns = [ + { key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ }, + { key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ } + ]; + for (const { key, pattern } of browserPatterns) { + const match = pattern.exec(navigator.userAgent); + if (match) { + const major = match[1] || 0; + const minor = match[2] || 0; + const patch = match[3] || 0; + return { browser: key, version: `${major}.${minor}.${patch}` }; + } + } + return null; +} +var normalizeArch = (arch2) => { + if (arch2 === "x32") + return "x32"; + if (arch2 === "x86_64" || arch2 === "x64") + return "x64"; + if (arch2 === "arm") + return "arm"; + if (arch2 === "aarch64" || arch2 === "arm64") + return "arm64"; + if (arch2) + return `other:${arch2}`; + return "unknown"; +}; +var normalizePlatform = (platform) => { + platform = platform.toLowerCase(); + if (platform.includes("ios")) + return "iOS"; + if (platform === "android") + return "Android"; + if (platform === "darwin") + return "MacOS"; + if (platform === "win32") + return "Windows"; + if (platform === "freebsd") + return "FreeBSD"; + if (platform === "openbsd") + return "OpenBSD"; + if (platform === "linux") + return "Linux"; + if (platform) + return `Other:${platform}`; + return "Unknown"; +}; +var _platformHeaders; +var getPlatformHeaders = () => { + return _platformHeaders ?? (_platformHeaders = getPlatformProperties()); +}; +var safeJSON = (text) => { + try { + return JSON.parse(text); + } catch (err) { + return void 0; + } +}; +var startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i"); +var isAbsoluteURL2 = (url2) => { + return startsWithSchemeRegexp.test(url2); +}; +var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +var validatePositiveInteger = (name, n2) => { + if (typeof n2 !== "number" || !Number.isInteger(n2)) { + throw new AnthropicError(`${name} must be an integer`); + } + if (n2 < 0) { + throw new AnthropicError(`${name} must be a positive integer`); + } + return n2; +}; +var castToError = (err) => { + if (err instanceof Error) + return err; + return new Error(err); +}; +var readEnv = (env2) => { + if (typeof process !== "undefined") { + return process.env?.[env2]?.trim() ?? void 0; + } + if (typeof Deno !== "undefined") { + return Deno.env?.get?.(env2)?.trim(); + } + return void 0; +}; +function isEmptyObj(obj) { + if (!obj) + return true; + for (const _k in obj) + return false; + return true; +} +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} +function applyHeadersMut(targetHeaders, newHeaders) { + for (const k4 in newHeaders) { + if (!hasOwn(newHeaders, k4)) + continue; + const lowerKey = k4.toLowerCase(); + if (!lowerKey) + continue; + const val = newHeaders[k4]; + if (val === null) { + delete targetHeaders[lowerKey]; + } else if (val !== void 0) { + targetHeaders[lowerKey] = val; + } + } +} +function debug(action, ...args) { + if (typeof process !== "undefined" && process?.env?.["DEBUG"] === "true") { + console.log(`Anthropic:DEBUG:${action}`, ...args); + } +} +var uuid4 = () => { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c2) => { + const r3 = Math.random() * 16 | 0; + const v2 = c2 === "x" ? r3 : r3 & 3 | 8; + return v2.toString(16); + }); +}; + +// node_modules/@anthropic-ai/sdk/resource.mjs +var APIResource = class { + constructor(client) { + this._client = client; + } +}; + +// node_modules/@anthropic-ai/sdk/resources/completions.mjs +var Completions = class extends APIResource { + create(body, options) { + return this._client.post("/v1/complete", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } +}; +(function(Completions2) { +})(Completions || (Completions = {})); + +// node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +var __classPrivateFieldSet7 = function(receiver, state2, value, kind2, f4) { + if (kind2 === "m") + throw new TypeError("Private method is not writable"); + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind2 === "a" ? f4.call(receiver, value) : f4 ? f4.value = value : state2.set(receiver, value), value; +}; +var __classPrivateFieldGet8 = function(receiver, state2, kind2, f4) { + if (kind2 === "a" && !f4) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state2 === "function" ? receiver !== state2 || !f4 : !state2.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind2 === "m" ? f4 : kind2 === "a" ? f4.call(receiver) : f4 ? f4.value : state2.get(receiver); +}; +var _MessageStream_instances; +var _MessageStream_currentMessageSnapshot; +var _MessageStream_connectedPromise; +var _MessageStream_resolveConnectedPromise; +var _MessageStream_rejectConnectedPromise; +var _MessageStream_endPromise; +var _MessageStream_resolveEndPromise; +var _MessageStream_rejectEndPromise; +var _MessageStream_listeners; +var _MessageStream_ended; +var _MessageStream_errored; +var _MessageStream_aborted; +var _MessageStream_catchingPromiseCreated; +var _MessageStream_getFinalMessage; +var _MessageStream_getFinalText; +var _MessageStream_handleError; +var _MessageStream_beginRequest; +var _MessageStream_addStreamEvent; +var _MessageStream_endRequest; +var _MessageStream_accumulateMessage; +var MessageStream = class { + constructor() { + _MessageStream_instances.add(this); + this.messages = []; + this.receivedMessages = []; + _MessageStream_currentMessageSnapshot.set(this, void 0); + this.controller = new AbortController(); + _MessageStream_connectedPromise.set(this, void 0); + _MessageStream_resolveConnectedPromise.set(this, () => { + }); + _MessageStream_rejectConnectedPromise.set(this, () => { + }); + _MessageStream_endPromise.set(this, void 0); + _MessageStream_resolveEndPromise.set(this, () => { + }); + _MessageStream_rejectEndPromise.set(this, () => { + }); + _MessageStream_listeners.set(this, {}); + _MessageStream_ended.set(this, false); + _MessageStream_errored.set(this, false); + _MessageStream_aborted.set(this, false); + _MessageStream_catchingPromiseCreated.set(this, false); + _MessageStream_handleError.set(this, (error) => { + __classPrivateFieldSet7(this, _MessageStream_errored, true, "f"); + if (error instanceof Error && error.name === "AbortError") { + error = new APIUserAbortError(); + } + if (error instanceof APIUserAbortError) { + __classPrivateFieldSet7(this, _MessageStream_aborted, true, "f"); + return this._emit("abort", error); + } + if (error instanceof AnthropicError) { + return this._emit("error", error); + } + if (error instanceof Error) { + const anthropicError = new AnthropicError(error.message); + anthropicError.cause = error; + return this._emit("error", anthropicError); + } + return this._emit("error", new AnthropicError(String(error))); + }); + __classPrivateFieldSet7(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_resolveConnectedPromise, resolve, "f"); + __classPrivateFieldSet7(this, _MessageStream_rejectConnectedPromise, reject, "f"); + }), "f"); + __classPrivateFieldSet7(this, _MessageStream_endPromise, new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_resolveEndPromise, resolve, "f"); + __classPrivateFieldSet7(this, _MessageStream_rejectEndPromise, reject, "f"); + }), "f"); + __classPrivateFieldGet8(this, _MessageStream_connectedPromise, "f").catch(() => { + }); + __classPrivateFieldGet8(this, _MessageStream_endPromise, "f").catch(() => { + }); + } + static fromReadableStream(stream4) { + const runner = new MessageStream(); + runner._run(() => runner._fromReadableStream(stream4)); + return runner; + } + static createMessage(messages, params, options) { + const runner = new MessageStream(); + for (const message of params.messages) { + runner._addMessageParam(message); + } + runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } })); + return runner; + } + _run(executor) { + executor().then(() => { + this._emitFinal(); + this._emit("end"); + }, __classPrivateFieldGet8(this, _MessageStream_handleError, "f")); + } + _addMessageParam(message) { + this.messages.push(message); + } + _addMessage(message, emit = true) { + this.receivedMessages.push(message); + if (emit) { + this._emit("message", message); + } + } + async _createMessage(messages, params, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + const stream4 = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }); + this._connected(); + for await (const event of stream4) { + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + _connected() { + if (this.ended) + return; + __classPrivateFieldGet8(this, _MessageStream_resolveConnectedPromise, "f").call(this); + this._emit("connect"); + } + get ended() { + return __classPrivateFieldGet8(this, _MessageStream_ended, "f"); + } + get errored() { + return __classPrivateFieldGet8(this, _MessageStream_errored, "f"); + } + get aborted() { + return __classPrivateFieldGet8(this, _MessageStream_aborted, "f"); + } + abort() { + this.controller.abort(); + } + on(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener }); + return this; + } + off(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event]; + if (!listeners) + return this; + const index = listeners.findIndex((l3) => l3.listener === listener); + if (index >= 0) + listeners.splice(index, 1); + return this; + } + once(event, listener) { + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = []); + listeners.push({ listener, once: true }); + return this; + } + emitted(event) { + return new Promise((resolve, reject) => { + __classPrivateFieldSet7(this, _MessageStream_catchingPromiseCreated, true, "f"); + if (event !== "error") + this.once("error", reject); + this.once(event, resolve); + }); + } + async done() { + __classPrivateFieldSet7(this, _MessageStream_catchingPromiseCreated, true, "f"); + await __classPrivateFieldGet8(this, _MessageStream_endPromise, "f"); + } + get currentMessage() { + return __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + } + async finalMessage() { + await this.done(); + return __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this); + } + async finalText() { + await this.done(); + return __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this); + } + _emit(event, ...args) { + if (__classPrivateFieldGet8(this, _MessageStream_ended, "f")) + return; + if (event === "end") { + __classPrivateFieldSet7(this, _MessageStream_ended, true, "f"); + __classPrivateFieldGet8(this, _MessageStream_resolveEndPromise, "f").call(this); + } + const listeners = __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event]; + if (listeners) { + __classPrivateFieldGet8(this, _MessageStream_listeners, "f")[event] = listeners.filter((l3) => !l3.once); + listeners.forEach(({ listener }) => listener(...args)); + } + if (event === "abort") { + const error = args[0]; + if (!__classPrivateFieldGet8(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet8(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet8(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + return; + } + if (event === "error") { + const error = args[0]; + if (!__classPrivateFieldGet8(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) { + Promise.reject(error); + } + __classPrivateFieldGet8(this, _MessageStream_rejectConnectedPromise, "f").call(this, error); + __classPrivateFieldGet8(this, _MessageStream_rejectEndPromise, "f").call(this, error); + this._emit("end"); + } + } + _emitFinal() { + const finalMessage = this.receivedMessages.at(-1); + if (finalMessage) { + this._emit("finalMessage", __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this)); + } + } + async _fromReadableStream(readableStream, options) { + const signal = options?.signal; + if (signal) { + if (signal.aborted) + this.controller.abort(); + signal.addEventListener("abort", () => this.controller.abort()); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this); + this._connected(); + const stream4 = Stream.fromReadableStream(readableStream, this.controller); + for await (const event of stream4) { + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event); + } + if (stream4.controller.signal?.aborted) { + throw new APIUserAbortError(); + } + __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this); + } + [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + return this.receivedMessages.at(-1); + }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() { + if (this.receivedMessages.length === 0) { + throw new AnthropicError("stream ended without producing a Message with role=assistant"); + } + const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text); + if (textBlocks.length === 0) { + throw new AnthropicError("stream ended without producing a content block with type=text"); + } + return textBlocks.join(" "); + }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() { + if (this.ended) + return; + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) { + if (this.ended) + return; + const messageSnapshot = __classPrivateFieldGet8(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event); + this._emit("streamEvent", event, messageSnapshot); + switch (event.type) { + case "content_block_delta": { + if (event.delta.type === "text_delta") { + this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || ""); + } + break; + } + case "message_stop": { + this._addMessageParam(messageSnapshot); + this._addMessage(messageSnapshot, true); + break; + } + case "content_block_stop": { + this._emit("contentBlock", messageSnapshot.content.at(-1)); + break; + } + case "message_start": { + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f"); + break; + } + case "content_block_start": + case "message_delta": + break; + } + }, _MessageStream_endRequest = function _MessageStream_endRequest2() { + if (this.ended) { + throw new AnthropicError(`stream has ended, this shouldn't happen`); + } + const snapshot = __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + if (!snapshot) { + throw new AnthropicError(`request ended without sending any chunks`); + } + __classPrivateFieldSet7(this, _MessageStream_currentMessageSnapshot, void 0, "f"); + return snapshot; + }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) { + let snapshot = __classPrivateFieldGet8(this, _MessageStream_currentMessageSnapshot, "f"); + if (event.type === "message_start") { + if (snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`); + } + return event.message; + } + if (!snapshot) { + throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`); + } + switch (event.type) { + case "message_stop": + return snapshot; + case "message_delta": + snapshot.stop_reason = event.delta.stop_reason; + snapshot.stop_sequence = event.delta.stop_sequence; + snapshot.usage.output_tokens = event.usage.output_tokens; + return snapshot; + case "content_block_start": + snapshot.content.push(event.content_block); + return snapshot; + case "content_block_delta": { + const snapshotContent = snapshot.content.at(event.index); + if (snapshotContent?.type === "text" && event.delta.type === "text_delta") { + snapshotContent.text += event.delta.text; + } + return snapshot; + } + case "content_block_stop": + return snapshot; + } + }, Symbol.asyncIterator)]() { + const pushQueue = []; + const readQueue = []; + let done = false; + this.on("streamEvent", (event) => { + const reader = readQueue.shift(); + if (reader) { + reader.resolve(event); + } else { + pushQueue.push(event); + } + }); + this.on("end", () => { + done = true; + for (const reader of readQueue) { + reader.resolve(void 0); + } + readQueue.length = 0; + }); + this.on("abort", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + this.on("error", (err) => { + done = true; + for (const reader of readQueue) { + reader.reject(err); + } + readQueue.length = 0; + }); + return { + next: async () => { + if (!pushQueue.length) { + if (done) { + return { value: void 0, done: true }; + } + return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true }); + } + const chunk = pushQueue.shift(); + return { value: chunk, done: false }; + }, + return: async () => { + this.abort(); + return { value: void 0, done: true }; + } + }; + } + toReadableStream() { + const stream4 = new Stream(this[Symbol.asyncIterator].bind(this), this.controller); + return stream4.toReadableStream(); + } +}; + +// node_modules/@anthropic-ai/sdk/resources/messages.mjs +var Messages = class extends APIResource { + create(body, options) { + return this._client.post("/v1/messages", { + body, + timeout: 6e5, + ...options, + stream: body.stream ?? false + }); + } + stream(body, options) { + return MessageStream.createMessage(this, body, options); + } +}; +(function(Messages2) { +})(Messages || (Messages = {})); + +// node_modules/@anthropic-ai/sdk/index.mjs +var _a3; +var Anthropic = class extends APIClient { + constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey: apiKey4 = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) { + const options = { + apiKey: apiKey4, + authToken, + ...opts, + baseURL: baseURL || `https://api.anthropic.com` + }; + super({ + baseURL: options.baseURL, + timeout: options.timeout ?? 6e5, + httpAgent: options.httpAgent, + maxRetries: options.maxRetries, + fetch: options.fetch + }); + this.completions = new Completions(this); + this.messages = new Messages(this); + this._options = options; + this.apiKey = apiKey4; + this.authToken = authToken; + } + defaultQuery() { + return this._options.defaultQuery; + } + defaultHeaders(opts) { + return { + ...super.defaultHeaders(opts), + "anthropic-version": "2023-06-01", + ...this._options.defaultHeaders + }; + } + validateHeaders(headers, customHeaders) { + if (this.apiKey && headers["x-api-key"]) { + return; + } + if (customHeaders["x-api-key"] === null) { + return; + } + if (this.authToken && headers["authorization"]) { + return; + } + if (customHeaders["authorization"] === null) { + return; + } + throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted'); + } + authHeaders(opts) { + const apiKeyAuth = this.apiKeyAuth(opts); + const bearerAuth = this.bearerAuth(opts); + if (apiKeyAuth != null && !isEmptyObj(apiKeyAuth)) { + return apiKeyAuth; + } + if (bearerAuth != null && !isEmptyObj(bearerAuth)) { + return bearerAuth; + } + return {}; + } + apiKeyAuth(opts) { + if (this.apiKey == null) { + return {}; + } + return { "X-Api-Key": this.apiKey }; + } + bearerAuth(opts) { + if (this.authToken == null) { + return {}; + } + return { Authorization: `Bearer ${this.authToken}` }; + } +}; +_a3 = Anthropic; +Anthropic.Anthropic = _a3; +Anthropic.HUMAN_PROMPT = "\n\nHuman:"; +Anthropic.AI_PROMPT = "\n\nAssistant:"; +Anthropic.AnthropicError = AnthropicError; +Anthropic.APIError = APIError; +Anthropic.APIConnectionError = APIConnectionError; +Anthropic.APIConnectionTimeoutError = APIConnectionTimeoutError; +Anthropic.APIUserAbortError = APIUserAbortError; +Anthropic.NotFoundError = NotFoundError; +Anthropic.ConflictError = ConflictError; +Anthropic.RateLimitError = RateLimitError; +Anthropic.BadRequestError = BadRequestError; +Anthropic.AuthenticationError = AuthenticationError; +Anthropic.InternalServerError = InternalServerError; +Anthropic.PermissionDeniedError = PermissionDeniedError; +Anthropic.UnprocessableEntityError = UnprocessableEntityError; +var { HUMAN_PROMPT, AI_PROMPT } = Anthropic; +var { AnthropicError: AnthropicError2, APIError: APIError2, APIConnectionError: APIConnectionError2, APIConnectionTimeoutError: APIConnectionTimeoutError2, APIUserAbortError: APIUserAbortError2, NotFoundError: NotFoundError2, ConflictError: ConflictError2, RateLimitError: RateLimitError2, BadRequestError: BadRequestError2, AuthenticationError: AuthenticationError2, InternalServerError: InternalServerError2, PermissionDeniedError: PermissionDeniedError2, UnprocessableEntityError: UnprocessableEntityError2 } = error_exports; +(function(Anthropic2) { + Anthropic2.toFile = toFile; + Anthropic2.fileFromPath = fileFromPath; + Anthropic2.Completions = Completions; + Anthropic2.Messages = Messages; +})(Anthropic || (Anthropic = {})); +var sdk_default = Anthropic; + +// src/engine/anthropic.ts +var config5 = getConfig(); +var MAX_TOKENS_OUTPUT3 = config5?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var MAX_TOKENS_INPUT3 = config5?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var provider3 = config5?.OCO_AI_PROVIDER; +var apiKey3 = config5?.OCO_ANTHROPIC_API_KEY; +var [command3, mode3] = process.argv.slice(2); +if (provider3 === "anthropic" && !apiKey3 && command3 !== "config" && mode3 !== "set" /* set */) { + ae("opencommit"); + ce( + "OCO_ANTHROPIC_API_KEY is not set, please run `oco config set OCO_ANTHROPIC_API_KEY=<your token> . If you are using Claude, make sure you add payment details, so API works.`" + ); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + process.exit(1); +} +var MODEL3 = config5?.OCO_MODEL; +if (provider3 === "anthropic" && !MODEL_LIST.anthropic.includes(MODEL3) && command3 !== "config" && mode3 !== "set" /* set */) { + ce( + `${source_default.red("\u2716")} Unsupported model ${MODEL3} for Anthropic. Supported models are: ${MODEL_LIST.anthropic.join( + ", " + )}` + ); + process.exit(1); +} +var AnthropicAi = class { + anthropicAiApiConfiguration = { + apiKey: apiKey3 + }; + anthropicAI; + constructor() { + this.anthropicAI = new sdk_default(this.anthropicAiApiConfiguration); + } + generateCommitMessage = async (messages) => { + const systemMessage = messages.find((msg) => msg.role === "system")?.content; + const restMessages = messages.filter((msg) => msg.role !== "system"); + const params = { + model: MODEL3, + system: systemMessage, + messages: restMessages, + temperature: 0, + top_p: 0.1, + max_tokens: MAX_TOKENS_OUTPUT3 + }; + try { + const REQUEST_TOKENS = messages.map((msg) => tokenCount(msg.content) + 4).reduce((a3, b3) => a3 + b3, 0); + if (REQUEST_TOKENS > MAX_TOKENS_INPUT3 - MAX_TOKENS_OUTPUT3) { + throw new Error("TOO_MUCH_TOKENS" /* tooMuchTokens */); + } + const data = await this.anthropicAI.messages.create(params); + const message = data?.content[0].text; + return message; + } catch (error) { + ce(`${source_default.red("\u2716")} ${JSON.stringify(params)}`); + const err = error; + ce(`${source_default.red("\u2716")} ${err?.message || err}`); + if (axios_default.isAxiosError(error) && error.response?.status === 401) { + const anthropicAiError = error.response.data.error; + if (anthropicAiError?.message) + ce(anthropicAiError.message); + ce( + "For help look into README https://github.com/di-sukharev/opencommit#setup" + ); + } + throw err; + } + }; +}; +var anthropicAi = new AnthropicAi(); + +// src/engine/testAi.ts +var TestAi = class { + async generateCommitMessage(messages) { + return "test commit message"; + } +}; +var testAi = new TestAi(); + // src/utils/engine.ts function getEngine() { - const config7 = getConfig(); - const provider = config7?.OCO_AI_PROVIDER; - if (provider?.startsWith("ollama")) { - const model = provider.split("/")[1]; + const config9 = getConfig(); + const provider4 = config9?.OCO_AI_PROVIDER; + if (provider4?.startsWith("ollama")) { + const model = provider4.split("/")[1]; if (model) { ollamaAi.setModel(model); } return ollamaAi; + } else if (config9?.OCO_AI_PROVIDER == "anthropic") { + return anthropicAi; + } else if (config9?.OCO_AI_PROVIDER == "test") { + return testAi; + } else if (config9?.OCO_AI_PROVIDER == "azure") { + return azure; } return api; } // src/modules/commitlint/config.ts -var config4 = getConfig(); -var translation2 = i18n[config4?.OCO_LANGUAGE || "en"]; +var config6 = getConfig(); +var translation2 = i18n[config6?.OCO_LANGUAGE || "en"]; var configureCommitlintIntegration = async (force = false) => { const spin = le(); spin.start("Loading @commitlint configuration"); @@ -27584,19 +58936,19 @@ function removeConventionalCommitWord(message) { } // src/prompts.ts -var config5 = getConfig(); -var translation3 = i18n[config5?.OCO_LANGUAGE || "en"]; +var config7 = getConfig(); +var translation3 = i18n[config7?.OCO_LANGUAGE || "en"]; var IDENTITY = "You are to act as the author of a commit message in git."; var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ - role: import_openai3.ChatCompletionRequestMessageRoleEnum.System, + role: import_openai4.ChatCompletionRequestMessageRoleEnum.System, content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. - ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} - ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} - ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} + ${config7?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} + ${config7?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config7?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { - role: import_openai3.ChatCompletionRequestMessageRoleEnum.User, + role: import_openai4.ChatCompletionRequestMessageRoleEnum.User, content: `diff --git a/src/server.ts b/src/server.ts index ad4db42..f3b18a9 100644 --- a/src/server.ts @@ -27623,13 +58975,13 @@ var INIT_DIFF_PROMPT = { });` }; var INIT_CONSISTENCY_PROMPT = (translation4) => ({ - role: import_openai3.ChatCompletionRequestMessageRoleEnum.Assistant, - content: `${config5?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} -${config5?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} -${config5?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` + role: import_openai4.ChatCompletionRequestMessageRoleEnum.Assistant, + content: `${config7?.OCO_EMOJI ? `\u{1F41B} ${removeConventionalCommitWord(translation4.commitFix)}` : translation4.commitFix} +${config7?.OCO_EMOJI ? `\u2728 ${removeConventionalCommitWord(translation4.commitFeat)}` : translation4.commitFeat} +${config7?.OCO_DESCRIPTION ? translation4.commitDescription : ""}` }); var getMainCommitPrompt = async (fullGitMojiSpec) => { - switch (config5?.OCO_PROMPT_MODULE) { + switch (config7?.OCO_PROMPT_MODULE) { case "@commitlint": if (!await commitlintLLMConfigExists()) { ie( @@ -27674,14 +59026,14 @@ function mergeDiffs(arr, maxStringLength) { } // src/generateCommitMessageFromGitDiff.ts -var config6 = getConfig(); -var MAX_TOKENS_INPUT2 = config6?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; -var MAX_TOKENS_OUTPUT2 = config6?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; +var config8 = getConfig(); +var MAX_TOKENS_INPUT4 = config8?.OCO_TOKENS_MAX_INPUT || 4096 /* DEFAULT_MAX_TOKENS_INPUT */; +var MAX_TOKENS_OUTPUT4 = config8?.OCO_TOKENS_MAX_OUTPUT || 500 /* DEFAULT_MAX_TOKENS_OUTPUT */; var generateCommitMessageChatCompletionPrompt = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const chatContextAsCompletionRequest = [...INIT_MESSAGES_PROMPT]; chatContextAsCompletionRequest.push({ - role: import_openai4.ChatCompletionRequestMessageRoleEnum.User, + role: import_openai5.ChatCompletionRequestMessageRoleEnum.User, content: diff }); return chatContextAsCompletionRequest; @@ -27699,8 +59051,8 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const INIT_MESSAGES_PROMPT = await getMainCommitPrompt(fullGitMojiSpec); const INIT_MESSAGES_PROMPT_LENGTH = INIT_MESSAGES_PROMPT.map( (msg) => tokenCount(msg.content) + 4 - ).reduce((a2, b2) => a2 + b2, 0); - const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT2 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT2; + ).reduce((a3, b3) => a3 + b3, 0); + const MAX_REQUEST_TOKENS = MAX_TOKENS_INPUT4 - ADJUSTMENT_FACTOR - INIT_MESSAGES_PROMPT_LENGTH - MAX_TOKENS_OUTPUT4; if (tokenCount(diff) >= MAX_REQUEST_TOKENS) { const commitMessagePromises = await getCommitMsgsPromisesFromFileDiffs( diff, @@ -27710,11 +59062,14 @@ var generateCommitMessageByDiff = async (diff, fullGitMojiSpec) => { const commitMessages = []; for (const promise of commitMessagePromises) { commitMessages.push(await promise); - await delay(2e3); + await delay3(2e3); } return commitMessages.join("\n\n"); } - const messages = await generateCommitMessageChatCompletionPrompt(diff, fullGitMojiSpec); + const messages = await generateCommitMessageChatCompletionPrompt( + diff, + fullGitMojiSpec + ); const engine = getEngine(); const commitMessage = await engine.generateCommitMessage(messages); if (!commitMessage) @@ -27803,7 +59158,7 @@ var getCommitMsgsPromisesFromFileDiffs = async (diff, maxDiffLength, fullGitMoji } return commitMessagePromises; }; -function delay(ms) { +function delay3(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } @@ -27813,12 +59168,12 @@ function randomIntFromInterval(min, max) { } // src/utils/sleep.ts -function sleep(ms) { +function sleep2(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // src/github-action.ts -var GITHUB_TOKEN = import_core3.default.getInput("GITHUB_TOKEN"); +var GITHUB_TOKEN = import_core5.default.getInput("GITHUB_TOKEN"); var octokit = import_github.default.getOctokit(GITHUB_TOKEN); var context = import_github.default.context; var owner = context.repo.owner; @@ -27849,9 +59204,9 @@ async function improveMessagesInChunks(diffsAndSHAs) { try { const chunkOfImprovedMessages = await Promise.all(chunkOfPromises); const chunkOfImprovedMessagesBySha = chunkOfImprovedMessages.map( - (improvedMsg, i2) => { + (improvedMsg, i3) => { const index = improvedMessagesAndSHAs.length; - const sha = diffsAndSHAs[index + i2].sha; + const sha = diffsAndSHAs[index + i3].sha; return { sha, msg: improvedMsg }; } ); @@ -27860,12 +59215,12 @@ async function improveMessagesInChunks(diffsAndSHAs) { ce( `Improved ${chunkOfPromises.length} messages. Sleeping for ${sleepFor}` ); - await sleep(sleepFor); + await sleep2(sleepFor); } catch (error) { ce(error); const sleepFor = 6e4 + 1e3 * randomIntFromInterval(1, 5); ce(`Retrying after sleeping for ${sleepFor}`); - await sleep(sleepFor); + await sleep2(sleepFor); step -= chunkSize; } } @@ -27902,12 +59257,12 @@ async function improveCommitMessages(commitsToImprove) { console.log("No changes in commit messages detected, skipping rebase"); return; } - const createCommitMessageFile = (message, index) => (0, import_fs2.writeFileSync)(`./commit-${index}.txt`, message); + const createCommitMessageFile = (message, index) => (0, import_fs3.writeFileSync)(`./commit-${index}.txt`, message); improvedMessagesWithSHAs.forEach( - ({ msg }, i2) => createCommitMessageFile(msg, i2) + ({ msg }, i3) => createCommitMessageFile(msg, i3) ); - (0, import_fs2.writeFileSync)(`./count.txt`, "0"); - (0, import_fs2.writeFileSync)( + (0, import_fs3.writeFileSync)(`./count.txt`, "0"); + (0, import_fs3.writeFileSync)( "./rebase-exec.sh", `#!/bin/bash count=$(cat count.txt) @@ -27926,10 +59281,10 @@ async function improveCommitMessages(commitsToImprove) { } } ); - const deleteCommitMessageFile = (index) => (0, import_fs2.unlinkSync)(`./commit-${index}.txt`); - commitsToImprove.forEach((_commit, i2) => deleteCommitMessageFile(i2)); - (0, import_fs2.unlinkSync)("./count.txt"); - (0, import_fs2.unlinkSync)("./rebase-exec.sh"); + const deleteCommitMessageFile = (index) => (0, import_fs3.unlinkSync)(`./commit-${index}.txt`); + commitsToImprove.forEach((_commit, i3) => deleteCommitMessageFile(i3)); + (0, import_fs3.unlinkSync)("./count.txt"); + (0, import_fs3.unlinkSync)("./rebase-exec.sh"); ce("Force pushing non-interactively rebased commits into remote."); await import_exec.default.exec("git", ["status"]); await import_exec.default.exec("git", ["push", `--force`]); @@ -27950,16 +59305,21 @@ async function run() { await improveCommitMessages(commits); } else { ce("Wrong action."); - import_core3.default.error( + import_core5.default.error( `OpenCommit was called on ${import_github.default.context.payload.action}. OpenCommit is supposed to be used on "push" action.` ); } } catch (error) { const err = error?.message || error; - import_core3.default.setFailed(err); + import_core5.default.setFailed(err); } } run(); +/*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse <dead_horse@qq.com> + * MIT Licensed + */ /*! * is-plain-object <https://github.com/jonschlinkert/is-plain-object> * @@ -27978,3 +59338,21 @@ run(); * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ +/*! Based on fetch-blob. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> & David Frank */ +/*! formdata-polyfill. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ +/*! node-domexception. MIT License. Jimmy WΓ€rting <https://jimmy.warting.se/opensource> */ +/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */ +/** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ +/** + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */ diff --git a/package-lock.json b/package-lock.json index 96892ab..679f219 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "opencommit", - "version": "3.0.14", + "version": "3.0.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencommit", - "version": "3.0.14", + "version": "3.0.15", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@azure/openai": "^1.0.0-beta.12", "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", @@ -114,6 +115,126 @@ "node": ">=6.0.0" } }, + "node_modules/@azure-rest/core-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@azure-rest/core-client/-/core-client-1.4.0.tgz", + "integrity": "sha512-ozTDPBVUDR5eOnMIwhggbnVmOrka4fXCs8n8mvUo4WLLc38kki6bAOByDoVZZPz/pZy2jMt2kwfpvy/UjALj6w==", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-rest-pipeline": "^1.5.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.7.2.tgz", + "integrity": "sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.15.2.tgz", + "integrity": "sha512-BmWfpjc/QXc2ipHOh6LbUzp3ONCaa6xzIssTU0DwH9bbYNXJlGUL6tujx5TrbVd/QQknmS+vlQJGrCq2oL1gZA==", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-sse": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/core-sse/-/core-sse-2.1.2.tgz", + "integrity": "sha512-yf+pFIu8yCzXu9RbH2+8kp9vITIKJLHgkLgFNA6hxiDHK3fxeP596cHUj4c8Cm8JlooaUnYdHmF84KCZt3jbmw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.1.2.tgz", + "integrity": "sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.9.0.tgz", + "integrity": "sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.2.tgz", + "integrity": "sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/openai": { + "version": "1.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@azure/openai/-/openai-1.0.0-beta.12.tgz", + "integrity": "sha512-qKblxr6oVa8GsyNzY+/Ub9VmEsPYKhBrUrPaNEQiM+qrxnBPVm9kaeqGFFb/U78Q2zOabmhF9ctYt3xBW0nWnQ==", + "dependencies": { + "@azure-rest/core-client": "^1.1.7", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.13.0", + "@azure/core-sse": "^2.0.0", + "@azure/core-util": "^1.4.0", + "@azure/logger": "^1.0.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@anthropic-ai/sdk": { "version": "0.19.2", "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.19.2.tgz", @@ -737,6 +858,7 @@ }, "node_modules/@clack/prompts/node_modules/is-unicode-supported": { "version": "1.3.0", + "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -2349,6 +2471,17 @@ "node": ">=0.4.0" } }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/agentkeepalive": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", @@ -3285,7 +3418,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -4692,6 +4824,30 @@ "node": ">=8" } }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", diff --git a/package.json b/package.json index 6764a61..f120fa8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencommit", - "version": "3.0.14", + "version": "3.0.15", "description": "Auto-generate impressive commits in 1 second. Killing lame commits with AI πŸ€―πŸ”«", "keywords": [ "git", @@ -77,6 +77,7 @@ "@actions/core": "^1.10.0", "@actions/exec": "^1.1.1", "@actions/github": "^5.1.1", + "@azure/openai": "^1.0.0-beta.12", "@anthropic-ai/sdk": "^0.19.2", "@clack/prompts": "^0.6.1", "@dqbd/tiktoken": "^1.0.2", diff --git a/src/commands/commit.ts b/src/commands/commit.ts index 1727db7..15b12c2 100644 --- a/src/commands/commit.ts +++ b/src/commands/commit.ts @@ -154,6 +154,18 @@ ${chalk.grey('β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”')}` } else outro(`${chalk.gray('βœ–')} process cancelled`); } } + if (!isCommitConfirmedByUser && !isCancel(isCommitConfirmedByUser)) { + const regenerateMessage = await confirm({ + message: 'Do you want to regenerate the message ?' + }); + if (regenerateMessage && !isCancel(isCommitConfirmedByUser)) { + await generateCommitMessageFromGitDiff( + diff, + extraArgs, + fullGitMojiSpec + ) + } + } } catch (error) { commitSpinner.stop('πŸ“ Commit message generated'); diff --git a/src/commands/config.ts b/src/commands/config.ts index 8009a19..49c796b 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -14,6 +14,7 @@ import { getI18nLocal } from '../i18n'; export enum CONFIG_KEYS { OCO_OPENAI_API_KEY = 'OCO_OPENAI_API_KEY', OCO_ANTHROPIC_API_KEY = 'OCO_ANTHROPIC_API_KEY', + OCO_AZURE_API_KEY = 'OCO_AZURE_API_KEY', OCO_TOKENS_MAX_INPUT = 'OCO_TOKENS_MAX_INPUT', OCO_TOKENS_MAX_OUTPUT = 'OCO_TOKENS_MAX_OUTPUT', OCO_OPENAI_BASE_PATH = 'OCO_OPENAI_BASE_PATH', @@ -25,7 +26,8 @@ export enum CONFIG_KEYS { OCO_PROMPT_MODULE = 'OCO_PROMPT_MODULE', OCO_AI_PROVIDER = 'OCO_AI_PROVIDER', OCO_GITPUSH = 'OCO_GITPUSH', - OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT' + OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT', + OCO_AZURE_ENDPOINT = 'OCO_AZURE_ENDPOINT' } export enum CONFIG_MODES { @@ -82,13 +84,23 @@ export const configValidators = { //need api key unless running locally with ollama validateConfig( 'OpenAI API_KEY', - value || config.OCO_ANTHROPIC_API_KEY || config.OCO_AI_PROVIDER.startsWith('ollama') || config.OCO_AI_PROVIDER == 'test', - 'You need to provide an OpenAI/Anthropic API key' + value || config.OCO_ANTHROPIC_API_KEY || config.OCO_AI_PROVIDER.startsWith('ollama') || config.OCO_AZURE_API_KEY || config.OCO_AI_PROVIDER == 'test' , + 'You need to provide an OpenAI/Anthropic/Azure API key' ); validateConfig( CONFIG_KEYS.OCO_OPENAI_API_KEY, - value.startsWith('sk-'), - 'Must start with "sk-"' + value.startsWith('sk-') || config.OCO_AI_PROVIDER != 'openai', + 'Must start with "sk-" for openai provider' + ); + + return value; + }, + + [CONFIG_KEYS.OCO_AZURE_API_KEY](value: any, config: any = {}) { + validateConfig( + 'ANTHROPIC_API_KEY', + value || config.OCO_OPENAI_API_KEY || config.OCO_AZURE_API_KEY || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', + 'You need to provide an OpenAI/Anthropic/Azure API key' ); return value; @@ -98,7 +110,7 @@ export const configValidators = { validateConfig( 'ANTHROPIC_API_KEY', value || config.OCO_OPENAI_API_KEY || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test', - 'You need to provide an OpenAI/Anthropic API key' + 'You need to provide an OpenAI/Anthropic/Azure API key' ); return value; @@ -180,12 +192,19 @@ export const configValidators = { return value; }, - [CONFIG_KEYS.OCO_MODEL](value: any) { + [CONFIG_KEYS.OCO_MODEL](value: any, config: any = {}) { validateConfig( CONFIG_KEYS.OCO_MODEL, - [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value), + [...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value) || config.OCO_AI_PROVIDER == 'azure', `${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'` ); + validateConfig( + CONFIG_KEYS.OCO_MODEL, + typeof value === 'string' && + value.match(/^[a-zA-Z0-9~\-]{1,63}[a-zA-Z0-9]$/) || + config.OCO_AI_PROVIDER != 'azure', + `${value} is not model deployed name.` + ); return value; }, @@ -220,12 +239,13 @@ export const configValidators = { validateConfig( CONFIG_KEYS.OCO_AI_PROVIDER, [ - '', - 'openai', + '', + 'openai', 'anthropic', + 'azure', 'test' ].includes(value) || value.startsWith('ollama'), - `${value} is not supported yet, use 'ollama/{model}' 'anthropic' or 'openai' (default)` + `${value} is not supported yet, use 'ollama/{model}', 'azure', 'anthropic' or 'openai' (default)` ); return value; }, @@ -237,6 +257,15 @@ export const configValidators = { 'Must be true or false' ); + return value; + }, + [CONFIG_KEYS.OCO_AZURE_ENDPOINT](value: any) { + validateConfig( + CONFIG_KEYS.OCO_AZURE_ENDPOINT, + value.includes('openai.azure.com'), + 'Must be in format "https://<resource name>.openai.azure.com/"' + ); + return value; }, }; @@ -259,6 +288,7 @@ export const getConfig = ({ const configFromEnv = { OCO_OPENAI_API_KEY: process.env.OCO_OPENAI_API_KEY, OCO_ANTHROPIC_API_KEY: process.env.OCO_ANTHROPIC_API_KEY, + OCO_AZURE_API_KEY: process.env.OCO_AZURE_API_KEY, OCO_TOKENS_MAX_INPUT: process.env.OCO_TOKENS_MAX_INPUT ? Number(process.env.OCO_TOKENS_MAX_INPUT) : undefined, @@ -275,7 +305,9 @@ export const getConfig = ({ OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || 'conventional-commit', OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || 'openai', OCO_GITPUSH: process.env.OCO_GITPUSH === 'false' ? false : true, - OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === 'true' ? true : false + OCO_ONE_LINE_COMMIT: + process.env.OCO_ONE_LINE_COMMIT === 'true' ? true : false, + OCO_AZURE_ENDPOINT: process.env.OCO_AZURE_ENDPOINT || '', }; const configExists = existsSync(configPath); @@ -300,7 +332,7 @@ export const getConfig = ({ config[configKey] = validValue; } catch (error) { - outro(`Unknown '${configKey}' config option.`); + outro(`Unknown '${configKey}' config option or missing validator.`); outro( `Manually fix the '.env' file or global '~/.opencommit' config file.` ); diff --git a/src/commands/prepare-commit-msg-hook.ts b/src/commands/prepare-commit-msg-hook.ts index 6e3e730..083a147 100644 --- a/src/commands/prepare-commit-msg-hook.ts +++ b/src/commands/prepare-commit-msg-hook.ts @@ -39,9 +39,9 @@ export const prepareCommitMessageHook = async ( const config = getConfig(); - if (!config?.OCO_OPENAI_API_KEY) { + if (!config?.OCO_OPENAI_API_KEY && !config?.OCO_ANTHROPIC_API_KEY && !config?.OCO_AZURE_API_KEY) { throw new Error( - 'No OPEN_AI_API exists. Set your OPEN_AI_API=<key> in ~/.opencommit' + 'No OPEN_AI_API or OCO_ANTHROPIC_API_KEY or OCO_AZURE_API_KEY exists. Set your key in ~/.opencommit' ); } diff --git a/src/engine/azure.ts b/src/engine/azure.ts new file mode 100644 index 0000000..578d2b7 --- /dev/null +++ b/src/engine/azure.ts @@ -0,0 +1,109 @@ +import axios from 'axios'; +import chalk from 'chalk'; +import { execa } from 'execa'; +import { + ChatCompletionRequestMessage, +} from 'openai'; + +import { OpenAIClient, AzureKeyCredential } from '@azure/openai'; + +import { intro, outro } from '@clack/prompts'; + +import { + CONFIG_MODES, + DEFAULT_TOKEN_LIMITS, + getConfig +} from '../commands/config'; +import { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff'; +import { tokenCount } from '../utils/tokenCount'; +import { AiEngine } from './Engine'; + +const config = getConfig(); + +const MAX_TOKENS_OUTPUT = + config?.OCO_TOKENS_MAX_OUTPUT || + DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; +const MAX_TOKENS_INPUT = + config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; +let basePath = config?.OCO_OPENAI_BASE_PATH; +let apiKey = config?.OCO_AZURE_API_KEY; +let apiEndpoint = config?.OCO_AZURE_ENDPOINT; + +const [command, mode] = process.argv.slice(2); + +const provider = config?.OCO_AI_PROVIDER; + +if ( + provider === 'azure' && + !apiKey && + !apiEndpoint && + command !== 'config' && + mode !== CONFIG_MODES.set +) { + intro('opencommit'); + + outro( + 'OCO_AZURE_API_KEY or OCO_AZURE_ENDPOINT are not set, please run `oco config set OCO_AZURE_API_KEY=<your token> . If you are using GPT, make sure you add payment details, so API works.`' + ); + outro( + 'For help look into README https://github.com/di-sukharev/opencommit#setup' + ); + + process.exit(1); +} + +const MODEL = config?.OCO_MODEL || 'gpt-3.5-turbo'; + +class Azure implements AiEngine { + private openAI!: OpenAIClient; + + constructor() { + if (provider === 'azure') { + this.openAI = new OpenAIClient(apiEndpoint, new AzureKeyCredential(apiKey)); + } + } + + public generateCommitMessage = async ( + messages: Array<ChatCompletionRequestMessage> + ): Promise<string | undefined> => { + try { + const REQUEST_TOKENS = messages + .map((msg) => tokenCount(msg.content) + 4) + .reduce((a, b) => a + b, 0); + + if (REQUEST_TOKENS > MAX_TOKENS_INPUT - MAX_TOKENS_OUTPUT) { + throw new Error(GenerateCommitMessageErrorEnum.tooMuchTokens); + } + + const data = await this.openAI.getChatCompletions(MODEL, messages); + + const message = data.choices[0].message; + + if (message?.content === null) { + return undefined; + } + return message?.content; + } catch (error) { + outro(`${chalk.red('βœ–')} ${MODEL}`); + + const err = error as Error; + outro(`${chalk.red('βœ–')} ${err?.message || err}`); + + if ( + axios.isAxiosError<{ error?: { message: string } }>(error) && + error.response?.status === 401 + ) { + const openAiError = error.response.data.error; + + if (openAiError?.message) outro(openAiError.message); + outro( + 'For help look into README https://github.com/di-sukharev/opencommit#setup' + ); + } + + throw err; + } + }; +} + +export const azure = new Azure(); diff --git a/src/engine/ollama.ts b/src/engine/ollama.ts index 2bf7c00..c5f060a 100644 --- a/src/engine/ollama.ts +++ b/src/engine/ollama.ts @@ -20,7 +20,7 @@ export class OllamaAi implements AiEngine { const p = { model, messages, - options: {temperature: 0, top_p: 0.1}, + options: { temperature: 0, top_p: 0.1 }, stream: false }; try { diff --git a/src/generateCommitMessageFromGitDiff.ts b/src/generateCommitMessageFromGitDiff.ts index d953df8..14bd575 100644 --- a/src/generateCommitMessageFromGitDiff.ts +++ b/src/generateCommitMessageFromGitDiff.ts @@ -10,8 +10,11 @@ import { tokenCount } from './utils/tokenCount'; import { getEngine } from './utils/engine'; const config = getConfig(); -const MAX_TOKENS_INPUT = config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; -const MAX_TOKENS_OUTPUT = config?.OCO_TOKENS_MAX_OUTPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; +const MAX_TOKENS_INPUT = + config?.OCO_TOKENS_MAX_INPUT || DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_INPUT; +const MAX_TOKENS_OUTPUT = + config?.OCO_TOKENS_MAX_OUTPUT || + DEFAULT_TOKEN_LIMITS.DEFAULT_MAX_TOKENS_OUTPUT; const generateCommitMessageChatCompletionPrompt = async ( diff: string, @@ -71,9 +74,12 @@ export const generateCommitMessageByDiff = async ( return commitMessages.join('\n\n'); } - const messages = await generateCommitMessageChatCompletionPrompt(diff, fullGitMojiSpec); + const messages = await generateCommitMessageChatCompletionPrompt( + diff, + fullGitMojiSpec + ); - const engine = getEngine() + const engine = getEngine(); const commitMessage = await engine.generateCommitMessage(messages); if (!commitMessage) @@ -112,7 +118,7 @@ function getMessagesPromisesByChangesInFile( } } - const engine = getEngine() + const engine = getEngine(); const commitMsgsFromFileLineDiffs = lineDiffsWithHeader.map( async (lineDiff) => { const messages = await generateCommitMessageChatCompletionPrompt( @@ -194,7 +200,7 @@ export const getCommitMsgsPromisesFromFileDiffs = async ( fullGitMojiSpec ); - const engine = getEngine() + const engine = getEngine(); commitMessagePromises.push(engine.generateCommitMessage(messages)); } } diff --git a/src/modules/commitlint/config.ts b/src/modules/commitlint/config.ts index 2f6b076..0d5a1b8 100644 --- a/src/modules/commitlint/config.ts +++ b/src/modules/commitlint/config.ts @@ -55,7 +55,7 @@ export const configureCommitlintIntegration = async (force = false) => { // consistencyPrompts.map((p) => p.content) // ); - const engine = getEngine() + const engine = getEngine(); let consistency = (await engine.generateCommitMessage(consistencyPrompts)) || '{}'; @@ -64,7 +64,7 @@ export const configureCommitlintIntegration = async (force = false) => { // sometimes consistency is preceded by explanatory text like "Here is your JSON:" consistency = utils.getJSONBlock(consistency); - + // ... remaining might be extra set of "\n" consistency = utils.removeDoubleNewlines(consistency); diff --git a/src/modules/commitlint/utils.ts b/src/modules/commitlint/utils.ts index d46d18b..72c81e4 100644 --- a/src/modules/commitlint/utils.ts +++ b/src/modules/commitlint/utils.ts @@ -18,14 +18,14 @@ export const removeDoubleNewlines = (input: string): string => { export const getJSONBlock = (input: string): string => { const jsonIndex = input.search('```json'); - if(jsonIndex > -1) { + if (jsonIndex > -1) { input = input.slice(jsonIndex + 8); const endJsonIndex = consistency.search('```'); - input = input.slice(0, endJsonIndex); + input = input.slice(0, endJsonIndex); } return input; }; - + export const commitlintLLMConfigExists = async (): Promise<boolean> => { let exists; try { @@ -54,4 +54,4 @@ export const getCommitlintLLMConfig = content.toString() ) as CommitlintLLMConfig; return commitLintLLMConfig; -}; + }; diff --git a/src/prompts.ts b/src/prompts.ts index 74f5913..240941c 100644 --- a/src/prompts.ts +++ b/src/prompts.ts @@ -118,7 +118,7 @@ const INIT_MAIN_PROMPT = ( ${ config?.OCO_ONE_LINE_COMMIT ? 'Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change.' - : "" + : '' } Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); diff --git a/src/utils/engine.ts b/src/utils/engine.ts index bd85119..95261bd 100644 --- a/src/utils/engine.ts +++ b/src/utils/engine.ts @@ -2,6 +2,7 @@ import { AiEngine } from '../engine/Engine'; import { api } from '../engine/openAi'; import { getConfig } from '../commands/config'; import { ollamaAi } from '../engine/ollama'; +import { azure } from '../engine/azure'; import { anthropicAi } from '../engine/anthropic' import { testAi } from '../engine/testAi'; @@ -18,6 +19,8 @@ export function getEngine(): AiEngine { return anthropicAi; } else if (config?.OCO_AI_PROVIDER == 'test') { return testAi; + } else if (config?.OCO_AI_PROVIDER == 'azure') { + return azure; } // open ai gpt by default return api; diff --git a/src/version.ts b/src/version.ts index 2672c77..73dd652 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1,5 +1,5 @@ -import { outro } from "@clack/prompts"; -import { execa } from "execa"; +import { outro } from '@clack/prompts'; +import { execa } from 'execa'; export const getOpenCommitLatestVersion = async (): Promise< string | undefined @@ -11,4 +11,4 @@ export const getOpenCommitLatestVersion = async (): Promise< outro('Error while getting the latest version of opencommit'); return undefined; } -}; \ No newline at end of file +}; diff --git a/test/Dockerfile b/test/Dockerfile index 5b77917..3ea2b41 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -10,10 +10,13 @@ RUN apt-get install -y nodejs RUN git config --global user.email "test@example.com" RUN git config --global user.name "Test User" -COPY . /app WORKDIR /app +COPY package.json /app/ +COPY package-lock.json /app/ RUN ls -la -RUN npm install +RUN npm ci +COPY . /app +RUN ls -la RUN npm run build diff --git a/test/e2e/noChanges.test.ts b/test/e2e/noChanges.test.ts index 031e88b..b50e740 100644 --- a/test/e2e/noChanges.test.ts +++ b/test/e2e/noChanges.test.ts @@ -5,7 +5,6 @@ import { prepareEnvironment } from './utils'; it('cli flow when there are no changes', async () => { const { gitDir, cleanup } = await prepareEnvironment(); - const { findByText } = await render(`OCO_AI_PROVIDER='test' node`, [resolve('./out/cli.cjs')], { cwd: gitDir }); expect(await findByText('No changes detected')).toBeInTheConsole(); diff --git a/test/e2e/oneFile.test.ts b/test/e2e/oneFile.test.ts index aaa69c1..ddfbc10 100644 --- a/test/e2e/oneFile.test.ts +++ b/test/e2e/oneFile.test.ts @@ -10,7 +10,6 @@ it('cli flow to generate commit message for 1 new file (staged)', async () => { await render('git' ,['add index.ts'], { cwd: gitDir }); const { queryByText, findByText, userEvent } = await render(`OCO_AI_PROVIDER='test' node`, [resolve('./out/cli.cjs')], { cwd: gitDir }); - expect(await queryByText('No files are staged')).not.toBeInTheConsole(); expect(await queryByText('Do you want to stage all files and generate commit message?')).not.toBeInTheConsole(); From 312540456abb3fecc7c68256c23fa5853658e782 Mon Sep 17 00:00:00 2001 From: Ignacio Lago <ignacio@ignaciolago.com> Date: Thu, 23 May 2024 16:56:35 +0900 Subject: [PATCH 11/11] feat(cli.ts, commit.ts): add `--yes` flag to skip commit confirmation prompt (#341) docs(README.md): document the `--yes` flag usage in README for user guidance --- README.md | 8 ++++++++ src/cli.ts | 10 ++++++++-- src/commands/commit.ts | 11 +++++++---- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b19b7f9..20671b0 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,14 @@ This is due to limit the number of tokens sent in each request. However, if you oco --fgm ``` +#### Skip Commit Confirmation + +This flag allows users to automatically commit the changes without having to manually confirm the commit message. This is useful for users who want to streamline the commit process and avoid additional steps. To use this flag, you can run the following command: + +``` +oco --yes +``` + ## Configuration ### Local per repo configuration diff --git a/src/cli.ts b/src/cli.ts index 5bd204e..e225a73 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -18,7 +18,13 @@ cli( name: 'opencommit', commands: [configCommand, hookCommand, commitlintConfigCommand], flags: { - fgm: Boolean + fgm: Boolean, + yes: { + type: Boolean, + alias: 'y', + description: 'Skip commit confirmation prompt', + default: false + } }, ignoreArgv: (type) => type === 'unknown-flag' || type === 'argument', help: { description: packageJSON.description } @@ -29,7 +35,7 @@ cli( if (await isHookCalled()) { prepareCommitMessageHook(); } else { - commit(extraArgs, false, flags.fgm); + commit(extraArgs, false, flags.fgm, flags.yes); } }, extraArgs diff --git a/src/commands/commit.ts b/src/commands/commit.ts index 15b12c2..21b1d70 100644 --- a/src/commands/commit.ts +++ b/src/commands/commit.ts @@ -41,7 +41,8 @@ const checkMessageTemplate = (extraArgs: string[]): string | false => { const generateCommitMessageFromGitDiff = async ( diff: string, extraArgs: string[], - fullGitMojiSpec: boolean + fullGitMojiSpec: boolean, + skipCommitConfirmation: boolean ): Promise<void> => { await assertGitRepo(); const commitSpinner = spinner(); @@ -76,7 +77,7 @@ ${commitMessage} ${chalk.grey('β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”')}` ); - const isCommitConfirmedByUser = await confirm({ + const isCommitConfirmedByUser = skipCommitConfirmation || await confirm({ message: 'Confirm the commit message?' }); @@ -178,7 +179,8 @@ ${chalk.grey('β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”')}` export async function commit( extraArgs: string[] = [], isStageAllFlag: Boolean = false, - fullGitMojiSpec: boolean = false + fullGitMojiSpec: boolean = false, + skipCommitConfirmation: boolean = false ) { if (isStageAllFlag) { const changedFiles = await getChangedFiles(); @@ -250,7 +252,8 @@ export async function commit( generateCommitMessageFromGitDiff( await getDiff({ files: stagedFiles }), extraArgs, - fullGitMojiSpec + fullGitMojiSpec, + skipCommitConfirmation ) );